mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
62 lines
2.2 KiB
Python
62 lines
2.2 KiB
Python
from PySide2.QtCore import Signal
|
|
from PySide2.QtWidgets import QFrame, QGridLayout, QVBoxLayout
|
|
|
|
from game.ato.flight import Flight
|
|
from qt_ui.models import PackageModel, GameModel
|
|
from qt_ui.windows.mission.flight.payload.QFlightPayloadTab import QFlightPayloadTab
|
|
from qt_ui.windows.mission.flight.settings.FlightPlanPropertiesGroup import (
|
|
FlightPlanPropertiesGroup,
|
|
)
|
|
from qt_ui.windows.mission.flight.settings.QCommsEditor import QCommsEditor
|
|
from qt_ui.windows.mission.flight.settings.QCustomName import QFlightCustomName
|
|
from qt_ui.windows.mission.flight.settings.QFlightSlotEditor import QFlightSlotEditor
|
|
from qt_ui.windows.mission.flight.settings.QFlightStartType import QFlightStartType
|
|
from qt_ui.windows.mission.flight.settings.QFlightTypeTaskInfo import (
|
|
QFlightTypeTaskInfo,
|
|
)
|
|
from qt_ui.windows.mission.flight.waypoints.QFlightWaypointList import (
|
|
QFlightWaypointList,
|
|
)
|
|
|
|
|
|
class QGeneralFlightSettingsTab(QFrame):
|
|
flight_size_changed = Signal()
|
|
|
|
def __init__(
|
|
self,
|
|
game: GameModel,
|
|
package_model: PackageModel,
|
|
flight: Flight,
|
|
flight_wpt_list: QFlightWaypointList,
|
|
payload_tab: QFlightPayloadTab,
|
|
):
|
|
super().__init__()
|
|
|
|
self.flight_slot_editor = QFlightSlotEditor(package_model, flight, game.game)
|
|
self.flight_slot_editor.flight_resized.connect(self.flight_size_changed)
|
|
for pc in self.flight_slot_editor.roster_editor.pilot_controls:
|
|
pc.player_toggled.connect(
|
|
lambda: payload_tab.property_editor.build_props(flight)
|
|
)
|
|
|
|
widgets = [
|
|
QFlightTypeTaskInfo(flight),
|
|
QCommsEditor(flight, game),
|
|
FlightPlanPropertiesGroup(
|
|
game.game, package_model, flight, flight_wpt_list
|
|
),
|
|
self.flight_slot_editor,
|
|
QFlightStartType(package_model, flight),
|
|
QFlightCustomName(flight),
|
|
]
|
|
layout = QGridLayout()
|
|
row = 0
|
|
for w in widgets:
|
|
layout.addWidget(w, row, 0)
|
|
row += 1
|
|
|
|
vstretch = QVBoxLayout()
|
|
vstretch.addStretch()
|
|
layout.addLayout(vstretch, row, 0)
|
|
self.setLayout(layout)
|