swift
aircraftsituationview.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2018 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
5 
6 using namespace swift::misc;
7 using namespace swift::misc::aviation;
8 using namespace swift::gui::models;
9 using namespace swift::gui::menus;
10 
11 namespace swift::gui::views
12 {
13  CAircraftSituationView::CAircraftSituationView(QWidget *parent) : CViewWithTimestampWithOffsetObjects(parent)
14  {
16  this->setMenu(MenuDefault);
17  }
18 
20  {
21  m_withMenuRequestElevation = enable;
22  this->setSingleSelection();
23  }
24 
26  {
27  if (m_withMenuRequestElevation && this->hasSingleSelectedRow())
28  {
29  menuActions.addAction(CIcons::geoPosition16(), "Request elevation", CMenuAction::pathClientSimulation(),
30  { this, &CAircraftSituationView::emitRequestElevationForSituation });
31  }
32  }
33 
34  void CAircraftSituationView::emitRequestElevationForSituation()
35  {
36  if (!this->hasSingleSelectedRow()) { return; }
37  const CAircraftSituation situation = this->selectedObject();
38  emit this->requestElevation(situation);
39  }
40 } // namespace swift::gui::views
Bunch of CMenuAction objects.
Definition: menuaction.h:384
CMenuAction addAction(const CMenuAction &menuAction)
Add menu action.
Definition: menuaction.cpp:210
virtual void customMenu(menus::CMenuActions &menuActions)
Method creating the menu.
void requestElevation(const swift::misc::aviation::CAircraftSituation &situation)
Request elevation.
void setWithMenuRequestElevation(bool enable)
Enable menu.
void standardInit(ModelClass *model=nullptr)
Standard initialization.
Definition: viewbase.cpp:572
ObjectType selectedObject() const
Selected object (or default)
Definition: viewbase.cpp:307
bool hasSingleSelectedRow() const
Single selected row.
void setMenu(Menu menuItems)
Set menu items.
Definition: viewbase.h:298
void setSingleSelection()
Change selection modes.
Base class for views timestamp offset objects.
Value object encapsulating information of an aircraft's situation.
Models to be used with views, mainly QTableView.
Views, mainly QTableView.
Free functions in swift::misc.