コード例 #1
0
static void
UpdateButtons()
{
  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace == NULL) {
    ack_warn_button->SetVisible(false);
    ack_day_button->SetVisible(false);
    ack_space_button->SetVisible(false);
    enable_button->SetVisible(false);
    return;
  }

  bool ack_expired, ack_day, inside;

  {
    ProtectedAirspaceWarningManager::ExclusiveLease lease(*airspace_warnings);
    const AirspaceWarning &warning = lease->GetWarning(*airspace);
    ack_expired = warning.IsAckExpired();
    ack_day = warning.GetAckDay();
    inside = warning.GetWarningState() == AirspaceWarning::WARNING_INSIDE;
  }

  ack_warn_button->SetVisible(ack_expired && !inside);
  ack_day_button->SetVisible(!ack_day);
  ack_space_button->SetVisible(ack_expired && inside);
  enable_button->SetVisible(!ack_expired);
}
コード例 #2
0
ファイル: dlgAirspaceWarnings.cpp プロジェクト: Mrdini/XCSoar
/** ack day */
static void
Ack2()
{
  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace != NULL) {
    airspace_warnings->acknowledge_day(*airspace, true);
    wAirspaceList->invalidate();
    AutoHide();
  }
}
コード例 #3
0
static void
AckWarning()
{
  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace != NULL) {
    airspace_warnings->acknowledge_warning(*airspace, true);
    UpdateList();
    AutoHide();
  }
}
コード例 #4
0
ファイル: dlgAirspaceWarning.cpp プロジェクト: hnpilot/XCSoar
/** unack */
static void OnEnableClicked(WindowControl * Sender) {
  (void)Sender;

  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace != NULL) {
    airspace_warnings.acknowledge_warning(*airspace, false);
    airspace_warnings.acknowledge_day(*airspace, false);
    wAirspaceList->invalidate();
  }
}
コード例 #5
0
ファイル: dlgAirspaceWarning.cpp プロジェクト: hnpilot/XCSoar
/** ack warn */
static void OnAck1Clicked(WindowControl * Sender){
  (void)Sender;

  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace != NULL) {
    airspace_warnings.acknowledge_warning(*airspace, true);
    wAirspaceList->invalidate();
    AutoHide();
  }
}
コード例 #6
0
ファイル: dlgAirspaceWarnings.cpp プロジェクト: Mrdini/XCSoar
/** unack */
static void
Enable()
{
  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace != NULL) {
    airspace_warnings->acknowledge_inside(*airspace, false);
    airspace_warnings->acknowledge_warning(*airspace, false);
    airspace_warnings->acknowledge_day(*airspace, false);
    wAirspaceList->invalidate();
  }
}
コード例 #7
0
static void
Enable()
{
  const AbstractAirspace *airspace = GetSelectedAirspace();
  if (airspace == NULL)
    return;

  {
    ProtectedAirspaceWarningManager::ExclusiveLease lease(*airspace_warnings);
    AirspaceWarning *warning = lease->GetWarningPtr(*airspace);
    if (warning == NULL)
      return;

    warning->AcknowledgeInside(false);
    warning->AcknowledgeWarning(false);
    warning->AcknowledgeDay(false);
  }

  UpdateList();
}