mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
43 lines
1.7 KiB
Python
43 lines
1.7 KiB
Python
from PySide2.QtCore import Signal
|
|
from PySide2.QtWidgets import QTabWidget, QFrame, QGridLayout, QLabel
|
|
|
|
from gen.flights.flight import Flight
|
|
from game import Game
|
|
from qt_ui.windows.mission.flight.payload.QFlightPayloadTab import QFlightPayloadTab
|
|
from qt_ui.windows.mission.flight.settings.QGeneralFlightSettingsTab import QGeneralFlightSettingsTab
|
|
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointTab import QFlightWaypointTab
|
|
|
|
|
|
class QFlightPlanner(QTabWidget):
|
|
|
|
on_planned_flight_changed = Signal()
|
|
|
|
def __init__(self, flight: Flight, game: Game, planner, selected_tab):
|
|
super(QFlightPlanner, self).__init__()
|
|
|
|
print(selected_tab)
|
|
|
|
self.tabCount = 0
|
|
if flight:
|
|
self.general_settings_tab = QGeneralFlightSettingsTab(flight, game, planner)
|
|
self.general_settings_tab.on_flight_settings_changed.connect(lambda: self.on_planned_flight_changed.emit())
|
|
self.payload_tab = QFlightPayloadTab(flight, game)
|
|
self.waypoint_tab = QFlightWaypointTab(game, flight)
|
|
self.waypoint_tab.on_flight_changed.connect(lambda: self.on_planned_flight_changed.emit())
|
|
self.addTab(self.general_settings_tab, "General Flight settings")
|
|
self.addTab(self.payload_tab, "Payload")
|
|
self.addTab(self.waypoint_tab, "Waypoints")
|
|
self.tabCount = 3
|
|
self.setCurrentIndex(selected_tab)
|
|
else:
|
|
tabError = QFrame()
|
|
l = QGridLayout()
|
|
l.addWidget(QLabel("No flight selected"))
|
|
tabError.setLayout(l)
|
|
self.addTab(tabError, "No flight")
|
|
self.tabCount = 1
|
|
|
|
def clearTabs(self):
|
|
for i in range(self.tabCount):
|
|
self.removeTab(i)
|