本文整理汇总了C++中BGridLayout::SetMaxRowHeight方法的典型用法代码示例。如果您正苦于以下问题:C++ BGridLayout::SetMaxRowHeight方法的具体用法?C++ BGridLayout::SetMaxRowHeight怎么用?C++ BGridLayout::SetMaxRowHeight使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BGridLayout
的用法示例。
在下文中一共展示了BGridLayout::SetMaxRowHeight方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: BMessage
//.........这里部分代码省略.........
}
else
{
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
BGridLayout* layout = new BGridLayout( B_VERTICAL );
if ( !layout ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
MainView->SetLayout( layout );
layout->SetInsets( 0, 0, 0, 5 );
layout->SetSpacing( 0, 2 );
menuBar = CreateMenuBar();
layout->AddView( menuBar, 0, 0 );
BTabView* tabView = new BTabView( Bounds().InsetBySelf( 5, 30 ),
"Tab view" );
if ( !tabView ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
BLayoutItem* layoutItem = layout->AddView( tabView, 0, 1 );
if ( layoutItem ) {
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_USE_FULL_WIDTH, B_ALIGN_USE_FULL_HEIGHT ) );
}
BRect individualTab = tabView->Bounds();
individualTab.bottom -= ( tabView->TabHeight() + 20 + menuBar->Bounds().Height() );
// Enable firing the activity in any case
fData.SetEventActivityFired( false );
// General view
genView = new EventEditor_GeneralView( individualTab, &fData );
if ( !genView || genView->InitCheck() != B_OK ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
BTab* tab = new BTab();
tabView->AddTab( genView, tab );
tab->SetLabel( "General" );
// Reminder view
remView = new EventEditor_ReminderView( individualTab, &fData );
if ( !remView || remView->InitCheck() != B_OK ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
tab = new BTab();
tabView->AddTab( remView, tab );
tab->SetLabel( "Reminder" );
// Event activity
actView = new ActivityView( individualTab.InsetByCopy( 5, 5 ), "Event activity", fData.GetEventActivity() );
if ( !actView || actView->InitCheck() != B_OK ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
tab = new BTab();
tabView->AddTab( actView, tab );
tab->SetLabel( "Activity" );
// Note view
noteView = new EventEditor_NoteView( individualTab.InsetByCopy( 5, 5 ), &fData );
if ( !noteView || noteView->InitCheck() != B_OK ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
tab = new BTab();
tabView->AddTab( noteView, tab );
tab->SetLabel( "Note" );
menuBar->SetTargetForItems( this );
// Save button
saveAndClose = new BButton( BRect( 0, 0, 1, 1 ),
"Save",
"Save",
new BMessage( kFileSave ) );
if ( !saveAndClose ) {
global_toReturn = B_NO_MEMORY;
be_app->PostMessage( B_QUIT_REQUESTED );
}
BLayoutItem* layoutItem2 = layout->AddView( saveAndClose, 0, 2 );
if ( layoutItem ) {
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_RIGHT, B_ALIGN_BOTTOM ) );
}
saveAndClose->SetTarget( this );
layout->SetMaxRowHeight( 1, 520 );
layout->SetMinRowHeight( 2, 25 );
// Refresh view
InvalidateLayout();
MainView->Invalidate();
} // <-- end of UI initialization for MainWindow
示例2: DebuggerPrintout
//.........这里部分代码省略.........
BBox* enclosingBox = new BBox( frame, "Weekend selector" );
if ( !enclosingBox )
{
/* Panic! */
exit(1);
}
enclosingBox->SetLabel( "Select the non-working days (weekends)" );
// Prepare the layout to be used
BGridLayout* layout = new BGridLayout();
if ( !layout)
{
/* Panic! */
exit(1);
}
enclosingBox->SetLayout( layout );
layout->SetInsets( 10, 15, 10, 5 );
layout->SetVerticalSpacing( 1 );
/* indexX is 0 for left column or 1 for right column.
* indexY is 0 for topmost row, 1 for second from top row, etc.
* Max value for indexY = (ceiling of (N/2)).
*/
int indexX = 0, indexY = 0;
for (uint32 day = prefs->GetFirstDayOfWeek(), i = 0; i < ( uint32 )daysInWeek; ++i )
{
/* Creating the message to be sent */
toSend = new BMessage( kCalendarModuleWeekendDaySelected );
if ( !toSend )
{
/* Panic! */
exit(1);
}
toSend->AddInt32( "Weekday const", day );
toSend->AddString( "Calendar module", id );
/* Set the name of the checkbox.
* This is used to identify if the checkbox was checked or unchecked.
*/
tempString.SetTo( "Weekday" );
tempString << day;
/* Creating the checkbox */
dayCheckBox = new BCheckBox( BRect(0, 0, 1, 1),
tempString.String(),
weekdayNames[ day ].longName.String(),
toSend );
if (!dayCheckBox)
{
// Panic!
exit(1);
}
dayCheckBox->ResizeToPreferred();
// Check if the checkbox should be checked
if ( weekends->HasItem( ( void* )day ) ) {
dayCheckBox->SetValue( 1 );
} else {
dayCheckBox->SetValue( 0 );
}
/* Adding the item to the BBox */
layoutItem = layout->AddView( dayCheckBox, indexX, indexY );
if ( layoutItem )
{
layoutItem->SetExplicitAlignment( BAlignment( B_ALIGN_LEFT, B_ALIGN_TOP ) );
// layoutItem->SetExplicitMaxSize( BSize( (int )dayCheckBox->Bounds().Width(), (int )dayCheckBox->Bounds().Height() ) );
layout->SetMaxRowHeight( indexY, (int )dayCheckBox->Bounds().Height() + 10 );
layout->SetRowWeight( indexY, 0 );
}
/* Advancing to the next cell in grid */
// If arrived to the last item in the first column, advancing to second
// The +1 is needed because i starts from 0, but days are starting from 1
if ( ( i + 1 ) == ( unsigned int )( ( daysInWeek + 1 ) / 2 ) )
{
indexX = 1;
indexY = 0;
}
else // Staying in the same column, but advancing down
{
++indexY;
}
/* Advancing to the next day */
( day == daysInWeek ) ? day = kSunday : ++day;
} // <-- end of "for (all days in week)"
// Resizing the BBox to the correct size.
// Note: dayCheckBox is surely not NULL; if it were, we would exit earlier.
height =(int )( ( dayCheckBox->Bounds().Height() + 5 ) * ( int )( ( daysInWeek + 1 ) / 2 ) - 5 );
// Formula: ( ^height of one checkbox^ + ^separator^ ) * ( ^number of days in column^ ) - ^one unneeded extra separator^
enclosingBox->ResizeTo( enclosingBox->Bounds().Width() - 10, ( int )height );
// layout->SetExplicitMaxSize( BSize( enclosingBox->Bounds().Width() - 5, ( int )height + 25 ) );
return enclosingBox;
}