Accounting Software
Small Business Software Estimating Software
Inventory SoftwareInventory Control SoftwareInventory Tracking SoftwareInventory Management SoftwareConstruction Management SoftwareProject Management SoftwareBusiness Management Software

Account Name Arrays (Header)

Link to: source code | other data directory

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

This class manages account names for the Goldenseal job cost accounting software,
project management software and construction project estimating software.

class DB_AccountNameArrayOwner : public DB_DescribedPersistent
{
public:

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

DB_AccountNameArrayOwner();

virtual ~DB_AccountNameArrayOwner() {}

virtual DBid GetDBClassID(void) const { return id_AccountNameArrayOwner; }

virtual void CopyFrom(DB_PersistentObject */*source*/, const UInt8 /*copyFlags*/) {}

virtual NeoSize GetFileLength(const CNeoFormat *aFormat) const;

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

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

static void FillMasterNameArray(const DBid colID, TAccountNameArray *nameArray,
const UInt8 sortMethod, const Boolean reverseSort); // TCS 8/2/02
static void FillIconNameArray(const DBid colID, TIconNameArray *iconArray,
const UInt8 sortMethod, const Boolean reverseSort); // TCS 6/24/02
static void FillNameArray(const DBLongClass classID, TAccountNameArray *nameArray,
const UInt8 sortMethod, const Boolean reverseSort,
const SInt32 paneID = 0); // TCS 6/25/02
static void SortIconArray(const PaneIDT colID, TArray<LPane*> &iconArray, const UInt8 sortMethod,
const Boolean reverseSort);

TAccountNameArray GetAccountNameArray() { return mAccountNameArray; }
Boolean GetAccountNameArray(TAccountNameArray *array);
Boolean GetNameArray(TNameIDArray *array, const Boolean forPopup = false);
Boolean GetIDArray(TObjectIDArray &array);

Boolean AddToArray(const DB_PersistentObject *object, const Boolean sortArray = true);
void RemoveFromArray(const DB_PersistentObject *object);
void RemoveObjectByID(const DBid id);
void HandleObjectChanged(const DB_PersistentObject *object,
const Boolean doSort = true);
void HandleStatusChanged(const DB_PersistentObject *object);

SInt32 FindItemByID(const DBid compareID);
// DBid GetIDFromName(const CTextString *text);

SInt32 GetRecordCount(const UInt8 recordRange, TObjectIDArray &foundArray) const;
TObjectIDArray GetRangeIDArray(const UInt8 recordRange, TObjectIDArray &foundArray) const;

TObjectIDArray GetActiveObjectArray(const Boolean includeIncomplete);
TObjectIDArray GetStatusIDArray(const UInt8 status, const Boolean oneStatusOnly = false) const;

SInt32 GetNameArrayCount() const { return mAccountNameArray.GetCount(); } // TCS 10/16/00

DBid FetchObjectWithName(const CTextString &matchName, const DBid skipID = 0); // TCS 7/25/01

void ClearArray(); // TCS 8/13/01
void SortMenuArray(); // TCS 12/20/02

void FillNameArray(TAccountNameArray *nameArray, const UInt8 sortMethod,
const Boolean reverseSort, const SInt32 paneID); // TCS 6/25/02

Boolean FindListMatches(CTCS_Array &selectorArray, TObjectIDArray &matchArray, // TCS 12/18/02
const Boolean matchAny);
Boolean FillListMatches(DB_MemberSelector *selector, TObjectIDArray &matchArray,
const Boolean matchAny, UInt8 &matchCount);

virtual void FillDataReport(CTCS_Table *table, CNeoStream *stream) const;

virtual void SetEndSafetyTag() { mEndSafetyTag = tag_endsafetytag; }
private:
// array member
TAccountNameArray mAccountNameArray;

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

enum
{
cCopyFileLength = 0,

cFileLength = cCopyFileLength +
sizeof(TagType)
};
};