Ignore:
Timestamp:
08/18/12 09:09:38 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

The number of the crew and the passengers as well as all payload weights can be edited

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/gui/flight.py

    r300 r303  
    10161016        table.attach(label, 0, 1, 0, 1)
    10171017
    1018         self._numCrew = gtk.Label()
     1018        self._numCrew = IntegerEntry(defaultValue = 0)
    10191019        self._numCrew.set_width_chars(6)
    1020         self._numCrew.set_alignment(1.0, 0.5)
     1020        self._numCrew.connect("integer-changed", self._weightChanged)
     1021        self._numCrew.set_tooltip_text(xstr("payload_crew_tooltip"))
    10211022        table.attach(self._numCrew, 1, 2, 0, 1)
     1023        label.set_mnemonic_widget(self._numCrew)
    10221024       
    10231025        label = gtk.Label(xstr("payload_pax"))
     
    10251027        table.attach(label, 0, 1, 1, 2)
    10261028
    1027         self._numPassengers = gtk.Label()
     1029        self._numPassengers = IntegerEntry(defaultValue = 0)       
    10281030        self._numPassengers.set_width_chars(6)
    1029         self._numPassengers.set_alignment(1.0, 0.5)
     1031        self._numPassengers.connect("integer-changed", self._weightChanged)
     1032        self._numPassengers.set_tooltip_text(xstr("payload_pax_tooltip"))
    10301033        table.attach(self._numPassengers, 1, 2, 1, 2)
     1034        label.set_mnemonic_widget(self._numPassengers)
    10311035       
    10321036        label = gtk.Label(xstr("payload_bag"))
     
    10341038        table.attach(label, 0, 1, 2, 3)
    10351039
    1036         self._bagWeight = gtk.Label()
     1040        self._bagWeight = IntegerEntry(defaultValue = 0)
    10371041        self._bagWeight.set_width_chars(6)
    1038         self._bagWeight.set_alignment(1.0, 0.5)
     1042        self._bagWeight.connect("integer-changed", self._weightChanged)
     1043        self._bagWeight.set_tooltip_text(xstr("payload_bag_tooltip"))
    10391044        table.attach(self._bagWeight, 1, 2, 2, 3)
     1045        label.set_mnemonic_widget(self._bagWeight)
    10401046
    10411047        table.attach(gtk.Label("kg"), 2, 3, 2, 3)
     
    10481054        self._cargoWeight = IntegerEntry(defaultValue = 0)
    10491055        self._cargoWeight.set_width_chars(6)
    1050         self._cargoWeight.connect("integer-changed", self._cargoWeightChanged)
     1056        self._cargoWeight.connect("integer-changed", self._weightChanged)
    10511057        self._cargoWeight.set_tooltip_text(xstr("payload_cargo_tooltip"))
    10521058        table.attach(self._cargoWeight, 1, 2, 3, 4)
     
    10591065        table.attach(label, 0, 1, 4, 5)
    10601066
    1061         self._mailWeight = gtk.Label()
     1067        self._mailWeight = IntegerEntry(defaultValue = 0)
    10621068        self._mailWeight.set_width_chars(6)
    1063         self._mailWeight.set_alignment(1.0, 0.5)
     1069        self._mailWeight.connect("integer-changed", self._weightChanged)
     1070        self._mailWeight.set_tooltip_text(xstr("payload_mail_tooltip"))
    10641071        table.attach(self._mailWeight, 1, 2, 4, 5)
     1072        label.set_mnemonic_widget(self._mailWeight)
    10651073
    10661074        table.attach(gtk.Label("kg"), 2, 3, 4, 5)
     
    10971105
    10981106    @property
     1107    def numCrew(self):
     1108        """The number of the crew members on the flight."""
     1109        return self._numCrew.get_int()
     1110       
     1111    @property
     1112    def numPassengers(self):
     1113        """The number of the passengers on the flight."""
     1114        return self._numPassengers.get_int()
     1115       
     1116    @property
     1117    def bagWeight(self):
     1118        """Get the bag weight entered."""
     1119        return self._bagWeight.get_int()
     1120
     1121    @property
    10991122    def cargoWeight(self):
    11001123        """Get the cargo weight entered."""
    11011124        return self._cargoWeight.get_int()
    11021125
     1126    @property
     1127    def mailWeight(self):
     1128        """Get the bag weight entered."""
     1129        return self._mailWeight.get_int()
     1130
    11031131    def activate(self):
    11041132        """Setup the information."""
    11051133        bookedFlight = self._wizard._bookedFlight
    1106         self._numCrew.set_text(str(bookedFlight.numCrew))
    1107         self._numPassengers.set_text(str(bookedFlight.numPassengers))
    1108         self._bagWeight.set_text(str(bookedFlight.bagWeight))
     1134
     1135        self._numCrew.set_int(bookedFlight.numCrew)
     1136        self._numCrew.set_sensitive(True)
     1137        self._numPassengers.set_int(bookedFlight.numPassengers)
     1138        self._numPassengers.set_sensitive(True)
     1139
     1140        self._bagWeight.set_int(bookedFlight.bagWeight)
     1141        self._bagWeight.set_sensitive(True)
    11091142        self._cargoWeight.set_int(bookedFlight.cargoWeight)
    11101143        self._cargoWeight.set_sensitive(True)
    1111         self._mailWeight.set_text(str(bookedFlight.mailWeight))
     1144        self._mailWeight.set_int(bookedFlight.mailWeight)
     1145        self._mailWeight.set_sensitive(True)
     1146       
    11121147        self._simulatorZFW.set_text("-")
    11131148        self._simulatorZFWValue = None
     
    11171152    def finalize(self):
    11181153        """Finalize the payload page."""
     1154        self._numCrew.set_sensitive(False)
     1155        self._numPassengers.set_sensitive(False)
     1156        self._bagWeight.set_sensitive(False)
    11191157        self._cargoWeight.set_sensitive(False)
     1158        self._mailWeight.set_sensitive(False)
    11201159        self._wizard.gui.initializeWeightHelp()
    11211160
     
    11231162        """Calculate the ZFW value."""
    11241163        zfw = self._wizard.gui._flight.aircraft.dow
    1125         bookedFlight = self._wizard._bookedFlight
    1126         zfw += (bookedFlight.numCrew + bookedFlight.numPassengers) * 82
    1127         zfw += bookedFlight.bagWeight
     1164        zfw += (self._numCrew.get_int() + self._numPassengers.get_int()) * 82
     1165        zfw += self._bagWeight.get_int()
    11281166        zfw += self._cargoWeight.get_int()
    1129         zfw += bookedFlight.mailWeight
     1167        zfw += self._mailWeight.get_int()
    11301168        return zfw
    11311169       
     
    11421180        self._calculatedZFW.set_markup(markupBegin + str(zfw) + markupEnd)
    11431181
    1144     def _cargoWeightChanged(self, entry, weight):
    1145         """Called when the cargo weight has changed."""
     1182    def _weightChanged(self, entry, weight):
     1183        """Called when one of the weight values or humanm counts has changed."""
    11461184        self._updateCalculatedZFW()
    11471185           
     
    28492887
    28502888    @property
     2889    def numCrew(self):
     2890        """Get the number of crew members."""
     2891        return self._payloadPage.numCrew
     2892
     2893    @property
     2894    def numPassengers(self):
     2895        """Get the number of passengers."""
     2896        return self._payloadPage.numPassengers
     2897
     2898    @property
     2899    def bagWeight(self):
     2900        """Get the baggage weight."""
     2901        return self._payloadPage.bagWeight
     2902
     2903    @property
    28512904    def cargoWeight(self):
    2852         """Get the calculated ZFW value."""
     2905        """Get the cargo weight."""
    28532906        return self._payloadPage.cargoWeight
     2907
     2908    @property
     2909    def mailWeight(self):
     2910        """Get the mail weight."""
     2911        return self._payloadPage.mailWeight
    28542912
    28552913    @property
Note: See TracChangeset for help on using the changeset viewer.