This NEWS file for ocempgui covers a short overview about the latest
changes.

0.2.3   2006-11-20:
-------------------
  access package:
  * ocempgui.access.papi updated to version 0.0.2, which relies upon
    ATK >= 1.12.1.

  widgets packge:
  * Added a new example for embedding the Renderer into an own mainloop
    and the assignment of partial screen areas.
  * New rect and rect style attributes in Renderer class.
  * Improved drawing method of the Renderer (thanks to Martin Fuzzey).
  * The Renderer supports event based polling now, which can be
    chosen using Renderer.start (True). By default the timer based
    polling will be used.
  * Fixed a layer update bug for widgets that do not directly intersect
    with screen portions to update.
  * The remove_widget() method of the Renderer class now accepts
    multiple widget arguments similar to the add_widget() method.
  * Setting the state in the Button, ImageButton and ToggleButton
    classes will not cause redraws anymore, if the state did not change.
  * Fixed the assignment of surfaces to the Renderer and the event
    handling for them.

0.2.2   2006-10-19:
-------------------
  access package:
  * Fixed a notify() bug in the Magnifier class, which could cause
    exceptions if no mouse movements occured in the passed event list.

  draw package:
  * The font cache of the String module distinguishes between applied
    styles when String.create_font(), String.create_file_font() and
    String.create_system_font() are used. (Thanks to Regis Desgroppes)
  * Fixed a bug in String.create_system_font(), which applied styles
    two times and could lead to broken rendering of fonts. (Thanks to
    Regis Desgroppes)

  widgets packge:
  * New TooltipWindow class which uses a certain color and displays
    a simple line text.
  * New SIG_ENTER and SIG_LEAVE signals, which indicate that the mouse
    cursor entered or left a widget.
  * New 'entered' attribute and set_entered() method in BaseWidget
    class, which indicate, that the widget is entered by an input
    device.
  * Added SIG_ENTER and SIG_LEAVE support to the BaseWidget class.
  * Minor speed optimizations in some widget classes.
  * The WidgetStyle dictionary class will be imported using the module
    namespace now.
  * Fixed internal positioning for packed widgets.
  * Removed doubled set_state() method in ToggleButton class.
  * Fixed wrong SIG_FOCUSED emittance, when the focus was not set on the
    widget.
  * Fixed scrolling behaviour in the ScrolledList class.
  * Fixed the update of deselected items in the ScrolledList class.
  * Fixed drawing_engine example.

0.2.1   2006-08-25:
-------------------
  * ATK version check fix.

  access package:
  * New Magnifier class, a magnification tool for pygame screens.

  draw package:
  * New Constants module.
  * New FONT_STYLE_TYPES constants for styles to be passed to the
    String module methods.
  * String.* functions now allow additional style flags to be passed.
  * New method apply_font_styles() in String module to apply different
    rendering styles to a font.

  events package:
  * New Subject and IObserver class for simple Observer pattern needs.
  * New method clear() in EventManager class, which removes all objects
    and signals from all event queues.

  widgets package:
  * New SIG_SCREENCHANGED signal, which indicates changes of the bound
    'screen' attribute of the Renderer.
  * New method create_style() in BaseWidget class, which is a
    replacement for the deprecated get_style() method.
  * New WidgetStyle dictionary class, which can track key-value changes.
  * New ImageLabel class for simple image displays.
  * New style entry 'shadowcolor' for adjusting dropshadow effects.
  * New method clear() in Renderer class, which removes all objects from
    the Renderer layers.
  * Fixed emittance of SIG_TICK events on all layers, if an
    event grabber is set.
  * The Style class now makes use of WidgetStyle dictionaries to track
    style changes.
  * Fixed drawing in the draw_dropshadow() method of the DefaultEngine
    class for larger shadow values.
  * Fixed doubled assignment of the 'screen' attribute in the Renderer
    class on VIDEORESIZE events.
  * Fixed a bug in the remove_index() method of the Renderer class for 
    empty arguments.
  * Fixed the size calculation for larger spacing values in the Table
    class.
  * Fixed a focusing bug in the Window class, which prevented children
    to receive the correct input focus under some circumstances.
  * Fixed depth assignment for widgets attached to the Bin or Container
    class.
  * Fixed 'indexable' assignment for the 'controls' attribute of the
    BaseWidget class.
  * Fixed creation of the Table internals on invocation of its
    constructur.
  * Fixed event.handled assignment on clicks in Entry class.
  * The get_style() method of the BaseWidget class is deprecated.

0.2.0   2006-07-22:
-------------------
  * Minimum pygame requirement changed to version 1.7.1.
  * Installation of additional data now respects the user flags.
  * Filename fixes for case insensitive filesystems.

  access package:
  * Renamed Accessible class to IAccessible to outline that it is an
    interface class.
  * Renamed Indexable class to IIndexable to outline that it is an
    interface class.
  * New _papi (python accessible programming interface) module, which
    bridges to the ATK/AT-SPI accessibility system.
  * New interface update_index() in Indexable for updating object
    indices.
  * Removed AccessibleContext class because it had no use.

  draw package:
  * New FaderSurface class, which can fade in and out surfaces using
    alpha transparency.

  events package:
  * New INotifyable interface class.
  * New method __len__() in the EventManager class, which counts the
    total amount of objects addded in any of its queues.
  * EventManager class does not use __slots__ anymore.
  * Renamed 'eventgrabber' attribute in EventManager class to
    'event_grabber' to synchronize the naming schemes.

  object package:
  * BaseObject class now inherits from ocempgui.events.INotifyable

  widgets package:
  * New style entry 'bordercolor' for flat borders (BORDER_FLAT).
  * New abstract ButtonBase class for the fast creation of button type
    widgets.
  * New abstract Diagram class for diagram and graph widgets.
  * New Graph2D class for drawing function graphs on a 2D coordinate
    plane.
  * New ViewPort class, which can act as proxy for widgets, which need
    to be scrolled.
  * New global StyleInformation dictionary, which contains additional
    information about the Styles.
  * New DEFAULTDATADIR constant which denotes the installation path of
    the theme engines and additional resources.
  * New ORIENTATION_TYPES constants for widgets, which can draw
    themselves in a horizontal or vertival alignment.
  * New signal SIG_UPDATED, which indicates, that the screen was updated
    by the Renderer class.
  * New signal groups SIGNALS_KEYS and SIGNALS_MOUSE.
  * New 'maxsize' attribute and set_maximum_size () method in the
    BaseWidget class.
  * New 'minsize' attribute and set_minimum_size () method in the
    BaseWidget class.
  * New 'locked' attribute and lock() and unlock() methods in the
    BaseWidget class, which add locking abilities for updates.
  * New 'indexable' attribute and set_indexable() method in BaseWidget
    class for setting the Indexable interface implementor to use.
  * New method draw_bg() in BaseWidget class, which draws the plain
    background for the widgets (formerly a part of the draw() method).
  * New method rect_to_client() in BaseWidget class, which returns the
    absolute rectangle position of a widget on the screen and can be
    used as a replacement for the dropped 'eventarea' attribute.
  * New method check_sizes() method in BaseWidget.class, which
    guarantees valid sizes within the limitations of the BaseWidget.
  * New 'date_width' attribute and set_date_width() method in the
    StatusBar class.
  * New 'tip_width' attribute and set_tip_width() method in the
    StatusBar class.
  * New method select_all() in the ScrolledList class.
  * New 'managers' attribute and get_managers() method in the Renderer
    class, which returns a dict containing the event managers of the 
    different layers using the layer depths as keys.
  * New 'active_layer' attribute and set_active_layer() method in the
    Renderer class to set the active input layer
  * New 'show_layer_info' attribute and set_show_layer_info() method in
    the Renderer class to show layer information upon switching the
    active layer.
  * New 'support_resize' attribute and set_support_resize() method in
    the Renderer class to support VIDEORESIZE events.
  * New switch_layer() method in Renderer class to allow switching the
    input layer using CTRL-SPACE.
  * Full z-axis layer support through a new layer system within the
    the Renderer class.
  * Assigning the 'screen' attribute of the Renderer now will keep
    the surface attributes such as alpha transparency or a colorkey
    intact.
  * Events passed to the Renderer will be sent to the currently active
    layer only (except mouse events).
  * The updating mechanisms heavily changed. Updates are applied
    and shown instantly without a time bound loop mechanism. The event
    manangement in the Renderer class however is still bound to a timer.
  * Updating and drawing code was rewritten, which might break user
    defined drawing code.
  * Widgets are positioned relatively to their parents now, so that
    widget.rect returns the relative coordinates.
  * The 'position' attribute and set_position() method of the BaseWidget
    class are deprecated. Use the 'topleft' attribute instead.
  * The 'eventarea' attribute and set_event_area () method of the
    BaseWidget class are deprecated. Use the rect_to_client () method
    instead.
  * The Style class was rewritten in order to make use of theme engines.
  * Generic drawing routines were separated into an own default theme
    engine.
  * draw() methods of the widgets now take care of drawing the widget
    specific parts (formerly the Style class methods did that).
  * The BaseWidget class exposes all its pygame.Rect attributes.
  * Made several hittest and drawing related methods of the Entry class
    private.
  * The ScrolledWindow class now expects a ViewPort widget as child.
    Assigning any widget to its child attribute will encapsulate it in a
    ViewPort automatically, if not already done.
  * Made the get_visible_area() method of the ScrolledWindow class
    private.
  * The default value of the 'spacing' attribute for the ScrolledList
    changed from 2 to 0.
  * Made the get_coords_from_value() and get_value_from_coords() methods
    of the Scale and ScrollBar classes private.
  * Made get_slider_size() and get_button_coords() methods of the
    ScrollBar class private.
  * The StatusBar class uses fixed widths for the date and tips now.
  * The 'rect' attribute of the BaseWidget will return a copy of itself
    now.
  * The update() method of the BaseWidget receives keyword arguments now.
  * The set_dirty() method of the BaseWidget receives an additional
    argument now.
  * The 'caret_visible' attribute of the Editable class is writeable
    now.
  * The text argument in the CheckButton, RadioButton and ToggleButton
    constructors is optional now.
  * The image argument in the ImageButton constructor is optional now.
  * The Button, ImageButton and ToggleButton classes now inherit from
    ButtonBase.
  * The Button, ToggleButton, ImageButton, CheckButton and RadioButton
    classes now will draw a dashed border on focus regardless of a set
    child.
  * The create_screen() method of the Renderer class now allows to set
    additional flags as defined by pygame.display.set_mode().
  * The look of the Scale classes was overhauled.
  * The load() style loading method of the Style class now recognizes
    variables, which start with '_'.
  * Improved navigation support in the ScrolledList class.
  * The ListItemCollection now inherits from UserList.
  * The ListItemCollection constructor now receives optional list
    arguments.
  * Fixed a bug in ListItemCollection.destroy() which prevented it from
    being destroyed correctly.
  * 'shadow' value of the default style changed from 2 to 1.
  * Various former drawing methods of the Style class now draw directly
    on the passed surface.
  * Brushed up default FOLDER icon image.
  * Removed the RenderLayer class.
  * Removed the force_update() method from the Renderer class.
  * 'size' attribute and set_size() method are replaced by the
    'minsize' and 'maxsize' attributes and the set_minimum_size() and
    set_maximum_size() methods in BaseWidget class. The 'size' attribute
    itself will return the actual size of the widget.
  * Removed the get_scrollable_area() method from the ScrolledWindow
    class.
