August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)

Kamaelia.UI.OpenGL.SimpleButton

Simple Button component

A simple cuboid shaped button without caption. Implements responsive button behavoir.

Could be used to subclass differently shaped buttons from. The colours of the front/back and the side faces can be specified.

Example Usage

Two simple buttons which send messages to the console:

Graphline(
    button1 = SimpleButton(size=(1,1,0.3), position=(-2,0,-10), msg="PINKY"),
    button2 = SimpleButton(size=(2,2,1), position=(5,0,-15), msg="BRAIN"),
    echo = ConsoleEchoer(),
    linkages = {
        ("button1", "outbox") : ("echo", "inbox"),
        ("button2", "outbox") : ("echo", "inbox")
    }
).run()

How does it work?

This component is a subclass of OpenGLComponent (for OpenGLComponent functionality see its documentation). It overrides __init__(), setup(), draw() and handleEvents().

It draws a simple cuboid. It is activated on mouse button release over the object and on key down if a key is assigned. On mouse button down it is shrunk by a small amount until the button is released.


Kamaelia.UI.OpenGL.SimpleButton.SimpleButton

class SimpleButton(Kamaelia.UI.OpenGL.OpenGLComponent.OpenGLComponent)

SimpleButton(...) -> A new SimpleButton component.

A simple cuboid shaped button without caption. Implements responsive button behavoir.

Keyword arguments:

  • bgcolour -- Background colour (default=(244,244,244))
  • sidecolour -- Colour of side planes (default=(200,200,244))
  • key -- Activation key, pygame identifier (optional)
  • msg -- Message that gets sent to the outbox when the button is activated (default="CLICK")

Inboxes

Outboxes

Methods defined here

Warning!

You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.

__init__(self, **argd)

x.__init__(...) initializes x; see x.__class__.__doc__ for signature

draw(self)

handleEvents(self)

setup(self)

Methods inherited from Kamaelia.UI.OpenGL.OpenGLComponent.OpenGLComponent :

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, 05 Jun 2009 at 03:01:38 UTC/GMT