Package pygsear :: Module Widget :: Class TextInput
[show private | hide private]
[frames | no frames]

Class TextInput

        TextButton --+    
                     |    
    Widget --+       |    
             |       |    
        Button --+   |    
                 |   |    
object --+       |   |    
         |       |   |    
    Sprite --+   |   |    
             |   |   |    
      Drawable --+   |    
                 |   |    
      SpriteButton --+    
                     |    
      SpriteTextButton --+
                         |
                        TextInput


Used to gather text input from the user.
Method Summary
  __init__(self, window, text, prompt, maxLength, length, callback, size, color, border, borderColor, padding, bgColor, inactiveColor, inactiveBgColor, group)
Initialize the TextInput widget.
a new object with type S, a subtype of T __new__(S, ...)
  __repr__(self)
(inherited from Sprite)
  activate(self)
  add(self, group)
add(group) add a sprite to container (inherited from Sprite)
  add_internal(self, group)
(inherited from Sprite)
  addLetter(self, pygameEvent)
Process the next keypress.
  alive(self)
alive() -> bool ask the life of a sprite (inherited from Sprite)
  arm(self)
(inherited from Button)
bool can_see(self, target, blocking_rects_list)
Performs a los (line of sight) check from the center of the source to the center of the target. (inherited from Drawable)
  center(self, x, y, dx, dy)
Align the Drawable in its layer (inherited from Drawable)
  clear(self, surface)
Erase sprite to background (inherited from Drawable)
  clicked(self, pygameEvent)
bool collide(self, other)
return True if this sprite and other sprite overlap. (inherited from Drawable)
Drawable or False collidelist(self, lothers)
return True if this sprite and any in list of others collide. (inherited from Drawable)
List collidelistall(self, lothers)
return True if this sprite and any in list of others collide. (inherited from Drawable)
  cursor_left(self)
  cursor_right(self)
  deactivate(self)
  direction(self, point)
return the direction from the sprite to a point (inherited from Drawable)
  distance(self, point)
return the distance from the sprite to a point (inherited from Drawable)
  done(self, pygame_event)
return the text_content.
  draw(self, surface)
Blit image to layer (inherited from Drawable)
  fire(self, pygameEvent)
  get_position(self)
return a copy of the sprite's position (inherited from Drawable)
  get_size(self)
return size of sprite's rect. (inherited from Drawable)
  groups(self)
groups() -> list list used sprite containers (inherited from Sprite)
  kill(self)
kill() end life of sprite, remove from all groups (inherited from Sprite)
  makeButton(self)
  modal(self)
  move(self)
set position to next position on path (inherited from Drawable)
  nop(self, arg)
(inherited from Widget)
  nudge(self, dx, dy)
Move sprite. (inherited from Drawable)
  onscreen(self, slack, **kw)
return True if image is on the screen or layer. (inherited from Drawable)
  pause(self)
stop moving along Path (inherited from Drawable)
  released(self, pygameEvent)
  remove(self, group)
remove(group) remove a sprite from container (inherited from Sprite)
  remove_internal(self, group)
(inherited from Sprite)
  runPath(self, frames)
call move() continuously (inherited from Drawable)
  set_callback(self, callback)
(inherited from Widget)
  set_crect(self, crect)
set the collision pygame.Rectused for collision checking. (inherited from Drawable)
  set_path(self, path)
set which path to follow (inherited from Drawable)
  set_position(self, location, *args)
Move sprite to location. (inherited from Drawable)
  set_positionRandom(self, slack)
Move sprite to a random location on screen (inherited from Drawable)
  set_size(self, size)
Set size of sprite's rect. (inherited from Drawable)
  set_text(self, text)
Save a copy of the content of the text field and update.
  solid(self, other, move_both)
move sprite so that it does not overlap with other sprite (inherited from Drawable)
  uclear(self, surface)
clear sprite and update display (inherited from Drawable)
  udraw(self, surface)
Draw image and update display. (inherited from Drawable)
  unpause(self)
start moving along Path (inherited from Drawable)
  update(self, *args)
(inherited from Sprite)
  updateButton(self)
  _quit(self, pygame_event)
(inherited from Widget)
  _set_position(self, location)
Move sprite to location. (inherited from Drawable)
  _stop(self, pygame_event)
(inherited from Widget)

Method Details

__init__(self, window=None, text='', prompt='', maxLength=10, length=150, callback=None, size=22, color=(255, 255, 255), border=1, borderColor=(125, 255, 125), padding=5, bgColor=(0, 0, 0), inactiveColor=(195, 195, 195), inactiveBgColor=(95, 95, 95), group=None)
(Constructor)

Initialize the TextInput widget.
Parameters:
window - Layer on which sprite lives.
text - Initial text in the window.
maxLength - Maximum number of characters in input.
length - Width of the text window in pixels.
callback - Function to call when RETURN is pressed.
size - Font size.
color - Text color.
border - Thickness of text window border (0 for no border)
borderColor - Color of window border (if any)
padding - Space between text and edge of window or border.
bgColor - Background color of text window.
inactiveColor - Text color when widget is inactive.
inactiveBgColor - Background color when widget is inactive.
group - Additional group/ groups that should watch for this widget's events.

__new__(S, ...)

Returns:
a new object with type S, a subtype of T

addLetter(self, pygameEvent)

Process the next keypress.
Parameters:
pygameEvent - pygame.event.Event. Usually passed in from the pygsear Event handler.

done(self, pygame_event=None)

return the text_content.

If this is triggered from one of the widget's own events (ie K_RETURN), it only returns the contents if the widget is active. Otherwise, if it was called from outside (pygame_event is None) it returns the content no matter what it's state was (active or inactive). This allows another button to call in to the TextInput and force it to trigger its callback.
Parameters:
pygame_event - pygame.Event triggering the call. If this is None, done() must have been called from outside the widget, and so it should just go ahead and callback with its text.

set_text(self, text)

Save a copy of the content of the text field and update.

Since the actual field is padded with spaces when it is rendered, it is necessary to save a copy of the actual contents before going to render.

Generated by Epydoc 1.1 on Sun Nov 30 19:33:15 2003 http://epydoc.sf.net