view readme @ 1160:924c8087a755

Attempt to use the subversion revision number as the sub version number.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 16 Sep 2011 06:39:56 +0000
parents 1e0cd8dafdfb
children d2f37fda40df
line wrap: on
line source

This is a preview release of Dynamic Windows version 2.2.0.

The current Dynamic Windows source base is considered stable on:
OS/2, Mac, Windows, Linux, FreeBSD and Solaris.

Known problems:

Boxes with no expandable items will have their contents centered on 
    GTK2 instead of top or left justified on the other platforms.
    This has been rectified in the GTK3 version via GtkGrid.
MDI does not work on GTK3 and is not implemented the same on Mac.
    At this time we cannot recommend using MDI in new code,
    but it will be supported for existing code on OS/2, Win and GTK2.
    If support for MDI improves on GTK3/Mac this status may change.
GTK3 due to changes in the core architecture does not support
    widgets that are smaller than what is contained within them
    unless they use scrolled windows. GTK2 and other platforms do.
GTK 3.0 is not fully supported due to missing GtkGrid functions and
    severe layout bugs that can't be worked around.  Use 3.1 or higher.
Mac version built on Lion with Xcode 4.1 in 64bit mode will encounter
    a compiler optimization problem with the default gcc compiler.
    The workaround is to disable optimization or use clang instead.

Known limitations:

It is not safe on all platforms to operate on widgets before they
are packed.  For portability pack widgets before operating on them.

On Windows a slider control will only work properly if it is the
only slider in a box.  If there is more than one slider control 
in a box then signals may get misdirected to the wrong control.

On Unix (GTK) the window manager border is not a constant value
so environment variables DW_BORDER_WIDTH and DW_BORDER_HEIGHT
are used for proper positioning.

On Mac if performing Dynamic Windows operations on secondary 
threads which do not terminate, it may be required to call
a Mac specific DW function _dw_pool_drain() at the end of the
thread's loop to prevent memory leaks.

Future features:

OS/2 is currently missing the Calendar and HTML widgets because
the system does not support them by default. Looking into writing
custom ones or importing functionality from available libraries.

Changes from version 2.1:
Added printing support via dw_print_new, dw_print_run and dw_print_cancel.
Added pixmap font override support. In prior versions when drawing
   text to pixmaps the font set on the associated window handle is used.
   dw_pixmap_set_font() can now override that font setting, and now
   pixmaps without associated windows are supported and used in printing.
Added dw_mutex_trylock() function to try to obtain a mutex without blocking.
Added DW_TIMEOUT_INFINITE which can now be used with dw_event_wait() in 
   addition to dw_named_event_wait(), to block until the event is posted.
Improved container optimization on Mac, header width now taken into account.
Fixes for incorrect return codes from the dw_event_* functions on Windows.
Fixes for incorrect behavior on key_press callbacks on Mac and Windows.
Fixes for lots of GTK3 layout and window positioning issues... 
   although minimum size issues are still present.

Dynamic Windows Documentation is available at:

http://dbsoft.org/dw_help.php

If you have any questions or suggestions feel free to email me at:

brian@dbsoft.org

Thanks!

Brian Smith