本文整理汇总了C++中BGridLayout::CountRows方法的典型用法代码示例。如果您正苦于以下问题:C++ BGridLayout::CountRows方法的具体用法?C++ BGridLayout::CountRows怎么用?C++ BGridLayout::CountRows使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BGridLayout
的用法示例。
在下文中一共展示了BGridLayout::CountRows方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
PartitionsPage::PageCompleted()
{
BGridLayout* layout = (BGridLayout*)fPartitions->GetLayout();
int32 index = 0;
for (int32 row = 0; row < layout->CountRows(); row += 3, index++) {
BCheckBox* showBox
= dynamic_cast<BCheckBox*>(layout->ItemAt(0, row)->View());
BTextControl* nameControl
= dynamic_cast<BTextControl*>(layout->ItemAt(1, row)->View());
if (nameControl == NULL || showBox == NULL)
debugger("partitions page is broken");
BMessage partition;
if (fSettings->FindMessage("partition", index, &partition) != B_OK)
continue;
partition.ReplaceBool("show", showBox->Value() != 0);
partition.ReplaceString("name", nameControl->Text());
fSettings->ReplaceMessage("partition", index, &partition);
}
}
示例2: r
//.........这里部分代码省略.........
layoutItem->SetExplicitMinSize( BSize( ( B_V_SCROLL_BAR_WIDTH * 2 ), r.Height() ) );
gridLayout->SetMaxColumnWidth( 0, r.Width()-70 );
gridLayout->SetMaxColumnWidth( 1, r.Width()-66 );
// Add categories to the list
PopulateCategoriesView();
/* Creating the buttons */
// Add new category button
toSend = new BMessage( kAddNewCategory );
addButton = new BButton( BRect( 0, 0, 1, 1),
"Add category",
"Add category",
toSend,
B_FOLLOW_H_CENTER | B_FOLLOW_V_CENTER );
if ( !toSend || !addButton ) {
/* Panic! */
exit( 1 );
}
addButton->ResizeToPreferred();
addButton->SetTarget( this );
layoutItem = gridLayout->AddView( addButton, 1, 0, 1, 1 );
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_HORIZONTAL_CENTER, B_ALIGN_VERTICAL_CENTER ) );
// Edit old category button
toSend = new BMessage( kCategoryInvoked );
editButton = new BButton( BRect( 0, 0, 1, 1),
"Edit category",
"Edit category",
toSend,
B_FOLLOW_H_CENTER | B_FOLLOW_V_CENTER );
if ( !toSend || !editButton ) {
/* Panic! */
exit( 1 );
}
editButton->ResizeToPreferred();
editButton->SetTarget( this );
layoutItem = gridLayout->AddView( editButton, 1, 1, 1, 1 );
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_HORIZONTAL_CENTER, B_ALIGN_VERTICAL_CENTER ) );
// Edit category button is disabled by default;
// it's enabled when user chooses a category in the list.
editButton->SetEnabled( false );
/* Creating the menu of merging a category */
// Create a label
BGroupLayout* groupLayout = new BGroupLayout( B_VERTICAL );
if ( !groupLayout )
{
/* Panic! */
exit( 1 );
}
gridLayout->AddItem( groupLayout, 1, 2, 1, 1 );
groupLayout->SetExplicitAlignment( BAlignment( B_ALIGN_LEFT, B_ALIGN_TOP ) );
mergeToLabel = new BStringView( BRect( 0, 0, 1, 1 ),
"Merge to label",
"Merge selected category into:" );
if ( !mergeToLabel ) {
/* Panic! */
exit( 1 );
}
mergeToLabel->ResizeToPreferred();
layoutItem = groupLayout->AddView( mergeToLabel );
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_LEFT, B_ALIGN_TOP ) );
// Create the menu
BMessage templateMessage( kMergeIntoCategory );
listMenu = new CategoryMenu( "Select category to merge to:", true, &templateMessage );
if ( !listMenu )
{
/* Panic! */
exit( 1 );
}
menuField = new BMenuField( mergeToLabel->Bounds(),
"Merge to field",
NULL,
listMenu );
if ( !menuField ) {
/* Panic! */
exit( 1 );
}
menuField->SetDivider( 0 );
// Just like the "Edit" button above, the menu is initially disabled.
menuField->SetEnabled( false );
layoutItem = groupLayout->AddView( menuField );
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_USE_FULL_WIDTH, B_ALIGN_TOP ) );
for ( int index = 0; index < gridLayout->CountColumns(); ++index )
{
gridLayout->SetColumnWeight( index, 1 );
}
for ( int index = 0; index < gridLayout->CountRows(); ++index )
{
gridLayout->SetRowWeight( index, 1 );
}
gridLayout->InvalidateLayout();
} // <-- end of constructor of CategoryPreferencesView