web/formwidgets.py
branchtls-sprint
changeset 1389 ae58c2e7e1f7
parent 1367 01bb5b727fe3
child 1392 d6279efff7b3
equal deleted inserted replaced
1388:6d5f0ccf31b8 1389:ae58c2e7e1f7
   344 '''
   344 '''
   345 
   345 
   346 # buttons ######################################################################
   346 # buttons ######################################################################
   347 
   347 
   348 class Button(Input):
   348 class Button(Input):
   349     """<input type='button'>, base class for global form buttons"""
   349     """<input type='button'>, base class for global form buttons
       
   350 
       
   351     note label is a msgid which will be translated at form generation time, you
       
   352     should not give an already translated string.
       
   353     """
   350     type = 'button'
   354     type = 'button'
   351     def __init__(self, label=stdmsgs.BUTTON_OK, attrs=None,
   355     def __init__(self, label=stdmsgs.BUTTON_OK, attrs=None,
   352                  setdomid=None, settabindex=None,
   356                  setdomid=None, settabindex=None,
   353                  name='', value='', onclick=None, cwaction=None):
   357                  name='', value='', onclick=None, cwaction=None):
   354         super(Button, self).__init__(attrs, setdomid, settabindex)
   358         super(Button, self).__init__(attrs, setdomid, settabindex)
   390 
   394 
   391 
   395 
   392 class ImgButton(object):
   396 class ImgButton(object):
   393     """<img> wrapped into a <a> tag with href triggering something (usually a
   397     """<img> wrapped into a <a> tag with href triggering something (usually a
   394     javascript call)
   398     javascript call)
       
   399 
       
   400     note label is a msgid which will be translated at form generation time, you
       
   401     should not give an already translated string.
   395     """
   402     """
   396     def __init__(self, domid, href, label, imgressource):
   403     def __init__(self, domid, href, label, imgressource):
   397         self.domid = domid
   404         self.domid = domid
   398         self.href = href
   405         self.href = href
   399         self.imgressource = imgressource
   406         self.imgressource = imgressource
   400         self.label = label
   407         self.label = label
   401         
   408         
   402     def render(self, form, field=None):
   409     def render(self, form, field=None):
   403         self.imgsrc = form.req.external_resource(self.imgressource)
   410         label = form.req._(self.label)
   404         return '<a id="%(domid)s" href="%(href)s"><img src="%(imgsrc)s" alt="%(label)s"/>%(label)s</a>' % self.__dict__
   411         imgsrc = form.req.external_resource(self.imgressource)
       
   412         return '<a id="%(domid)s" href="%(href)s">'\
       
   413                '<img src="%(imgsrc)s" alt="%(label)s"/>%(label)s</a>' % {
       
   414             'label': label, 'imgsrc': imgsrc,
       
   415             'domid': self.domid, 'href': self.href}
       
   416             
   405 
   417 
   406     
   418     
   407 # XXX EntityLinkComboBoxWidget, [Raw]DynamicComboBoxWidget
   419 # XXX EntityLinkComboBoxWidget, [Raw]DynamicComboBoxWidget