Exemple #1
0
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;
}
Exemple #3
0
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;
}
Exemple #4
0
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;
}
Exemple #7
0
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);
	}
}
Exemple #8
0
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);
}
Exemple #11
0
int32 ListView1::SelectionCount() {
	return CountRows();
}
Exemple #12
0
void ListView1::ResetTrackNumbers() {
	for (int i=0; i<CountRows(); i++) {
		((AudioRow *)RowAt(i))->SetTrackNumber(i+1);
	}
}
Exemple #13
0
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);
	}
}