コード例 #1
0
ファイル: Interface.cpp プロジェクト: galippi/xcsoar
/**
 * Send the own SettingsMap to the DeviceBlackboard
 * @param trigger_draw Triggers the draw event after sending if true
 */
void
ActionInterface::SendSettingsMap(const bool trigger_draw)
{
  // trigger_draw: asks for an immediate exchange of blackboard data
  // (via ProcessTimer()) rather than waiting for the idle timer every 500ms

  if (trigger_draw) {
    DisplayModes();
    InfoBoxManager::ProcessTimer();
  }

  // Copy InterfaceBlackboard.SettingsMap to the DeviceBlackboard
  ScopeLock protect(mutexBlackboard);
  device_blackboard.ReadSettingsMap(SettingsMap());

#ifdef ENABLE_OPENGL
  if (trigger_draw)
    main_window.map.invalidate();
#else
  if (trigger_draw)
    draw_thread->trigger_redraw();
#endif

  // TODO: trigger refresh if the settings are changed
}
コード例 #2
0
ファイル: Interface.cpp プロジェクト: scottp/xcsoar
/**
 * Send the own SettingsMap to the DeviceBlackboard
 * @param trigger_draw Triggers the draw event after sending if true
 */
void ActionInterface::SendSettingsMap(const bool trigger_draw) {
  // QUESTION TB: what is trigger_draw?
  ScopeLock protect(mutexBlackboard);

  if (trigger_draw) {
    DisplayModes();
    InfoBoxManager::ProcessTimer();
  }

  // Copy InterfaceBlackboard.SettingsMap to the DeviceBlackboard
  device_blackboard.ReadSettingsMap(SettingsMap());

  if (trigger_draw) {
    drawTriggerEvent.trigger();
  }
  // TODO: trigger refresh if the settings are changed
}
コード例 #3
0
ファイル: ProcessTimer.cpp プロジェクト: Plantain/XCSoar
void
ProcessTimer::CommonProcessTimer()
{
  CheckDisplayTimeOut(false);

  DisplayModes();
  ExchangeBlackboard();

  // send ignore command
  SetSettingsMap().MapScale = fixed_zero;

  InfoBoxManager::ProcessTimer();
  InputEvents::ProcessTimer();

  AirspaceProcessTimer();
  MessageProcessTimer();
}
コード例 #4
0
void
ActionInterface::SendMapSettings(const bool trigger_draw)
{
  // trigger_draw: asks for an immediate exchange of blackboard data
  // (via ProcessTimer()) rather than waiting for the idle timer every 500ms

  if (trigger_draw) {
    DisplayModes();
    InfoBoxManager::ProcessTimer();
  }

  main_window.SetMapSettings(GetMapSettings());

  if (trigger_draw) {
    main_window.full_redraw();
    BroadcastUISettingsUpdate();
  }

  // TODO: trigger refresh if the settings are changed
}
コード例 #5
0
/*!
 * \brief Display modes of the button
 * \param btnId Index of the button
 * \returns DisplayModes() If button does not exist
 */
ItemViewButtons::DisplayModes ItemViewButtons::buttonDisplayModes(int btnId) const
{
  const Private::ButtonInfo* btnInfo = d->buttonInfo(btnId);
  return btnInfo != NULL ? btnInfo->itemDisplayModes : DisplayModes();
}