Kamaelia docs : Kamaelia.UI.Pygame.Button.Button

Kamaelia.UI.Pygame.Button.Button

For examples and more explanations, see the module level docs.


class Button(Axon.Component.component)

Button(...) -> new Button component.

Create a button widget in pygame, using the Pygame Display service. Sends a message out of its outbox when clicked.

Keyword arguments (all optional):

  • caption -- text (default="Button <component id>")
  • position -- (x,y) position of top left corner in pixels
  • margin -- pixels margin between caption and button edge (default=8)
  • bgcolour -- (r,g,b) fill colour (default=(224,224,224))
  • fgcolour -- (r,g,b) text colour (default=(0,0,0))
  • msg -- sent when clicked (default=("CLICK",self.id))
  • key -- if not None, pygame keycode to trigger click (default=None)
  • transparent -- draw background transparent if True (default=False)
  • size -- None or (w,h) in pixels (default=None)

Inboxes

  • control : For shutdown messages
  • callback : Receive callbacks from Pygame Display
  • inbox : Receive events from Pygame Display

Outboxes

  • outbox : button click events emitted here
  • signal : For shutdown messages
  • display_signal : Outbox used for communicating to the display surface

Methods defined here

blitToSurface(self)

Clears the background and renders the text label onto the button surface.

buildCaption(self, text)

Pre-render the text to go on the button label.

main(self)

Main loop.

waitBox(self, boxname)

Generator. yields 1 until data ready on the named inbox.

Feedback

Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 19 Oct 2008 at 14:29:09 UTC/GMT

This is a page from the Kamaelia website. You can find the original here: