--- ECHO_content/ECHO_helpers.py 2005/06/10 10:23:54 1.55 +++ ECHO_content/ECHO_helpers.py 2005/06/13 10:35:04 1.56 @@ -178,8 +178,19 @@ class ECHO_basis: def getMapAreas(self): """returns the list of MapAreas""" + forcetypes = self.REQUEST.get('map_force_types', None) + if forcetypes: + typelist = forcetypes.split(',') + else: + typelist = None + areas = [] # get all contained MapAreas - areas = [res[1] for res in self.ZopeFind(self, obj_metatypes=('MapArea'))] + for res in self.ZopeFind(self, obj_metatypes=('MapArea')): + area = res[1] + # check the allowed types + if typelist is not None and area.getType() not in typelist: + continue + areas.append(area) return areas def addMapArea(self, newarea): @@ -250,12 +261,14 @@ class ECHO_basis: if RESPONSE is not None: RESPONSE.redirect('ECHO_graphicEntry') - def createJSAreas(self, areas, forcepermanent=None): + def createJSAreas(self, areas): """create area calls for JavaScript""" + forceperm = self.REQUEST.get('map_force_permanent', None) js="\n" for ob in areas: - if forcepermanent is not None: - perm = forcepermanent + # check for force-permanent + if forceperm is not None: + perm = forceperm else: perm = ob.isPermanent() js+="""addArea('%s', 'overview', %s, '%s', '%s');\n"""%(ob.getFullId(),ob.getCoordString(),ob.getType(),perm) @@ -296,11 +309,11 @@ class ECHO_basis: tag = "" if bt.isN4: # N4 needs layer for highlighting - tag += '" else: # a-element - tag = '" @@ -326,6 +339,12 @@ class ECHO_basis: if float(rot) < 0: marksrc = circlesrc tag += ''%(link,marksrc,rot) + elif ob.isTypeText(): + # N4 - Text + tag += '
'%(id,id,id,link,target) + tag = ''%(id,id,id,link,target) if ob.isTypeArrow(): # DOM - Arrow rot = ob.angle