Inherited by objects.logic.entity.filter.customFilter.customFilter.
Public Member Functions | |
| def | __init__ |
| def | getUserFriendlyZoomLevel |
| will return a string indicating what the zoom level is, given some large integer. | |
| def | shouldDisplayLines |
| Returns True if the lines should be displayed given the current Zoom/Settings combination. | |
| def | shouldDisplayLabels |
| Returns True if the map labels should be displayed given the current Zoom/Settings combination. | |
| def | shouldDisplayEntity |
| returns a boolean indicating if the supplied networkEntity object should be displayed or not | |
| def | setFromDisplayConfig |
| Sets its internal members based on an optionsConfigurator object, and a zoom Factor value. | |
Public Attributes | |
| minXferCheck | |
| minXfer | |
| maxIdleTimeCheck | |
| maxIdleTime | |
| lineZoomOption | |
| lineZoomLevel | |
| labelZoomOption | |
| labelZoomLevel | |
| filteredItems | |
| zoomRanking | |
| initilized | |
| zoomFactor | |
| minXferScale | |
| idleTimeScale | |
Usually the baseFilter will expose a single shouldDisplay() method returning a boolean value which will indicate whether the item should be displayed or not.
Internally the baseFilter class just contain all global filter settings.
Definition at line 31 of file baseFilter.py.
| def objects.logic.entity.filter.baseFilter.baseFilter.__init__ | ( | self | ) |
Reimplemented in objects.logic.entity.filter.customFilter.customFilter.
Definition at line 32 of file baseFilter.py.
00032 : 00033 self.minXferCheck = False 00034 self.minXfer = -1 00035 00036 self.maxIdleTimeCheck = False 00037 self.maxIdleTime = -1 00038 00039 self.lineZoomOption = "Always" 00040 self.lineZoomLevel = globalStrings.DISP_SETT_COUNTRY_STATE 00041 00042 self.labelZoomOption = "Always" 00043 self.labelZoomLevel = globalStrings.DISP_SETT_COUNTRY_STATE 00044 00045 self.filteredItems = [] 00046 00047 zoomFactor = 0 00048 00049 # zoom priority dictionary 00050 self.zoomRanking = dict() 00051 00052 self.zoomRanking[globalStrings.DISP_SETT_CITY] = 0 00053 self.zoomRanking[globalStrings.DISP_SETT_COUNTRY_STATE] = 1 00054 self.zoomRanking[globalStrings.DISP_SETT_CONTINENT] = 2 00055 self.zoomRanking[globalStrings.DISP_SETT_WORLDWIDE] = 3 00056 00057 self.initilized = False 00058 ## will return a string indicating what the zoom level is, given some large integer.
| def objects.logic.entity.filter.baseFilter.baseFilter.getUserFriendlyZoomLevel | ( | self, | ||
| zoomFactor | ||||
| ) |
will return a string indicating what the zoom level is, given some large integer.
possible values are: "WorldWide", "Continent", "Country/State" or "City"
| zoomFactor | Integer (fig_axes Axes Range) |
Definition at line 63 of file baseFilter.py.
00063 : 00064 00065 if zoomFactor >= 8500000: return globalStrings.DISP_SETT_WORLDWIDE 00066 elif zoomFactor < 8500000 and zoomFactor >= 2000000: return globalStrings.DISP_SETT_CONTINENT 00067 elif zoomFactor < 2000000 and zoomFactor >= 500000: return globalStrings.DISP_SETT_COUNTRY_STATE 00068 else: return globalStrings.DISP_SETT_CITY 00069 00070 00071
| def objects.logic.entity.filter.baseFilter.baseFilter.setFromDisplayConfig | ( | self, | ||
| config, | ||||
| zoomFactor | ||||
| ) |
Sets its internal members based on an optionsConfigurator object, and a zoom Factor value.
| config | optionsConfigurator object | |
| zoomFactor |
Definition at line 149 of file baseFilter.py.
00149 : 00150 00151 self.zoomFactor = zoomFactor 00152 00153 self.minXferCheck, self.minXfer, self.minXferScale = config.glb_getMinXferOptions() 00154 self.maxIdleTimeCheck, self.maxIdleTime, self.idleTimeScale = config.glb_getMaxIdleOptions() 00155 00156 self.lineZoomOption, self.lineZoomLevel = config.glb_getLineOptions() 00157 self.labelZoomOption, self.labelZoomLevel = config.glb_getLabelOptions() 00158 00159 00160 self.initilized = True 00161
| def objects.logic.entity.filter.baseFilter.baseFilter.shouldDisplayEntity | ( | self, | ||
| networkEntity | ||||
| ) |
returns a boolean indicating if the supplied networkEntity object should be displayed or not
| networkEntity | networkEntity Object |
Reimplemented in objects.logic.entity.filter.customFilter.customFilter.
Definition at line 124 of file baseFilter.py.
00124 : 00125 00126 if self.initilized == False: 00127 return False 00128 00129 if self.minXferCheck == True: 00130 ajdXfer = float(networkEntity.totalBytes)/float(self.minXferScale) 00131 if ajdXfer < self.minXfer: 00132 return False 00133 00134 if self.maxIdleTimeCheck == True: 00135 ts = time.time() 00136 00137 deltaTime = (ts - networkEntity.lastUpdateTS) / self.idleTimeScale 00138 if deltaTime > self.maxIdleTime: 00139 return False 00140 00141 00142 return True 00143 00144 00145 ## Sets its internal members based on an optionsConfigurator object, and a zoom Factor value
| def objects.logic.entity.filter.baseFilter.baseFilter.shouldDisplayLabels | ( | self | ) |
Returns True if the map labels should be displayed given the current Zoom/Settings combination.
Definition at line 99 of file baseFilter.py.
00099 : 00100 # figure out zoom factor, then decide 00101 if self.labelZoomOption == "Always": 00102 return True 00103 elif self.labelZoomOption == "Never": 00104 return False 00105 else: 00106 try: 00107 currZoomRank = self.zoomRanking[self.getUserFriendlyZoomLevel(self.zoomFactor)] 00108 settingLabelZoomRank = self.zoomRanking[ self.labelZoomLevel] 00109 except Exception, ex: 00110 # probably something out of range 00111 errMsg = ": Could not determine Label zoom ranking (Defaulting). Error: %s" % (ex) 00112 logger.log(__name__ + errMsg) 00113 00114 return True 00115 else: 00116 if currZoomRank <= settingLabelZoomRank: 00117 return True 00118 else: 00119 return False 00120 ## returns a boolean indicating if the supplied networkEntity object should be displayed or not
| def objects.logic.entity.filter.baseFilter.baseFilter.shouldDisplayLines | ( | self | ) |
Returns True if the lines should be displayed given the current Zoom/Settings combination.
Definition at line 74 of file baseFilter.py.
00074 : 00075 # figure out zoom factor, then decide 00076 if self.lineZoomOption == "Always": 00077 return True 00078 elif self.lineZoomOption == "Never": 00079 return False 00080 else: 00081 try: 00082 currZoomRank = self.zoomRanking[self.getUserFriendlyZoomLevel(self.zoomFactor)] 00083 settingLineZoomRank = self.zoomRanking[ self.lineZoomLevel] 00084 except Exception, ex: 00085 # probably something out of range 00086 errMsg = ": Could not determine Line zoom ranking (Defaulting). Error: %s" % (ex) 00087 logger.log(__name__ + errMsg) 00088 00089 return True 00090 else: 00091 if currZoomRank <= settingLineZoomRank: 00092 return True 00093 else: 00094 return False 00095 00096 ## Returns True if the map labels should be displayed given the current Zoom/Settings combination
Definition at line 45 of file baseFilter.py.
Definition at line 154 of file baseFilter.py.
Definition at line 57 of file baseFilter.py.
Definition at line 43 of file baseFilter.py.
Definition at line 42 of file baseFilter.py.
Definition at line 40 of file baseFilter.py.
Definition at line 39 of file baseFilter.py.
Definition at line 37 of file baseFilter.py.
Definition at line 36 of file baseFilter.py.
Definition at line 34 of file baseFilter.py.
Definition at line 33 of file baseFilter.py.
Definition at line 153 of file baseFilter.py.
Definition at line 151 of file baseFilter.py.
Definition at line 50 of file baseFilter.py.
1.5.8