Ignore:
Timestamp:
04/28/12 15:25:51 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

The fleet is now retrieved centrally and is updated on the Gates page all the time

File:
1 edited

Legend:

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

    r118 r119  
    4747        self._simulator = None
    4848        self._monitoring = False
     49        self._fleet = None
     50        self._fleetCallback = None
    4951
    5052        self._stdioLock = threading.Lock()
     
    551553        self._weightHelp.reset()
    552554        self._weightHelp.enable()
     555
     556    def getFleet(self, callback = None, force = False):
     557        """Get the fleet.
     558
     559        If force is False, and we already have a fleet retrieved,
     560        that one will be used."""
     561        if self._fleet is None or force:
     562            self._fleetCallback = callback
     563            self.beginBusy(xstr("fleet_busy"))
     564            self.webHandler.getFleet(self._fleetResultCallback)
     565        else:
     566            callback(self._fleet)
     567
     568    def _fleetResultCallback(self, returned, result):
     569        """Called when the fleet has been queried."""
     570        gobject.idle_add(self._handleFleetResult, returned, result)
     571
     572    def _handleFleetResult(self, returned, result):
     573        """Handle the fleet result."""
     574        self.endBusy()
     575        if returned:
     576            self._fleet = result.fleet
     577        else:
     578            self._fleet = None
     579
     580            dialog = gtk.MessageDialog(parent = self.gui.mainWindow,
     581                                       type = MESSAGETYPE_ERROR,
     582                                       buttons = BUTTONSTYPE_OK,
     583                                       message_format = xstr("fleet_failed"))
     584            dialog.set_title(WINDOW_TITLE_BASE)
     585            dialog.run()
     586            dialog.hide()
     587
     588        if self._fleetCallback is not None:
     589            self._fleetCallback(self._fleet)
     590            self._fleetCallback = None
     591        self._fleetGateStatus.handleFleet(self._fleet)
    553592
    554593    def _writeStdIO(self):
Note: See TracChangeset for help on using the changeset viewer.