view readme @ 1212:5271d5cb27ac

Implemented dw_container_set_row_bg() on Windows. Current immplementation is a bit slow, it does more redrawing than necessary... but it works for now... will look to improve it in the future. Also removed a lot of dead code from a previous attempt at implementation. Also flipped the default colors on Mac since the first index is even (0) not odd (1).
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 09 Oct 2011 09:50:07 +0000
parents a99a08671b64
children 22cedf18db25
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.
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 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.
Added DW_PERCENT_INDETERMINATE which can be passed to dw_percent_set_pos().
   This should work on all platforms except old versions of Windows. 
Added the subversion revision number as the third Dynamic Windows version 
   number when building from a subversion source tree.
Added dw_container_set_row_data() and dw_container_change_row_data() macros
   which just call dw_container_set/change_row_title() but with (void *).
Added dw_container_set_row_bg() to set alternating row colors.
   Currently only Mac and GTK3 support. Windows and GTK2 in progress.   
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 MDI support in GTK3. 
Fixes for problems with multiple sliders/percent windows in a box on OS/2.
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