Accounting Software
Small Business Software Estimating Software
Construction Estimating SoftwareBookkeeping SoftwareInventory SoftwareInventory Control SoftwareInventory Tracking SoftwareInventory Management SoftwareBusiness Management Software

Payroll Packages (Source Code)

Link to: header | record viewer directory

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

Comments

CPackageViewer

This class manages payroll packages for the Goldenseal accounting software,
payroll software and small business management software.

a viewer for packages (a checklist of specific items) used for payroll and contract writing

SUPERCLASS = DB_RecordViewer

***********

Payroll Software packages:
CBenefitPackageViewer a viewer for benefit packages (including specific benefit items)
CTaxPackageViewer a viewer for tax packages (including specific tax items)
CVacationPackageViewer a viewer for vacation packages (including specific vacation items)

Contract Writing package:
CContractPackageViewer a viewer for contract packages (including contract clauses)

Constructor

/*********************************************************************************
constructor
*********************************************************************************/
CPackageViewer::CPackageViewer(const SPaneInfo &inPaneInfo,
const SViewInfo &inViewInfo)
: DB_RecordViewer(inPaneInfo, inViewInfo)
{
}

Source Code

/*********************************************************************************

FillMemberTableFromObject TCS 11/19/98

fill values into a member table. We override since we fill in the table on
our own instead of having DB_ArrayOwner do it

*********************************************************************************/
void CPackageViewer::FillMemberTableFromObject(DB_PersistentObject */*object*/,
SMemberFieldInfo &/*fieldInfo*/)
{
}
/*********************************************************************************

FinishUpdatingFields split TCS 4/17/00

Finish prep work after updating fields from an object, but before displaying them

*********************************************************************************/
void CPackageViewer::FinishUpdatingFields(const UInt8 creationMethod,
DB_PersistentObject *viewerObject)
{
// the superclass handles basic field updating
THE_SUPERCLASS::FinishUpdatingFields(creationMethod, viewerObject);

FillPackageTable(viewerObject);
}
/*********************************************************************************

FillPackageTable split TCS 7/22/02

Fill values into the table

*********************************************************************************/
void CPackageViewer::FillPackageTable(DB_PersistentObject *viewerObject)
{
if (viewerObject)
{
// set up the current package
CPackage *package = TCS_SAFE_CAST(viewerObject, CPackage);

// set up the table
CMemberTable *table =
TCS_SAFE_CAST(FindPaneByID(GetTableID()), CMemberTable);

// sanity check
TCS_FailNILMsg(package, TCS_GetErrString(errID_BadObject));
TCS_FailNILMsg(table, TCS_GetErrString(errID_BadTable));
TCS_FailNILMsg(gDBFile, TCS_GetErrString(errID_BadFile));

// erase any items currently in the table
table->MakeEmptyTable();

// all prep done. Now let's add the list of tax items
// we now generate from the name array, and alphabetize rev TCS 5/9/02
TNameIDArray nameArray = DB_ListManager::GetNameIDArray(GetListClass(), cSortArray);
TNameIDArrayIterator iterator(nameArray);
SNameIDInfo info;
TableIndexT row;
TableCellT cell;
COL(cell) = CPackage::col_checkmark;

table->SetNumRows(nameArray.GetCount());

while (iterator.Next(info))
{
row = iterator.GetCurrentIndex();

// fill in text name
table->SetCellText(row, CPackage::col_itemname, info.itemName, cDontRedraw);
table->SetCellText(row, CPackage::col_id, info.id, cDontRedraw);

ROW(cell) = row;
table->SetChecked(cell, package->ContainsItem(info.id), cDontRedraw);
}
}
}
#if CAN_USE_MARK
#pragma mark -
#endif
/*********************************************************************************

HandleDBButtonClicked TCS 7/22/02

a button in the layout was clicked.

*********************************************************************************/
void CBenefitPackageViewer::HandleDBButtonClicked(const TagType btnID)
{
switch (btnID)
{
case button_items:
CListEditor::ShowModalListEditor(id_BenefitItem, gDocument);
FillPackageTable(mCurrViewerObject);
break;

default:
THE_SUPERCLASS::HandleDBButtonClicked(btnID);
}
}
/*********************************************************************************

HandleDBButtonClicked TCS 7/22/02

a button in the layout was clicked.

*********************************************************************************/
void CTaxPackageViewer::HandleDBButtonClicked(const TagType btnID)
{
switch (btnID)
{
case button_items:
CListEditor::ShowModalListEditor(id_TaxItem, gDocument);
FillPackageTable(mCurrViewerObject);
break;

default:
THE_SUPERCLASS::HandleDBButtonClicked(btnID);
}
}
/*********************************************************************************

HandleDBButtonClicked TCS 7/22/02

a button in the layout was clicked.

*********************************************************************************/
void CVacationPackageViewer::HandleDBButtonClicked(const TagType btnID)
{
switch (btnID)
{
case button_items:
CListEditor::ShowModalListEditor(id_VacationItem, gDocument);
FillPackageTable(mCurrViewerObject);
break;

default:
THE_SUPERCLASS::HandleDBButtonClicked(btnID);
}
}
/*********************************************************************************

HandleDBButtonClicked TCS 7/22/02

a button in the layout was clicked.

*********************************************************************************/
void CContractPackageViewer::HandleDBButtonClicked(const TagType btnID)
{
switch (btnID)
{
case button_items:
CListEditor::ShowModalListEditor(id_ContractClause, gDocument);
FillPackageTable(mCurrViewerObject);
break;

default:
THE_SUPERCLASS::HandleDBButtonClicked(btnID);
}
}
/*********************************************************************************

HandleDBButtonClicked TCS 7/22/02

a button in the layout was clicked.

*********************************************************************************/
void CLocationPackageViewer::HandleDBButtonClicked(const TagType btnID)
{
switch (btnID)
{
case button_items:
CListEditor::ShowModalListEditor(id_Location, gDocument);
FillPackageTable(mCurrViewerObject);
break;

default:
THE_SUPERCLASS::HandleDBButtonClicked(btnID);
}
}