swift
aircraftmodelmenus.h
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #ifndef SWIFT_GUI_MENUS_AIRCRAFTMODELMENUS_H
5 #define SWIFT_GUI_MENUS_AIRCRAFTMODELMENUS_H
6 
7 #include <QObject>
8 
9 #include "gui/menus/menudelegate.h"
13 
14 class QAction;
15 
16 namespace swift::gui
17 {
18  namespace components
19  {
20  class CDbMappingComponent;
21  }
22  namespace menus
23  {
26  {
27  Q_OBJECT
28 
29  virtual void anchor();
30 
31  public:
34 
36  static const QStringList &getLogCategories();
37 
38  protected:
41 
44 
47  getAllOrAllFilteredAircraftModels(bool *filtered = nullptr) const;
48 
51  };
52 
55  {
56  Q_OBJECT
57 
58  public:
61 
63  static const QStringList &getLogCategories();
64 
66  virtual void customMenu(CMenuActions &menuActions) override;
67 
68  private:
69  void showSimulatorFile();
70  void startModelConverterX();
71 
72  swift::gui::COverlayMessagesFrame *m_messageFrame = nullptr;
73  QAction *m_fileAction = nullptr;
74  QAction *m_iconAction = nullptr;
75  QAction *m_modelConverterX = nullptr;
76  };
77 
80  {
81  Q_OBJECT
82 
83  public:
86 
89 
91  static const QStringList &getLogCategories();
92 
94  virtual void customMenu(CMenuActions &menuActions) override;
95 
97  void setModelsTarget(QObject *target) { m_modelsTarget = target; }
98 
99  private:
100  void consolidateData();
101  void consolidateSelectedData();
102 
103  swift::misc::simulation::IModelsSetable *modelsTargetSetable() const;
104  swift::misc::simulation::IModelsUpdatable *modelsTargetUpdatable() const;
105  QObject *m_modelsTarget = nullptr;
106  QAction *m_consolidateAll = nullptr;
107  QAction *m_consolidateSelected = nullptr;
108  };
109 
112  {
113  Q_OBJECT
114 
115  public:
118 
121 
123  static const QStringList &getLogCategories();
124 
126  virtual void customMenu(CMenuActions &menuActions) override;
127 
129  void setModelsTarget(QObject *target) { m_modelsTarget = target; }
130 
131  private:
132  void consolidateData();
133  void consolidateSelectedData();
134  void updateDirectoryData();
135  void updateDirectorySelectedData();
136 
138  swift::misc::simulation::CAircraftModelList getSimulatorModels() const;
139 
141  swift::misc::simulation::CSimulatorInfo getSimulator() const;
142 
143  swift::misc::simulation::IModelsForSimulatorSetable *modelsTargetSetable() const;
144  swift::misc::simulation::IModelsForSimulatorUpdatable *modelsTargetUpdatable() const;
145  swift::misc::simulation::ISimulatorSelectable *simulatorSelectable() const;
146  swift::gui::components::CDbMappingComponent *getMappingComponent() const;
147 
148  QObject *m_modelsTarget = nullptr;
149  QAction *m_consolidateAll = nullptr;
150  QAction *m_consolidateSelected = nullptr;
151  QAction *m_updateDirsAll = nullptr;
152  QAction *m_updateDirsSelected = nullptr;
153  };
154  } // namespace menus
155 } // namespace swift::gui
156 
157 #endif // SWIFT_GUI_MENUS_AIRCRAFTMODELMENUS_H
Using this class provides a QFrame with the overlay functionality already integrated.
void setModelsTarget(QObject *target)
Change target.
CConsolidateWithDbDataMenu(swift::gui::views::CAircraftModelView *modelView, QObject *modelsTarget)
Constructor.
static const QStringList & getLogCategories()
Log.categories.
virtual void customMenu(CMenuActions &menuActions)
Display custom menu.
Merge/update with simulator models (e.g. remove no longer existing models)
CConsolidateWithSimulatorModels(views::CAircraftModelView *modelView, QObject *modelsTarget)
Constructor.
void setModelsTarget(QObject *target)
Change target.
static const QStringList & getLogCategories()
Log.categories.
virtual void customMenu(CMenuActions &menuActions)
Display custom menu.
Bunch of CMenuAction objects.
Definition: menuaction.h:384
Open the simulator file (e.g. aircraft.cfg) in the standard text editor.
static const QStringList & getLogCategories()
Log.categories.
virtual void customMenu(CMenuActions &menuActions)
Display custom menu.
CShowSimulatorFileMenu(views::CAircraftModelView *modelView, COverlayMessagesFrame *messageFrame)
Constructor.
Menu base class for aircraft model view menus.
swift::misc::simulation::CAircraftModelList getSelectedAircraftModels() const
Selected aircraft models.
const swift::misc::simulation::CAircraftModelList & getAllOrAllFilteredAircraftModels(bool *filtered=nullptr) const
Get aircraft models (all, or all filtered)
swift::gui::views::CAircraftModelView * modelView() const
Model view.
static const QStringList & getLogCategories()
Log.categories.
IAircraftModelViewMenu(swift::gui::views::CAircraftModelView *modelView)
Constructor.
const swift::misc::simulation::CAircraftModelList & getAircraftModels() const
Get aircraft models.
Interface to implement a custom menu.
Definition: menudelegate.h:21
Value object encapsulating a list of aircraft models.
Simple hardcoded info about the corresponding simulator.
Definition: simulatorinfo.h:41
Interface to "something" backing models, which can be set.
Interface to "something" backing models, which can be modified (updated)
Interface to "something" backing models, which can be set.
Interface to "something" backing models, which can be modified (updated)
Interface to "something" allowing a simulator selection.
GUI related classes.