本文整理汇总了C++中BMenuBar::MaxSize方法的典型用法代码示例。如果您正苦于以下问题:C++ BMenuBar::MaxSize方法的具体用法?C++ BMenuBar::MaxSize怎么用?C++ BMenuBar::MaxSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BMenuBar
的用法示例。
在下文中一共展示了BMenuBar::MaxSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: font
MainWindow::MainWindow(const BMessage& settings)
:
BWindow(BRect(50, 50, 650, 550), B_TRANSLATE_SYSTEM_NAME("HaikuDepot"),
B_DOCUMENT_WINDOW_LOOK, B_NORMAL_WINDOW_FEEL,
B_ASYNCHRONOUS_CONTROLS | B_AUTO_UPDATE_SIZE_LIMITS),
fScreenshotWindow(NULL),
fUserMenu(NULL),
fLogInItem(NULL),
fLogOutItem(NULL),
fModelListener(new MessageModelListener(BMessenger(this)), true),
fTerminating(false),
fSinglePackageMode(false),
fModelWorker(B_BAD_THREAD_ID)
{
BMenuBar* menuBar = new BMenuBar(B_TRANSLATE("Main Menu"));
_BuildMenu(menuBar);
BMenuBar* userMenuBar = new BMenuBar(B_TRANSLATE("User Menu"));
_BuildUserMenu(userMenuBar);
set_small_font(userMenuBar);
userMenuBar->SetExplicitMaxSize(BSize(B_SIZE_UNSET,
menuBar->MaxSize().height));
fFilterView = new FilterView();
fFeaturedPackagesView = new FeaturedPackagesView();
fPackageListView = new PackageListView(fModel.Lock());
fPackageInfoView = new PackageInfoView(fModel.Lock(), this);
fSplitView = new BSplitView(B_VERTICAL, 5.0f);
BGroupView* featuredPackagesGroup = new BGroupView(B_VERTICAL);
BStringView* featuredPackagesTitle = new BStringView(
"featured packages title", B_TRANSLATE("Featured packages"));
BFont font(be_bold_font);
font.SetSize(font.Size() * 1.3f);
featuredPackagesTitle->SetFont(&font);
featuredPackagesGroup->SetExplicitMaxSize(
BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
BLayoutBuilder::Group<>(featuredPackagesGroup)
.Add(featuredPackagesTitle)
.Add(fFeaturedPackagesView)
;
BView* listArea = new BView("list area", 0);
fListLayout = new BCardLayout();
listArea->SetLayout(fListLayout);
listArea->AddChild(featuredPackagesGroup);
listArea->AddChild(fPackageListView);
BLayoutBuilder::Group<>(this, B_VERTICAL, 0.0f)
.AddGroup(B_HORIZONTAL, 0.0f)
.Add(menuBar, 1.0f)
.Add(userMenuBar, 0.0f)
.End()
.Add(fFilterView)
.AddSplit(fSplitView)
.AddGroup(B_VERTICAL)
.Add(listArea)
.SetInsets(
B_USE_DEFAULT_SPACING, 0.0f,
B_USE_DEFAULT_SPACING, 0.0f)
.End()
.Add(fPackageInfoView)
.End()
;
fSplitView->SetCollapsible(0, false);
fSplitView->SetCollapsible(1, false);
fModel.AddListener(fModelListener);
// Restore settings
BMessage columnSettings;
if (settings.FindMessage("column settings", &columnSettings) == B_OK)
fPackageListView->LoadState(&columnSettings);
bool showOption;
if (settings.FindBool("show featured packages", &showOption) == B_OK)
fModel.SetShowFeaturedPackages(showOption);
if (settings.FindBool("show available packages", &showOption) == B_OK)
fModel.SetShowAvailablePackages(showOption);
if (settings.FindBool("show installed packages", &showOption) == B_OK)
fModel.SetShowInstalledPackages(showOption);
if (settings.FindBool("show develop packages", &showOption) == B_OK)
fModel.SetShowDevelopPackages(showOption);
if (settings.FindBool("show source packages", &showOption) == B_OK)
fModel.SetShowSourcePackages(showOption);
if (fModel.ShowFeaturedPackages())
fListLayout->SetVisibleItem((int32)0);
else
fListLayout->SetVisibleItem(1);
_RestoreUserName(settings);
_RestoreWindowFrame(settings);
// start worker threads
BPackageRoster().StartWatching(this,
B_WATCH_PACKAGE_INSTALLATION_LOCATIONS);
//.........这里部分代码省略.........