PackageRow* PackageListView::_FindRow(const PackageInfoRef& package, PackageRow* parent) { for (int32 i = CountRows(parent) - 1; i >= 0; i--) { PackageRow* row = dynamic_cast<PackageRow*>(RowAt(i, parent)); if (row != NULL && row->Package() == package) return row; if (CountRows(row) > 0) { // recurse into child rows row = _FindRow(package, row); if (row != NULL) return row; } } return NULL; }
PartitionListRow* PartitionListView::FindRow(partition_id id, PartitionListRow* parent) { for (int32 i = 0; i < CountRows(parent); i++) { PartitionListRow* item = dynamic_cast<PartitionListRow*>(RowAt(i, parent)); if (item != NULL && item->ID() == id) return item; if (CountRows(item) > 0) { // recurse into child rows item = FindRow(id, item); if (item) return item; } } return NULL; }
PackageRow* PackageListView::_FindRow(const BString& packageTitle, PackageRow* parent) { for (int32 i = CountRows(parent) - 1; i >= 0; i--) { PackageRow* row = dynamic_cast<PackageRow*>(RowAt(i, parent)); if (row != NULL && row->Package().Get() != NULL && row->Package()->Title() == packageTitle) { return row; } if (CountRows(row) > 0) { // recurse into child rows row = _FindRow(packageTitle, row); if (row != NULL) return row; } } return NULL; }
void PackageListView::RemovePackage(const PackageInfoRef& package) { PackageRow* packageRow = _FindRow(package); if (packageRow == NULL) return; RemoveRow(packageRow); delete packageRow; fItemCountView->SetItemCount(CountRows()); }
TeamRow* TeamsListView::FindTeamRow(team_id teamId) { for (int32 i = CountRows(); i-- > 0;) { TeamRow* row = dynamic_cast<TeamRow*>(RowAt(i)); if (row == NULL) continue; if (row->TeamID() == teamId) return row; } return NULL; }
int32 PartitionListView::_InsertIndexForOffset(PartitionListRow* parent, off_t offset) const { int32 index = 0; int32 count = CountRows(parent); for (; index < count; index++) { const PartitionListRow* item = dynamic_cast<const PartitionListRow*>(RowAt(index, parent)); if (item && item->Offset() > offset) break; } return index; }
void ListView1::SetAudioCDList() { while (CountRows()>0) RemoveRow(0); while (CountColumns()>0) { BColumn *col=ColumnAt(0); //SetColumnVisible(col, true); RemoveColumn(col);/* switch(col->LogicalFieldNum()) { case FILENAME_FIELD: { ((Application1 *)be_app)->CM->SetInt16(FILENAMECOLUMN_WIDTH, (int16)col->Width()); break; } case SIZE_FIELD: { ((Application1 *)be_app)->CM->SetInt16(SIZECOLUMN_WIDTH, (int16)col->Width()); break; } default: { break; } }*/ delete col; } SetSortingEnabled(false); AddColumn(new BIntegerColumn(_T("Track"), // "TRACKNUMBERCOLUMN_TITLE" 30.0, 30.0, 55.0, B_ALIGN_RIGHT), TRACKNUMBER_FIELD); AddColumn(new BStringColumn(_T("Pause"), // "PREGAPCOLUMN_TITLE" 50.0, 50.0, 50.0,1, B_ALIGN_RIGHT), PREGAP_FIELD); AddColumn(new BStringColumn(_T("File name"), // "TRACKNAMECOLUMN_TITLE" 120.0, 60.0, 900.0,0), TRACKNAME_FIELD); AddColumn(new BStringColumn(_T("Duration"), // "LENGTHCOLUMN_TITLE" 80.0, 70.0, 90.0,0, B_ALIGN_RIGHT), LENGTH_FIELD); AddColumn(new BSizeColumn(_T("Size"), // "BYTESCOLUMN_TITLE" 50.0, 30.0, 70.0,B_ALIGN_RIGHT), BYTES_FIELD); AddColumn(new BStringColumn(_T("Indices"), // "INDEXCOLUMN_TITLE" 120.0, 50.0, 250.0,0), INDEX_FIELD); AddColumn(new BStringColumn(_T("CD text"), // "CDTEXTCOLUMN_TITLE" 120.0, 50.0, 250.0,0), CDTEXT_FIELD); for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), true); } for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), false); } for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), true); } }
void PackageListView::AddPackage(const PackageInfoRef& package) { PackageRow* packageRow = _FindRow(package); // forget about it if this package is already in the listview if (packageRow != NULL) return; BAutolock _(fModelLock); // create the row for this package packageRow = new PackageRow(package, fPackageListener); // add the row, parent may be NULL (add at top level) AddRow(packageRow); // make sure the row is initially expanded ExpandOrCollapse(packageRow, true); fItemCountView->SetItemCount(CountRows()); }
static void BasicPtr(){ ndbout << "Testing array of pointer operations" << endl; // Basic insert DBA_ArrayInsertRows(EmpB, EMP_TABLE_DATA, Rows-2, insertCallback); NdbSleep_SecSleep(1); DBA_BulkReadResultSet_t EmpDataRead[Rows]; for(int i = 0; i<Rows; i++){ EmpDataRead[i].DataPtr = &EMP_TABLE_DATA_READ[i]; } DBA_BulkReadRows(EmpB, EmpDataRead, Rows, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); require(CountRows(EmpDataRead, Rows) == (Rows-2)); // Basic delete DBA_ArrayDeleteRows(EmpB, EMP_TABLE_DATA, Rows-2, deleteCallback); NdbSleep_SecSleep(1); }
static void Multi(){ ndbout << "Testing multi operations" << endl; DBA_ArrayInsertRows(EmpB, EMP_TABLE_DATA, Rows-2, insertCallback); DBA_ArrayInsertRows(AddB, ADD_TABLE_DATA, Rows-2, insertCallback); NdbSleep_SecSleep(1); const int R2 = Rows + Rows; DBA_Binding_t * Bindings[2]; DBA_BulkReadResultSet_t DataRead[R2]; Bindings[0] = EmpB; Bindings[1] = AddB; for(int i = 0; i<Rows; i++) DataRead[i].DataPtr = &EMP_TABLE_DATA_READ[i]; for(int i = 0; i<Rows; i++) DataRead[i+Rows].DataPtr = &ADD_TABLE_DATA_READ[i]; NdbSleep_SecSleep(1); DBA_BulkMultiReadRows(Bindings, DataRead, 2, Rows, readCallback); NdbSleep_SecSleep(1); CompareRows(EMP_TABLE_DATA, Rows-2, EMP_TABLE_DATA_READ); CompareRows(ADD_TABLE_DATA, Rows-2, ADD_TABLE_DATA_READ); require(CountRows(DataRead, R2) == (R2-4)); // Basic delete DBA_ArrayDeleteRows(EmpB, EMP_TABLE_DATA, Rows-2, deleteCallback); DBA_ArrayDeleteRows(AddB, ADD_TABLE_DATA, Rows-2, deleteCallback); NdbSleep_SecSleep(1); }
int32 ListView1::SelectionCount() { return CountRows(); }
void ListView1::ResetTrackNumbers() { for (int i=0; i<CountRows(); i++) { ((AudioRow *)RowAt(i))->SetTrackNumber(i+1); } }
void ListView1::SetDataCDList() { while (CountRows()>0) RemoveRow(0); while (CountColumns()>0) { BColumn *col=ColumnAt(0); //SetColumnVisible(col, true); RemoveColumn(col); /* switch(col->LogicalFieldNum()) { case TRACKNUMBER_FIELD: { ((Application1 *)be_app)->CM->SetInt16(TRACKNUMBERCOLUMN_WIDTH, (int16)col->Width()); break; } case TRACKNAME_FIELD: { ((Application1 *)be_app)->CM->SetInt16(TRACKNAMECOLUMN_WIDTH, (int16)col->Width()); break; } case LENGTH_FIELD: { ((Application1 *)be_app)->CM->SetInt16(LENGTHCOLUMN_WIDTH, (int16)col->Width()); break; } case BYTES_FIELD: { ((Application1 *)be_app)->CM->SetInt16(BYTESCOLUMN_WIDTH, (int16)col->Width()); break; } case INDEX_FIELD: { ((Application1 *)be_app)->CM->SetInt16(INDEXCOLUMN_WIDTH, (int16)col->Width()); break; } case CDTEXT_FIELD: { ((Application1 *)be_app)->CM->SetInt16(CDTEXTCOLUMN_WIDTH, (int16)col->Width()); break; } default: { break; } } */ delete col; } SetSortingEnabled(true); AddColumn(new BBitmapColumn(_T("Icon"), // "FILEICONCOLUMN_TITLE" 18.0,18.0,18.0, B_ALIGN_CENTER), ICON_FIELD); AddColumn(new BFileColumn(_T("File name"), // "FILENAMECOLUMN_TITLE" 200.0, 60.0, 900.0,0), FILENAME_FIELD); AddColumn(new BSizeColumn(_T("Size"), // "SIZECOLUMN_TITLE" 50.0, 20.0, 120.0,B_ALIGN_RIGHT), SIZE_FIELD); ColumnAt(FILENAME_FIELD)->SetEditFlags(B_EDIT_EXIT_RETURN); ColumnAt(FILENAME_FIELD)->SetColumnFlags(ColumnAt(FILENAME_FIELD)->GetColumnFlags() | B_ALLOW_COLUMN_EDIT); ColumnAt(ICON_FIELD)->SetColumnFlags(B_ALLOW_COLUMN_NONE); ColumnAt(ICON_FIELD)->SetShowHeading(false); SetSortColumn(ColumnAt(FILENAME_FIELD), false, true); for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), true); } for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), false); } for (int32 i=0; i<CountColumns(); i++) { SetColumnVisible(ColumnAt(i), true); } }