Link to: source
cpde | source 2 | source 3 | tables
directory
Copyright Turtle Creek Software 1996-2006. All Rights Reserved.
This class manages cost breakdown tables for the
Goldenseal estimating software,
small business management software, construction
project management software and
construction estimating software.
/***********************************************************************************
CCostBreakdownTable
***********************************************************************************/
class CCostBreakdownTable : public CBreakdownTable
{
public:
enum { class_ID = 'IBTB' };
CCostBreakdownTable(const SPaneInfo &inPaneInfo, const SViewInfo &inViewInfo,
DB_ClassDescriptor *desc);
virtual ~CCostBreakdownTable() {}
virtual Boolean NeedsRowRecalc(const TagType tag) { return tag != tag_taxable; } // TCS 8/14/01
virtual CMoney RecalcBreakdownRow(const TableIndexT row, const TagType changedCol);
virtual CMoney RecalcCostBreakdownRow(const TableIndexT row, const TagType changedCol,
const Boolean fromUpdateButton = false);
virtual CMoney RecalcHoursBreakdownRow(const TableIndexT row, const TagType changedCol);
virtual CMoney GetTaxableAmount();
virtual UInt8 GetCostArea(const TableIndexT row) const;
virtual void UpdateItemDetails(const TableIndexT row);
virtual void ResetCostItem(const TableIndexT row, const SInt32 oldValue, const SInt32 newValue);
virtual SInt32 GetColType(const TableIndexT row, const TableIndexT col) const;
virtual TagType GetAmountTestTag() const { return tag_quantity; } // changed TCS 8/23/99, 1/6/00
virtual TagType GetNameTestTag() const { return tag_costitem; }
virtual TagType GetFirstDataTag() const { return tag_costarea; } // TCS 12/12/01
virtual CMoney GetHardCostTotal();
virtual CMoney GetLaborTotal();
virtual CMoney GetMaterialTotal();
virtual CMoney GetSubcontractorTotal();
virtual Boolean IsMixedCV(const TableIndexT row,
const TableIndexT col) const;
virtual Boolean RowUsesObjectID(const TableIndexT /*row*/) const { return false; }
virtual Boolean RowUsesPercent(const TableIndexT /*row*/) const;
virtual void SetRowUsesVariableCost(const TableIndexT /*row*/, const Boolean /*inValue*/) {}
virtual void FillNewRowCells(const TableIndexT row);
virtual Boolean HasCostItem(const UInt8 costType) const;
//virtual Boolean AppendTaxText() const { return mAppendTaxText; }
virtual Boolean IsOnSale() { return mOnSale; }
virtual void PutOnSale(const Boolean inValue = true) { mOnSale = inValue; }
virtual TableIndexT GetAmountCol();
virtual UInt8 GetFieldType(const TableIndexT row, const TableIndexT col) const;
virtual CMoney GetHourlyRate() { return mHourlyRate; }
virtual void SetHourlyRate(const CMoney &inRate) { mHourlyRate = inRate; }
virtual void RecalculateRows();
virtual TagType GetDetailIDTag() const { return tag_costitem; }
virtual UInt8 GetDetailTransactionClass(const TableIndexT row) const;
virtual void SetTableCustomerDiscount(const DBid inValue) { mCustDiscount = inValue; } // BD 6/13/00
virtual DBid GetTableCustomerDiscount() const { return mCustDiscount; }
virtual Boolean CostItemIsSoftCost(const TableIndexT row) const;
virtual Boolean CostItemIsUnlisted(const TableIndexT row) const;
virtual Boolean CostItemIsUnitCost(const TableIndexT row) const;
virtual void FinishRowFill(const TableIndexT row);
virtual CMoney FillSuggestedQuantity(const TableIndexT /*row*/, DB_PersistentObject */*costItem*/)
{ return 0; }
virtual void HandleCellTextChanged(const TableIndexT row, const TableIndexT col,
const Boolean sendMessage = true);
virtual CMoney GetRowWorkHours(const TableIndexT row) const;
virtual CMoney GetRowCrewSize(const TableIndexT row) const;
virtual CDate GetRowEndDate(const TableIndexT row) const;
virtual void UpdateAllPrices() {}
virtual void RecalcScheduleRow(const TableIndexT row, const TagType changedCol);
virtual void SetWorkingHours(const DBid inID) { mWorkingHours = inID; }
virtual DBid GetWorkingHours() const { return mWorkingHours; }
virtual CDate UpdateSchedule(const CDate startDate, const TableIndexT startRow = 1);
virtual void RecalcAllPercentRows();
virtual void RecalcPercentRow(const TableIndexT row, const TableIndexT amountCol);
virtual void SetAdjustPercent(const CMoney inValue) { mAdjustPercent = inValue; }
virtual void SetStartDate(const CDate inDate) { mStartDate = inDate; }
virtual void SetFinishDate(const CDate inDate) { mFinishDate = inDate; }
virtual CDate GetFinishDate() const { return mFinishDate; }
virtual void ExportSchedule(CTextOutputStream &stream);
protected:
CMoney mHourlyRate,
mAdjustPercent; // TCS 1/22/04
DBid mCustDiscount, // added BD 6/13/00
mWorkingHours; // TCS 5/24/02
UInt8 mOnSale:1,
mCostTableFiller:7;
CDate mStartDate, // TCS 8/13/02
mFinishDate; // TCS 11/5/02
}; |