예제 #1
0
    def LoadFilters(self):
        scrolllist = []
        for name, labelName in fleetbr.broadcastNames.iteritems():
            data = KeyVal()
            if name == 'Event':
                rngName = ''
            else:
                rng = fleetbr.GetBroadcastWhere(name)
                rngName = fleetbr.GetBroadcastWhereName(rng)
            data.label = localization.GetByLabel(labelName)
            data.props = None
            data.checked = bool(
                settings.user.ui.Get('listenBroadcast_%s' % name, True))
            data.cfgname = name
            data.retval = None
            data.hint = '%s:<br>%s' % (localization.GetByLabel(
                'UI/Fleet/FleetBroadcast/RecipientRange'), rngName)
            data.colorcoded = settings.user.ui.Get(
                'fleet_broadcastcolor_%s' % name, None)
            data.OnChange = self.Filter_OnCheckBoxChange
            scrolllist.append(
                listentry.Get(entryType=None,
                              data=data,
                              decoClass=BroadcastSettingsEntry))

        self.sr.scrollBroadcasts.sr.id = 'scrollBroadcasts'
        self.sr.scrollBroadcasts.Load(contentList=scrolllist)
예제 #2
0
 def AddCheckBox(self, config, scrolllist, group = None, usecharsettings = 0, sublevel = 0):
     cfgname, retval, desc, default = config
     data = KeyVal()
     data.label = desc
     data.checked = default
     data.cfgname = cfgname
     data.retval = retval
     data.group = group
     data.sublevel = sublevel
     data.OnChange = self.CheckBoxChange
     data.usecharsettings = usecharsettings
     data.hideLines = True
     if scrolllist is not None:
         scrolllist.append(listentry.Get('Checkbox', data=data))
     else:
         return listentry.Get('Checkbox', data=data)
예제 #3
0
 def AddCheckBox(self, config, scrolllist, group = None, usecharsettings = 0, sublevel = 0):
     cfgname, retval, desc, default = config
     data = KeyVal()
     data.label = desc
     data.checked = default
     data.cfgname = cfgname
     data.retval = retval
     data.group = group
     data.sublevel = sublevel
     data.OnChange = self.CheckBoxChange
     data.usecharsettings = usecharsettings
     data.hideLines = True
     if scrolllist is not None:
         scrolllist.append(listentry.Get('Checkbox', data=data))
     else:
         return listentry.Get('Checkbox', data=data)
예제 #4
0
    def LoadComposition(self):
        fleetSvc = sm.GetService('fleet')
        if not fleetSvc.IsCommanderOrBoss():
            raise UserError('FleetNotCommanderOrBoss')
        scrolllist = []
        composition = fleetSvc.GetFleetComposition()
        fleetHierarchy = fleetSvc.GetFleetHierarchy()
        fleetPositionText = localization.GetByLabel(
            'UI/Fleet/FleetWindow/FleetPosition')
        for kv in composition:
            blue.pyos.BeNice()
            member = fleetSvc.GetMemberInfo(kv.characterID, fleetHierarchy)
            if not fleetSvc.IsMySubordinate(
                    kv.characterID) and not fleetSvc.IsBoss():
                continue
            data = KeyVal()
            charName = localization.GetByLabel('UI/Common/CharacterNameLabel',
                                               charID=kv.characterID)
            locationName = localization.GetByLabel('UI/Common/LocationDynamic',
                                                   location=kv.solarSystemID)
            if kv.stationID:
                locationName = '%s %s' % (
                    locationName,
                    localization.GetByLabel('UI/Fleet/FleetComposition/Docked')
                )
            if kv.shipTypeID is not None:
                shipTypeName = evetypes.GetName(kv.shipTypeID)
                shipGroupName = evetypes.GetGroupName(kv.shipTypeID)
            else:
                shipTypeName = ''
                shipGroupName = ''
            if kv.skills:
                skillLevels = localization.GetByLabel(
                    'UI/Fleet/FleetComposition/SkillLevels',
                    skillLevelA=kv.skills[2],
                    skillLevelB=kv.skills[1],
                    skillLevelC=kv.skills[0])
                data.hint = localization.GetByLabel(
                    'UI/Fleet/FleetComposition/SkillsHint',
                    skillTypeA=kv.skillIDs[2],
                    skillLevelA=kv.skills[2],
                    skillTypeB=kv.skillIDs[1],
                    skillLevelB=kv.skills[1],
                    skillTypeC=kv.skillIDs[0],
                    skillLevelC=kv.skills[0])
            else:
                skillLevels = ''
            if not member.wingName:
                fleetPosition = ''
                positionSortValue = (None, None)
            elif not member.squadName:
                fleetPosition = member.wingName
                positionSortValue = (fleetPosition, None)
            else:
                fleetPosition = '%s / %s ' % (member.wingName,
                                              member.squadName)
                positionSortValue = (member.wingName, member.squadName)
            data.label = '<t>'.join([
                charName, locationName, shipTypeName, shipGroupName,
                member.roleName, skillLevels, fleetPosition
            ])
            data.GetMenu = self.OnCompositionEntryMenu
            data.cfgname = charName
            data.retval = None
            data.charID = kv.characterID
            data.shipTypeID = kv.shipTypeID
            data.solarSystemID = kv.solarSystemID
            data.info = cfg.eveowners.Get(kv.characterID)
            data.Set('sort_%s' % fleetPositionText, positionSortValue)
            scrolllist.append(listentry.Get('FleetCompositionEntry',
                                            data=data))

        self.counterLabel.text = localization.GetByLabel(
            'UI/Fleet/FleetComposition/PilotsSelected',
            numSelected=0,
            numTotalPilots=len(scrolllist))
        self.sr.scrollBroadcasts.sr.id = 'scrollComposition'
        headers = [
            localization.GetByLabel('UI/Common/Name'),
            localization.GetByLabel('UI/Common/Location'),
            localization.GetByLabel('UI/Fleet/FleetComposition/ShipType'),
            localization.GetByLabel('UI/Fleet/FleetComposition/ShipGroup'),
            localization.GetByLabel('UI/Fleet/FleetComposition/FleetRole'),
            localization.GetByLabel('UI/Fleet/FleetComposition/FleetSkills'),
            fleetPositionText
        ]
        self.sr.scrollBroadcasts.Load(headers=headers, contentList=scrolllist)