MCPcopy Create free account
hub / github.com/chrxh/alien / processMenubar

Method processMenubar

source/Gui/MainLoopController.cpp:336–603  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

334}
335
336void MainLoopController::processMenubar()
337{
338 auto& io = ImGui::GetIO();
339
340 AlienImGui::BeginMenuBar();
341 AlienImGui::MenuShutdownButton([&] { ExitDialog::get().open(); });
342 ImGui::Dummy(ImVec2(scale(10.0f), 0.0f));
343
344 AlienImGui::BeginMenu(" " ICON_FA_GAMEPAD " Simulation ", _simulationMenuOpened);
345 AlienImGui::MenuItem(AlienImGui::MenuItemParameters().name("New").keyCtrl(true).key(ImGuiKey_N), [&] { NewSimulationDialog::get().open(); });
346 AlienImGui::MenuItem(
347 AlienImGui::MenuItemParameters().name("Open").keyCtrl(true).key(ImGuiKey_O), [&] { FileTransferController::get().onOpenSimulationDialog(); });
348 AlienImGui::MenuItem(
349 AlienImGui::MenuItemParameters().name("Save").keyCtrl(true).key(ImGuiKey_S), [&] { FileTransferController::get().onSaveSimulationDialog(); });
350 AlienImGui::MenuSeparator();
351 auto running = _simulationFacade->isSimulationRunning();
352 AlienImGui::MenuItem(AlienImGui::MenuItemParameters().name("Run").key(ImGuiKey_Space).disabled(running).closeMenuWhenItemClicked(false), [&] {
353 _simulationFacade->runSimulation();
354 printOverlayMessage("Run");
355 });
356 AlienImGui::MenuItem(AlienImGui::MenuItemParameters().name("Pause").key(ImGuiKey_Space).disabled(!running).closeMenuWhenItemClicked(false), [&] {
357 _simulationFacade->pauseSimulation();
358 printOverlayMessage("Pause");
359 });
360 AlienImGui::EndMenu();
361
362 AlienImGui::BeginMenu(" " ICON_FA_GLOBE " Network ", _networkMenuOpened);
363 AlienImGui::MenuItem(
364 AlienImGui::MenuItemParameters().name("Browser").keyAlt(true).key(ImGuiKey_W).closeMenuWhenItemClicked(false).selected(BrowserWindow::get().isOn()),
365 [&] { BrowserWindow::get().setOn(!BrowserWindow::get().isOn()); });
366 AlienImGui::MenuSeparator();
367 AlienImGui::MenuItem(AlienImGui::MenuItemParameters().name("Login").keyAlt(true).key(ImGuiKey_L).disabled(NetworkService::get().isLoggedIn()), [&] {
368 LoginDialog::get().open();
369 });
370 AlienImGui::MenuItem(
371 AlienImGui::MenuItemParameters()
372 .name("Logout")
373 .keyAlt(true)
374 .key(ImGuiKey_T)
375 .closeMenuWhenItemClicked(false)
376 .disabled(!NetworkService::get().isLoggedIn()),
377 [&] {
378 NetworkService::get().logout();
379 BrowserWindow::get().onRefresh();
380 });
381 AlienImGui::MenuItem(
382 AlienImGui::MenuItemParameters().name("Upload simulation").keyAlt(true).key(ImGuiKey_D).disabled(!NetworkService::get().isLoggedIn()),
383 [&] { UploadSimulationDialog::get().open(NetworkResourceType_Simulation); });
384 AlienImGui::MenuItem(
385 AlienImGui::MenuItemParameters().name("Upload genome").keyAlt(true).key(ImGuiKey_Q).disabled(!NetworkService::get().isLoggedIn()),
386 [&] { UploadSimulationDialog::get().open(NetworkResourceType_Genome); });
387 AlienImGui::MenuSeparator();
388 AlienImGui::MenuItem(AlienImGui::MenuItemParameters().name("Delete user").keyAlt(true).key(ImGuiKey_J).disabled(!NetworkService::get().isLoggedIn()), [&] {
389 DeleteUserDialog::get().open();
390 });
391 AlienImGui::EndMenu();
392
393 AlienImGui::BeginMenu(" " ICON_FA_WINDOW_RESTORE " Windows ", _windowMenuOpened);

Callers

nothing calls this directly

Calls 15

ImVec2Class · 0.85
scaleFunction · 0.85
MenuItemParametersClass · 0.85
printOverlayMessageFunction · 0.85
isLoggedInMethod · 0.80
logoutMethod · 0.80
onRefreshMethod · 0.80
isEditModeMethod · 0.80
setEditModeMethod · 0.80

Tested by

no test coverage detected