Accounting Software
Small Business Software Estimating Software
Time Tracking SoftwareTime Management SoftwareTime Billing SoftwareContact Management SoftwareCustomer Management SoftwareProject Management SoftwareBusiness Management Software

Text List Tables (Header)

Link to: source code | tables directory

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

This class manages text list tables for the Goldenseal accounting software,
small business management software, construction project management software and
construction accounting software.

class CTextListTable : public CTCS_Table
{
public:

enum { class_ID = 'TXLT' };
CTextListTable(LStream *inStream);
CTextListTable(const SPaneInfo & inPaneInfo,
const SViewInfo & inViewInfo,
const CTCS_TextInfo & inTextInfo,
const Boolean inSysHilite = true,
const Boolean inCanRearrange = false);
virtual ~CTextListTable();

// Row & column maintenance
virtual void InsertRows(const TableIndexT howMany, const Boolean redraw = true);
virtual void RemoveRows(const TableIndexT howMany, const Boolean redraw = true);
void SetListItems(const TNameIDArray &itemArray);
void AppendItem(const CTextString & inText, const SInt32 inID = 0);
void AppendClassName(const SInt32 inID, const Boolean allItems = false);
void DeleteItem(const TableIndexT inRow,
const Boolean inRedraw = true);
virtual void HandleCellDrag(const TableCellT & sourceCell,
const TableCellT & targetCell);

virtual void DisableRow(const TableIndexT &inRow);
// Cell data accessors
virtual CTextString GetCellText(const TableIndexT row, const TableIndexT col) const;
virtual Boolean SetCellText(const TableIndexT row, const TableIndexT col,
const CTextString & cellText,
const Boolean redraw = true);
virtual CTextString GetSelectedCellText() const;
SInt32 GetSelectedCellID() const;
SInt32 GetCellID(const TableIndexT row, const TableIndexT col = 1) const;
void SetCellID(const TableIndexT row, const TableIndexT col, const SInt32 inID);

virtual TableIndexT GetRowFromID(const TagType inCellID);

virtual void GetCellTextInfo(const TableCellT & inCell,
CTCS_TextInfo *outTextInfo) const;
virtual void SetCellTextInfo(const TableCellT & inCell,
const CTCS_TextInfo & inTextInfo);
Boolean GetCellEnabled(const TableCellT & inCell) const;
void SetCellEnabled(const TableCellT & inCell,
const Boolean inEnabled);
// Cell selection methods
virtual void SelectCell(const TableCellT &inCell, const Boolean redraw = true,
const Boolean sendMessages = true);
virtual Boolean SelectCellID(const SInt32 inCellID, const Boolean redraw = true);
// Sorting
virtual void SortRows(const Boolean inRefresh = true, const Boolean clearFormat = false);
// CTextListTable options accessors
inline Boolean GetUseSystemHilite() const
{
return mUseSystemHilite;
}
inline void SetUseSystemHilite(const Boolean inUseSysHilite)
{
mUseSystemHilite = inUseSysHilite;
}

virtual void DrawSelf();
virtual void DrawWhiteArea();
protected:
virtual void HiliteCell(const TableCellT &inCell, const Boolean hiliting = true);
//void RectifySelectionPosition(const Boolean redraw);
TNameIDArray mListItems;
TCellFormatInfoArray mCellInfo;
Boolean mUseSystemHilite;
};