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;
  }
}
Exemple #3
0
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);
  
}
Exemple #5
0
//
//	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;
}
Exemple #6
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);
}