static bool update_list() { unsigned Count = airspace_warnings.warning_size(); if (Count > 0) { wAirspaceList->SetLength(Count); int i = -1; if (CursorAirspace != NULL) { i = airspace_warnings.get_warning_index(*CursorAirspace); if (i >= 0) wAirspaceList->SetCursorIndex(i); } if (i < 0) /* the selection may have changed, update CursorAirspace */ AirspaceWarningCursorCallback(wAirspaceList->GetCursorIndex()); wAirspaceList->invalidate(); return true; } else { wAirspaceList->SetLength(1); CursorAirspace = NULL; if (wf && wf->is_visible()) // auto close OnCloseClicked(NULL); else wAirspaceList->invalidate(); return false; } }
static bool OnKeyDown(WindowControl *Sender, unsigned key_code) { switch(key_code){ case VK_ESCAPE: OnCloseClicked(Sender); return true; #ifdef GNAV case VK_APP1: case '6': OnAckClicked(Sender); return true; case VK_APP2: case '7': OnAck1Clicked(Sender); return true; case VK_APP3: case '8': OnAck2Clicked(Sender); return true; case VK_APP4: case '9': OnEnableClicked(Sender); return true; #endif default: return false; } }
void dlgConfigurationShowModal() { const DialogLook &look = UIGlobals::GetDialogLook(); WidgetDialog dialog(look); auto on_close = MakeLambdaActionListener([&dialog](unsigned id) { OnCloseClicked(dialog); }); pager = new ArrowPagerWidget(on_close, look.button, new ConfigurationExtraButtons(look)); TabMenuDisplay *menu = new TabMenuDisplay(*pager, look); pager->Add(new CreateWindowWidget([menu](ContainerWindow &parent, const PixelRect &rc, WindowStyle style) { style.TabStop(); menu->Create(parent, rc, style); return menu; })); menu->InitMenu(pages, ARRAY_SIZE(pages), main_menu_captions, ARRAY_SIZE(main_menu_captions)); /* restore last selected menu item */ menu->SetCursor(current_page); dialog.CreateFull(UIGlobals::GetMainWindow(), _("Configuration"), pager); pager->SetPageFlippedCallback([&dialog, menu](){ OnPageFlipped(dialog, *menu); }); dialog.ShowModal(); /* save page number for next time this dialog is opened */ current_page = menu->GetCursor(); bool changed = false; pager->Save(changed); if (changed) { Profile::Save(); LogDebug(_T("Configuration: Changes saved")); if (require_restart) ShowMessageBox(_("Changes to configuration saved. Restart XCSoar to apply changes."), _T(""), MB_OK); } }
static int OnKeyDown(WindowControl * Sender, WPARAM wParam, LPARAM lParam) { (void)lParam; switch(wParam){ case VK_RETURN: OnAckForTimeClicked(Sender); return(0); case VK_ESCAPE: OnCloseClicked(Sender); return(0); } return(1); }
// // window message dispatcher // BOOL CALLBACK ImageProc( HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: OnInitDialog(hDlg, lParam); break; case WM_COMMAND: switch (wParam) { case IDC_CHANGE: OnChangeClicked(hDlg); break; case IDC_OPEN: OnOpenClicked(hDlg, (HWND)lParam); break; case IDC_SAVE: OnSaveClicked(hDlg); break; case IDC_CLOSE: OnCloseClicked(hDlg, (HWND)lParam); break; } break; case WM_SHOWWINDOW: if (!wParam) { // the window is being hidden break; } // the window is being shown - refresh case VFD_REFRESH_MSG: OnRefreshDialog(hDlg); break; } return 0; }
static void OnComboPopupListEnter(WindowControl * Sender, WndListFrame::ListInfo_t *ListInfo) { // double-click on item -- NOT in callback table because added manually (void)Sender; OnCloseClicked(Sender); }