void VideoWindow::ToggleMenuOnOff() { BMenuItem* item = fMenu->FindItem(msg_video); item->SetEnabled(!item->IsEnabled()); item = fMenu->FindItem(msg_start); item->SetEnabled(!item->IsEnabled()); item = fMenu->FindItem(msg_stop); item->SetEnabled(!item->IsEnabled()); }
status_t PMenuItem::GetProperty(const char *name, PValue *value, const int32 &index) const { if (!name || !value) return B_ERROR; BString str(name); PProperty *prop = FindProperty(name,index); if (!prop) return B_NAME_NOT_FOUND; BMenuItem *backend = (BMenuItem*)fBackend; if (str.ICompare("Message") == 0) ((IntProperty*)prop)->SetValue(backend->Command()); else if (str.ICompare("Trigger") == 0) ((CharProperty*)prop)->SetValue(backend->Trigger()); else if (str.ICompare("Label") == 0) ((StringProperty*)prop)->SetValue(backend->Label()); else if (str.ICompare("Frame") == 0) ((RectProperty*)prop)->SetValue(backend->Frame()); else if (str.ICompare("Marked") == 0) ((BoolProperty*)prop)->SetValue(backend->IsMarked()); else if (str.ICompare("Enabled") == 0) ((BoolProperty*)prop)->SetValue(backend->IsEnabled()); else { return PObject::GetProperty(name, value, index); } return prop->GetValue(value); }
void ShowImageWindow::_EnableMenuItem(BMenu *menu, uint32 what, bool enable) { BMenuItem* item = menu->FindItem(what); if (item && item->IsEnabled() != enable) item->SetEnabled(enable); }
void TeamListView::UpdatePopUpPriorityMenu() { BMenuField *Priority = (BMenuField *)slayer->mainWindow->FindView("MainPriorityField"); BMenu *menu = Priority->Menu(); BMenuItem *item; int32 i; for (i = 2; (item = menu->ItemAt(i)); i++) { priorityMenu->ItemAt(i-2)->SetMarked(item->IsMarked()); priorityMenu->ItemAt(i-2)->SetEnabled(item->IsEnabled()); } }
void SeqStudioWindow::MenusBeginning() { inherited::MenusBeginning(); BMenuBar* bar = KeyMenuBar(); if (!bar) return; BColumnListView* table = dynamic_cast<BColumnListView*>( FindView(ENDPOINT_LIST_STR) ); if (!table) return; if (mDeviceCtrl && mDeviceCtrl->Menu() ) add_device_menu_items(mDeviceCtrl->Menu() ); // MIDI Port menu if (mPortMenu) { bool deleteEnabled = false; _EndpointRow* r = dynamic_cast<_EndpointRow*>(table->CurrentSelection() ); if (r && !r->mIsValid && r->mEndpoint.channel < 0) deleteEnabled = true; BMenuItem* deleteItem = mPortMenu->FindItem(DELETE_STR); if (deleteItem && deleteItem->IsEnabled() != deleteEnabled) deleteItem->SetEnabled(deleteEnabled); } // Attributes menu BMenu* menu; BMenuItem* item; if ( (menu = bar->SubmenuAt(ATTRIBUTES_MENU_INDEX)) != NULL) { for (int32 k = 0; (item = menu->ItemAt(k)) != NULL; k++) { const char* n; if (item->Message() && item->Message()->FindString(COLUMN_NAME_STR, &n) == B_OK) { BColumn* col = column_named(n, table); if (col && col->IsVisible() ) { if (!item->IsMarked() ) item->SetMarked(true); } else { if (item->IsMarked() ) item->SetMarked(false); } } } } }
TemplateWindow::TemplateWindow(const BRect &frame) : DWindow(frame,TR("Choose a Project Type"),B_TITLED_WINDOW, B_ASYNCHRONOUS_CONTROLS | B_NOT_V_RESIZABLE) { RegisterWindow(); MakeCenteredOnShow(true); CheckTemplates(); DPath templatePath(gAppPath.GetFolder()); templatePath << TR("Templates"); fTempList.ScanFolder(templatePath.GetFullPath()); BView *top = GetBackgroundView(); if (Bounds().Height() < 100) ResizeTo(Bounds().Width(),100); if (Bounds().Width() < 100) ResizeTo(100,Bounds().Height()); BRect r(Bounds()); BRect bounds(r); float divider = be_plain_font->StringWidth(TR("Source Control:")) + 5.0; BMenu *menu = new BMenu("Project Type"); for (int32 i = 0; i < fTempList.CountTemplates(); i++) { ProjectTemplate *ptemp = fTempList.TemplateAt(i); entry_ref ref = ptemp->GetRef(); menu->AddItem(new BMenuItem(ref.name,new BMessage(M_TEMPLATE_SELECTED))); } menu->SetRadioMode(true); menu->SetLabelFromMarked(true); menu->ItemAt(0L)->SetMarked(true); font_height fh; be_plain_font->GetHeight(&fh); float fontHeight = fh.ascent + fh.descent + fh.leading; r.bottom = MAX(fontHeight,20.0); r.OffsetBy(10,10); fTemplateField = new BMenuField(r,"templatefield",TR("Project Type: "), menu); fTemplateField->SetDivider(be_plain_font->StringWidth(TR("Project Type:")) + 5); top->AddChild(fTemplateField); // controls for the options for all project types r.OffsetBy(0,r.IntegerHeight() + 10); fNameBox = new AutoTextControl(r,"namebox",TR("Project Name:"),NULL, new BMessage(M_NAME_CHANGED), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP); top->AddChild(fNameBox); fNameBox->ResizeToPreferred(); r.bottom = r.top + fNameBox->Bounds().Height(); fNameBox->ResizeTo(bounds.Width() - 20.0,r.Height()); fNameBox->SetDivider(divider); SetToolTip(fNameBox, "The name of your project. It can be the same as the Target Name, " "but it does not have to be."); r.OffsetBy(0,r.IntegerHeight() + 10); fTargetBox = new AutoTextControl(r,"targetbox",TR("Target Name:"),"BeApp", new BMessage(M_TARGET_CHANGED), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP); top->AddChild(fTargetBox); fTargetBox->ResizeToPreferred(); r.bottom = r.top + fTargetBox->Bounds().Height(); fTargetBox->ResizeTo(bounds.Width() - 20.0,r.Height()); fTargetBox->SetDivider(divider); SetToolTip(fTargetBox, "The name of the compiled application or library"); if (!BEntry(PROJECT_PATH).Exists()) create_directory(PROJECT_PATH,0777); r.OffsetBy(0,r.Height() + 10); fPathBox = new PathBox(r,"pathbox",gProjectPath.GetFullPath(),TR("Location:"), B_FOLLOW_LEFT_RIGHT | B_FOLLOW_TOP); top->AddChild(fPathBox); fPathBox->ResizeToPreferred(); r.bottom = r.top + fPathBox->Bounds().Height(); fPathBox->ResizeTo(bounds.Width() - 20.0,r.Height()); fPathBox->SetDivider(divider); SetToolTip(fPathBox, "Set the location for your project."); menu = new BMenu("SCM Chooser"); menu->AddItem(new BMenuItem("Mercurial", new BMessage())); menu->AddItem(new BMenuItem("Git", new BMessage())); menu->AddItem(new BMenuItem("Subversion", new BMessage())); menu->AddItem(new BMenuItem("None", new BMessage())); if (!gHgAvailable) { menu->ItemAt(0)->SetEnabled(false); menu->ItemAt(0)->SetLabel("Mercurial Unavailable"); } if (!gGitAvailable) { menu->ItemAt(1)->SetEnabled(false); menu->ItemAt(1)->SetLabel("Git Unavailable"); } if (!gSvnAvailable) { menu->ItemAt(2)->SetEnabled(false); menu->ItemAt(2)->SetLabel("Subversion Unavailable"); } r.OffsetBy(0,r.Height() + 5.0); fSCMChooser = new BMenuField(r, "scmchooser", "Source Control: ", menu); top->AddChild(fSCMChooser); fSCMChooser->SetDivider(divider); SetToolTip(fSCMChooser, "Choose the source control manager for your project, if any."); menu->SetLabelFromMarked(true); menu->ItemAt(gDefaultSCM)->SetMarked(true); BMenuItem *item = menu->FindMarked(); if (!item->IsEnabled()) { item->SetMarked(false); for (int32 i = 0; i < menu->CountItems(); i++) { if (menu->ItemAt(i)->IsEnabled()) { menu->ItemAt(i)->SetMarked(true); break; } } } menu->SetLabelFromMarked(true); r.OffsetBy(0,r.Height() + 5.0); fCreateFolder = new BCheckBox(r,"createfolder",TR("Create Project Folder"),NULL); fCreateFolder->MoveTo(divider + 10.0, r.top); fCreateFolder->SetValue(B_CONTROL_ON); top->AddChild(fCreateFolder); SetToolTip(fCreateFolder, "If checked, a folder for your project will be created " "in the folder in the Location box above."); r.OffsetBy(0,r.Height() + 5.0); fOK = new BButton(r,"ok",TR("Create Project…"), new BMessage(M_CREATE_PROJECT)); fOK->ResizeToPreferred(); top->AddChild(fOK); fOK->SetEnabled(false); fOK->MakeDefault(true); float offset = fPathBox->Divider(); fOK->MoveBy(offset,0); float minwidth = Bounds().Width(); float minheight = fOK->Frame().bottom + 10.0; SetSizeLimits(minwidth,30000,minheight,30000); gSettings.Lock(); BRect savedframe; if (gSettings.FindRect("template_frame",&savedframe) == B_OK) ResizeTo(savedframe.Width(),savedframe.Height()); else ResizeTo(minwidth,minheight); gSettings.Unlock(); fNameBox->MakeFocus(true); }
void SCMImportWindow::SetProvider(SCMProjectImporter *importer) { if (importer && !fProvider) { fSCMField->SetEnabled(true); fProjectBox->SetEnabled(true); fAnonymousBox->SetEnabled(true); fUserNameBox->SetEnabled(true); fRepository->SetEnabled(true); fCommandView->MakeEditable(false); fOK->SetEnabled(false); fProjectBox->MakeFocus(true); fProvider = importer; UpdateCommand(); } else if (!importer && fProvider) { fSCMField->SetEnabled(false); fProjectBox->SetEnabled(false); fAnonymousBox->SetEnabled(false); fUserNameBox->SetEnabled(false); fRepository->SetEnabled(false); fCommandView->MakeEditable(true); fCommandView->SetText(""); fCommandView->MakeFocus(true); fOK->SetEnabled(true); } fProvider = importer; if (fProvider) { BMenu *menu = fSCMField->Menu(); BMenuItem *item; item = menu->FindItem("Mercurial"); if (item) item->SetEnabled(fProvider->SupportsSCM(SCM_HG)); item = menu->FindItem("Git"); if (item) item->SetEnabled(fProvider->SupportsSCM(SCM_GIT)); item = menu->FindItem("Subversion"); if (item) item->SetEnabled(fProvider->SupportsSCM(SCM_SVN)); item = menu->FindMarked(); if (!item->IsEnabled()) { item->SetMarked(false); for (int32 i = 0; i < menu->CountItems(); i++) if (menu->ItemAt(i)->IsEnabled()) { menu->ItemAt(i)->SetMarked(true); break; } } } UpdateCommand(); }
PrefsWindow::PrefsWindow(BRect frame) : BWindow(frame, TR("Program settings"), B_TITLED_WINDOW, B_NOT_V_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) { AddShortcut('1', B_COMMAND_KEY, new BMessage(M_SET_TAB_0)); AddShortcut('2', B_COMMAND_KEY, new BMessage(M_SET_TAB_1)); // general fProjectFolder = new PathBox("projectfolder", gProjectPath.GetFullPath(), ""); fProjectFolder->MakeValidating(true); SetToolTip(fProjectFolder, TR("The default path for new projects.")); fShowProjectFolder = new BCheckBox("showfolder", TR("Show project folder on open"), new BMessage); SetToolTip(fShowProjectFolder, TR("When checked, a project's folder is " "shown in Tracker when it is opened.")); if (gShowFolderOnOpen) fShowProjectFolder->SetValue(B_CONTROL_ON); fDontAddHeaders = new BCheckBox("dontaddheaders", TR("Omit header files from projects"), NULL); SetToolTip(fDontAddHeaders, TR("If checked, header files are not automatically " "added to projects.")); if (gDontManageHeaders) fDontAddHeaders->SetValue(B_CONTROL_ON); fSlowBuilds = new BCheckBox("slowbuilds", TR("Use single thread"), NULL); SetToolTip(fSlowBuilds, TR("Build with just one thread instead of one thread " "per processor")); if (gSingleThreadedBuild) fSlowBuilds->SetValue(B_CONTROL_ON); fCCache = new BCheckBox("ccache", TR("Use ccache to build faster"), NULL); SetToolTip(fCCache, TR("Compiler caching is another way to speed up builds")); if (gCCacheAvailable) { if (gUseCCache) fCCache->SetValue(B_CONTROL_ON); } else { BString label = fCCache->Label(); label << " -- " << TR("unavailable"); fCCache->SetLabel(label.String()); fCCache->SetEnabled(false); } fFastDep = new BCheckBox("fastdep", TR("Use fastdep dependency checker"), NULL); SetToolTip(fFastDep, TR("Use the fastdep dependency checker instead of gcc")); if (gFastDepAvailable) { if (gUseFastDep) fFastDep->SetValue(B_CONTROL_ON); } else { BString label = fFastDep->Label(); label << " -- " << TR("unavailable"); fFastDep->SetLabel(label.String()); fFastDep->SetEnabled(false); } BBox* buildBox = new BBox(B_FANCY_BORDER, BLayoutBuilder::Group<>(B_VERTICAL, 0) .Add(fSlowBuilds) .Add(fCCache) .Add(fFastDep) .SetInsets(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING, B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING) .View()); buildBox->SetLabel(TR("Build")); fAutoSyncModules = new BCheckBox("autosync", TR("Automatically synchronize modules"), NULL); SetToolTip(fAutoSyncModules, TR("Automatically synchronize modules in your " "projects with the those in the code library")); if (gAutoSyncModules) fAutoSyncModules->SetValue(B_CONTROL_ON); fBackupFolder = new PathBox("backupfolder", gBackupPath.GetFullPath(), ""); fBackupFolder->MakeValidating(true); SetToolTip(fBackupFolder, TR("Sets the location for project backups")); fTabs[0] = BLayoutBuilder::Grid<>(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING) .Add(new BStringView("projects folder label", TR("Projects folder:")), 0, 0) .Add(fProjectFolder, 1, 0) .AddGroup(B_VERTICAL, 0.0f, 1, 1) .Add(fShowProjectFolder) .Add(fDontAddHeaders) .End() .Add(buildBox, 1, 2) .Add(fAutoSyncModules, 1, 3) .Add(new BStringView("backups folder label", TR("Backups folder:")), 0, 4) .Add(fBackupFolder, 1, 4) .SetInsets(B_USE_DEFAULT_SPACING) .View(); fTabs[0]->SetName(TR("General")); fTabs[0]->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); #ifndef BUILD_CODE_LIBRARY fAutoSyncModules->Hide(); #endif // source control BPopUpMenu* scmMenu = new BPopUpMenu("SCM Chooser"); scmMenu->AddItem(new BMenuItem(TR("None"), NULL)); scmMenu->AddSeparatorItem(); scmMenu->AddItem(new BMenuItem(TR("Git"), NULL)); scmMenu->AddItem(new BMenuItem(TR("Mercurial"), NULL)); scmMenu->AddItem(new BMenuItem(TR("Subversion"), NULL)); fSCMChooser = new BMenuField("scmchooser", TR("Preferred source control:"), scmMenu); #ifdef DISABLE_GIT_SUPPORT scmMenu->ItemAt(2)->SetEnabled(false); #endif BMenuItem* marked = scmMenu->ItemAt(gDefaultSCM); if (marked != NULL) marked->SetMarked(true); else scmMenu->ItemAt(0)->SetMarked(true); if (!marked->IsEnabled()) { // if the default SCM is disabled unmark it and mark the first one that // is enabled. marked->SetMarked(false); for (int32 i = 0; i < scmMenu->CountItems(); i++) { if (scmMenu->ItemAt(i)->IsEnabled()) { scmMenu->ItemAt(i)->SetMarked(true); break; } } } fSVNRepoFolder = new PathBox("svnrepofolder", gSVNRepoPath.GetFullPath(), ""); fSVNRepoFolder->MakeValidating(true); SetToolTip(fSVNRepoFolder, TR("Sets the location for the 'server' side of " "local Subversion repositories.")); fTabs[1] = BLayoutBuilder::Group<>(B_VERTICAL) .AddGrid(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING) .Add(fSCMChooser->CreateLabelLayoutItem(), 0, 0) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING, 1, 0) .Add(fSCMChooser->CreateMenuBarLayoutItem()) .AddGlue() .End() .Add(new BStringView("svn repo folder label", TR("Subversion repository folder:")), 0, 1) .Add(fSVNRepoFolder, 1, 1) .End() .AddGlue() .SetInsets(B_USE_DEFAULT_SPACING) .View(); fTabs[1]->SetName(TR("Source control")); fTabs[1]->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); // tab view fTabView = new BTabView("tabview", B_WIDTH_FROM_LABEL); fTabView->SetBorder(B_NO_BORDER); fTabView->AddTab(fTabs[0]); fTabView->AddTab(fTabs[1]); fTabView->Select(0L); BLayoutBuilder::Group<>(this, B_VERTICAL, 0) .AddStrut(B_USE_SMALL_SPACING) .Add(fTabView) .End(); fProjectFolder->MakeFocus(true); CenterOnScreen(); }
/*! Update color and refresh options according to current mode (a color space is made active if there is any mode with given resolution and this colour space; same applies for refresh rate, though "Other…" is always possible) */ void ScreenWindow::_CheckColorMenu() { int32 supportsAnything = false; int32 index = 0; for (int32 i = 0; i < kColorSpaceCount; i++) { if ((fSupportedColorSpaces & (1 << i)) == 0) continue; bool supported = false; for (int32 j = 0; j < fScreenMode.CountModes(); j++) { screen_mode mode = fScreenMode.ModeAt(j); if (fSelected.width == mode.width && fSelected.height == mode.height && kColorSpaces[i].space == mode.space && fSelected.combine == mode.combine) { supportsAnything = true; supported = true; break; } } BMenuItem* item = fColorsMenu->ItemAt(index++); if (item) item->SetEnabled(supported); } fColorsField->SetEnabled(supportsAnything); if (!supportsAnything) return; // Make sure a valid item is selected BMenuItem* item = fColorsMenu->FindMarked(); bool changed = false; if (item != fUserSelectedColorSpace) { if (fUserSelectedColorSpace != NULL && fUserSelectedColorSpace->IsEnabled()) { fUserSelectedColorSpace->SetMarked(true); item = fUserSelectedColorSpace; changed = true; } } if (item != NULL && !item->IsEnabled()) { // find the next best item int32 index = fColorsMenu->IndexOf(item); bool found = false; for (int32 i = index + 1; i < fColorsMenu->CountItems(); i++) { item = fColorsMenu->ItemAt(i); if (item->IsEnabled()) { found = true; break; } } if (!found) { // search backwards as well for (int32 i = index - 1; i >= 0; i--) { item = fColorsMenu->ItemAt(i); if (item->IsEnabled()) break; } } item->SetMarked(true); changed = true; } if (changed) { // Update selected space BMessage* message = item->Message(); int32 space; if (message->FindInt32("space", &space) == B_OK) { fSelected.space = (color_space)space; _UpdateColorLabel(); } } }
TemplateWindow::TemplateWindow(const BRect& frame) : BWindow(frame, TR("Choose a project type"), B_TITLED_WINDOW, B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_AUTO_UPDATE_SIZE_LIMITS) { RegisterWindow(); CheckTemplates(); DPath templatePath(gAppPath.GetFolder()); templatePath << TR("Templates"); fTempList.ScanFolder(templatePath.GetFullPath()); // project type BPopUpMenu* projectTypeMenu = new BPopUpMenu("Project type"); for (int32 i = 0; i < fTempList.CountTemplates(); i++) { ProjectTemplate* ptemp = fTempList.TemplateAt(i); entry_ref ref = ptemp->GetRef(); projectTypeMenu->AddItem(new BMenuItem(ref.name, new BMessage(M_TEMPLATE_SELECTED))); } projectTypeMenu->ItemAt(0L)->SetMarked(true); fTemplateField = new BMenuField("templatefield", TR("Project type: "), projectTypeMenu); fTemplateField->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); // project name fNameBox = new AutoTextControl("namebox", TR("Project name:"), "", new BMessage(M_NAME_CHANGED)); SetToolTip(fNameBox, TR("The name of your project. " "It can be the same as the Target name, but it does not have to be.")); // target name fTargetBox = new AutoTextControl("targetbox", TR("Target name:"), "BeApp", new BMessage(M_TARGET_CHANGED)); SetToolTip(fTargetBox, TR("The name of the compiled application or library")); // project path fPathBox = new PathBox("pathbox", gProjectPath.GetFullPath(), ""); fPathBox->SetExplicitMinSize(BSize(be_plain_font->StringWidth("M") * 36, B_SIZE_UNSET)), SetToolTip(fPathBox, TR("Set the location for your project.")); // source control BPopUpMenu* scmMenu = new BPopUpMenu("SCM Chooser"); scmMenu->AddItem(new BMenuItem(TR("Mercurial"), new BMessage())); scmMenu->AddItem(new BMenuItem(TR("Git"), new BMessage())); scmMenu->AddItem(new BMenuItem(TR("Subversion"), new BMessage())); scmMenu->AddItem(new BMenuItem(TR("None"), new BMessage())); if (!gHgAvailable) { scmMenu->ItemAt(0)->SetEnabled(false); scmMenu->ItemAt(0)->SetLabel(TR("Mercurial unavailable")); } if (!gGitAvailable) { scmMenu->ItemAt(1)->SetEnabled(false); scmMenu->ItemAt(1)->SetLabel(TR("Git unavailable")); } if (!gSvnAvailable) { scmMenu->ItemAt(2)->SetEnabled(false); scmMenu->ItemAt(2)->SetLabel(TR("Subversion unavailable")); } fSCMChooser = new BMenuField("scmchooser", TR("Source control: "), scmMenu); fSCMChooser->SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR)); SetToolTip(fSCMChooser, TR("Choose the source control manager for your project, if any.")); scmMenu->ItemAt(gDefaultSCM)->SetMarked(true); BMenuItem* item = scmMenu->FindMarked(); if (!item->IsEnabled()) { item->SetMarked(false); for (int32 i = 0; i < scmMenu->CountItems(); i++) { if (scmMenu->ItemAt(i)->IsEnabled()) { scmMenu->ItemAt(i)->SetMarked(true); break; } } } // create folder check box fCreateFolder = new BCheckBox(TR("Create project folder")); fCreateFolder->SetValue(B_CONTROL_ON); SetToolTip(fCreateFolder, TR("If checked, a folder for your project will be created " "in the folder in the Location box above.")); // create project button fCreateProjectButton = new BButton("ok", TR("Create project") B_UTF8_ELLIPSIS, new BMessage(M_CREATE_PROJECT)); fCreateProjectButton->SetEnabled(false); fCreateProjectButton->MakeDefault(true); // layout BLayoutBuilder::Group<>(this, B_VERTICAL) .AddGrid(B_USE_DEFAULT_SPACING, B_USE_SMALL_SPACING) .Add(fTemplateField->CreateLabelLayoutItem(), 0, 0) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING, 1, 0) .Add(fTemplateField->CreateMenuBarLayoutItem()) .AddGlue() .End() .Add(fNameBox->CreateLabelLayoutItem(), 0, 1) .Add(fNameBox->CreateTextViewLayoutItem(), 1, 1) .Add(fTargetBox->CreateLabelLayoutItem(), 0, 2) .Add(fTargetBox->CreateTextViewLayoutItem(), 1, 2) .Add(new BStringView("location", TR("Location:")), 0, 3) .Add(fPathBox, 1, 3) .Add(fSCMChooser->CreateLabelLayoutItem(), 0, 4) .AddGroup(B_HORIZONTAL, B_USE_DEFAULT_SPACING, 1, 4) .Add(fSCMChooser->CreateMenuBarLayoutItem()) .AddGlue() .End() .Add(fCreateFolder, 1, 5) .End() .AddGlue() .AddGroup(B_HORIZONTAL) .AddGlue() .Add(fCreateProjectButton) .End() .SetInsets(B_USE_DEFAULT_SPACING) .End(); fNameBox->MakeFocus(true); CenterOnScreen(); }