Package library :: Package pyjamas :: Package ui :: Module Map
[hide private]
[frames] | no frames]

Source Code for Module library.pyjamas.ui.Map

 1  # Copyright (C) 2009 JJ Kunce (http://code.google.com/u/jjkunce) 
 2  # Copyright (C) 2009 Luke Kenneth Casson Leighton <lkcl@lkcl.net> 
 3  # 
 4  # Licensed under the Apache License, Version 2.0 (the "License"); 
 5  # you may not use this file except in compliance with the License. 
 6  # You may obtain a copy of the License at 
 7  # 
 8  #     http://www.apache.org/licenses/LICENSE-2.0 
 9  # 
10  # Unless required by applicable law or agreed to in writing, software 
11  # distributed under the License is distributed on an "AS IS" BASIS, 
12  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
13  # See the License for the specific language governing permissions and 
14  # limitations under the License. 
15   
16  from pyjamas import DOM 
17  from pyjamas import Factory 
18   
19  from pyjamas.ui.ComplexPanel import ComplexPanel 
20  from pyjamas.ui.Widget import Widget 
21  from pyjamas.ui.MouseListener import MouseHandler 
22  from pyjamas.ui.ClickListener import ClickHandler 
23   
24 -class ImageMap(ComplexPanel):
25 """ An imagemap 26 """
27 - def __init__(self, Name, **kwargs):
28 kwargs['Name'] = Name 29 if kwargs.has_key('Element'): 30 element = kwargs.pop('Element') 31 else: 32 element = DOM.createElement("map") 33 self.setElement(element) 34 ComplexPanel.__init__(self, **kwargs)
35
36 - def add(self, widget):
37 self.insert(widget, self.getWidgetCount())
38
39 - def insert(self, widget, beforeIndex):
40 widget.removeFromParent() 41 ComplexPanel.insert(self, widget, self.getElement(), beforeIndex)
42
43 - def setName(self, name):
44 DOM.setAttribute(self.getElement(), "name", name)
45 46 Factory.registerClass('pyjamas.ui.Map', 'ImageMap', ImageMap) 47
48 -class MapArea(Widget, MouseHandler, ClickHandler):
49 """ An area inside an imagemap 50 """
51 - def __init__(self, Shape, Coords, **kwargs):
52 if not kwargs.has_key('Href'): 53 kwargs['Href'] = "" 54 kwargs['Shape'] = Shape 55 kwargs['Coords'] = Coords 56 if kwargs.has_key('Element'): 57 element = kwargs.pop('Element') 58 else: 59 element = DOM.createElement("area") 60 self.setElement(element) 61 Widget.__init__(self, **kwargs) 62 MouseHandler.__init__(self, preventDefault=True) 63 ClickHandler.__init__(self, preventDefault=True)
64
65 - def setShape(self, shape):
66 DOM.setAttribute(self.getElement(), "shape", shape)
67
68 - def setCoords(self, coords):
69 DOM.setAttribute(self.getElement(), "coords", coords)
70
71 - def setHref(self, href):
72 DOM.setAttribute(self.getElement(), "href", href)
73 74 Factory.registerClass('pyjamas.ui.Map', 'MapArea', MapArea) 75