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

Source Code for Module pyjamas.ui.Button

 1  # Copyright 2006 James Tauber and contributors 
 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 ButtonBase import ButtonBase 
20   
21 -class Button(ButtonBase):
22
23 - def __init__(self, html=None, listener=None, **kwargs):
24 """ 25 Create a new button widget. 26 27 @param html: Html content (e.g. the button label); see setHTML() 28 @param listener: A new click listener; see addClickListener() 29 30 """ 31 if not kwargs.has_key('StyleName'): kwargs['StyleName']="gwt-Button" 32 if html: kwargs['HTML'] = html 33 if kwargs.has_key('Element'): 34 element = kwargs.pop('Element') 35 else: 36 element = DOM.createButton() 37 ButtonBase.__init__(self, element, **kwargs) 38 self.adjustType(self.getElement()) 39 if listener: 40 self.addClickListener(listener)
41
42 - def adjustType(self, button):
43 if button.type == 'submit': 44 try: 45 DOM.setAttribute(button, "type", "button") 46 except: 47 pass
48
49 - def click(self):
50 """ 51 Simulate a button click. 52 """ 53 self.getElement().click()
54 55 Factory.registerClass('pyjamas.ui.Button', Button) 56