wiki:Dynamic Windows News Archive

Dynamic Windows 3.1

This is a stable release of Dynamic Windows version 3.1.

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

Changes from version 3.0:

  • Added support for MacOS versions through Big Sur 11.0, Windows versions through 10 build 20H2.
  • Fixed a handle leak on OS/2 when built with (Open)Watcom.
  • Added dark mode support on MacOS Mojave 10.14 and later.
  • Added experimental dark mode support on Windows 10 build 1809 (disabled by default).
  • Added embedding Microsoft Edge (Chromium) support on Windows 7 and higher.

Requires Windows 8 or higher SDK to build and the nuget package from: https://www.nuget.org/packages/Microsoft.Web.WebView2 unzipped into .\packages\Microsoft.Web.WebView2 Install runtime: https://developer.microsoft.com/en-us/microsoft-edge/webview2/ Will prefer to use the runtime above, but will fallback to an installed browser.

  • Added notification APIs: dw_notification_new() dw_notification_send() dw_app_id_set()

Requires Windows 8 or higher. MacOS 10.8 or higher. GLib 2.40 or higher on Unix. MacOS also requires the application bundle being signed or self-signed. Unix requires a desktop file link with the application ID used in dw_app_id_set(). Unzip WinToast? from https://github.com/mohabouje/WinToast into .\packages\WinToast?

  • Added webkit2gtk support and removed dead gtkmozembed and libgtkhtml2 support on Unix.
  • Added embedded HTML javascript support on Mac, Windows and Unix with webkit(2)gtk.

Added function dw_html_javascript_run() to execute javascript code. Added DW_SIGNAL_HTML_RESULT signal for getting the results from javascript. DW_SIGNAL_HTML_RESULT requires webkit2gtk on Unix.

  • Added DW_SIGNAL_HTML_CHANGED signal handler for getting the status of embedded HTML.

Status can be: DW_HTML_CHANGE_STARTED/REDIRECT/LOADING/COMPLETE

  • Fixed international calendar issues on Mac.
  • Added dw_mle_set_auto_complete() to enable completion, only available on Mac.
  • Changed to using GTK3 by default instead of GTK2. --with-gtk2 is now available.
  • Changed to using winsock2 on Windows ending support for Win95 and NT 3.5.
  • Changed to using Rich Edit for MLE controls on Windows. This can be disabled with: dw_feature_set(DW_FEATURE_MLE_RICH_EDIT, DW_FEATURE_DISABLED);
  • Added support for domain sockets on Windows 10 in the dwcompat sockpipe() macro.

If compiled with Visual Studio 2017 or later, otherwise the old method is used.

  • Added dw_feature_set/get() to test if certain features are available on the current library and operating system combination at runtime or enabled/disable features.
  • Added support for GResource embedded images on GTK2/3 with GLib 2.32. The old resouce system is still available via configure --with-deprecated if needed.
  • Added support for NSView based Tree, Container and Listbox widgets on Mac 10.7+.
  • Removed DW_FCF_COMPOSITED support from Windows 8 and higher.

This flag will still function to create a glass effect on Windows Vista and 7. The transparent key feature used to create it causes issues on 8 and 10, plus the glass effect, the main reason for the flag was removed in Windows 8.

  • Removed the incomplete Photon port.

Changes from version 2.5:

  • Added package configuration (pkg-config) support on Unix.
  • Changed DW_CLR_DEFAULT behavior to improve consistency.
  • Added dw_signal_connect_data() which features a callback on signal disconnection.
  • Improvements for building on 64bit Windows with MinGW. Window styles, HTML and Toolbar widgets are now supported.
  • Added dw_shutdown() for use when shutting down Dynamic Windows but not quite ready to exit immediately. (Functions like dw_exit() without the exit())
  • Separated the container "title" (string) and "data" (pointer) into separate spaces.

The "classic" functions which take (char *) parameters now maintain their own string memory backing so you no longer need to keep the data available.

  • Removed dw_container_set_row_data() and dw_container_change_row_data() macros.
  • Added dw_container_set_row_data() and dw_container_change_row_data() functions.
  • Removed the "_dw_textcomp" container data flag, dw_container_cursor() and dw_container_delete_row() which take (char *) now function in text compare mode.
  • Added dw_container_cursor_by_data() and dw_container_delete_row_by_data() functions which do the same things except in pointer comparison mode.
  • Added DW_CR_RETDATA flag to dw_container_query_*() functions to return the data pointer instead of the string pointer, this may change in the future.
  • Added exported internal functions _dw_init_thread() and _dw_deinit_thread() for language bindings to setup/cleanup threads created for DW use.
  • Fixed some memory leaks.
  • WARNING: Changed how tree and container titles are returned, they are now duplicated and need to be freed with dw_free(). This affects the following functions:

dw_tree_get_title(), dw_container_query_start() and dw_container_query_next() You should audit any code using these functions for leaks if using verison 3.

Changes from version 2.4:

  • Added dw_window_set_focus() to focus a widget after the window is shown
  • Added DW_FCF_TEXTURED flag on Mac, which enables textured backgrounds which had been the default on Mac prior to 2.5.
  • Added keyboard support for non-entryfield controls on Mac.
  • Added tab support for notebook controls on Windows and OS/2 and in the process rewrote and optimized the existing tab code.
  • Added bitmap button support for dw_window_set_bitmap().
  • Added full alpha channel support for bitmaps from file on GTK2.
  • Added support for handling Mac application menu Quit and dock Quit.

Use DW_DESKTOP as window handle to dw_signal_connect().

  • Improved transparency support for pixmaps/bitmaps from file on OS/2.
  • Fixed tab support for bitmap buttons which broke in 2.4 on Windows.
  • Fixed a notebook crash early in creation on Mac.
  • Fixed unusable scrollbars on Ubuntu Linux when overlay scrollbars are enabled. We now disable overlay scrollbars when creating.
  • Fixed dw_window_function() not working on non-toplevel windows on Windows and OS/2.
  • Fixed building 64bit with Visual C 2012 and MINGW gcc on Windows.

Changes from version 2.3:

  • Added support for MacOS 10.8 Mountain Lion.
  • Added fullscreen support on Mac for resizable windows on Lion.
  • Added UNICODE build mode on Windows allowing UTF-8 encoded text.

ANSI builds are supported by removing -DUNICODE -D_UNICODE and -DAEROGLASS

  • Added support for antialiased drawing on Windows via GDI+.
  • Added UNICODE build mode on OS/2 using codepage 1208 (UTF-8) as the active codepage; Non-Unicode mode will use the default codepage.
  • Added support for Control-Click on Mac for button press events.
  • Added DW_POINTER() macro for casting parameters to (void *).
  • Added dw_box_unpack() and dw_box_unpack_at_index() for removing items from boxes without destroying them. Also allows removal of padding.
  • Added GBM (Generalized Bitmap Module) support for OS/2 and eCS for loading Non-OS/2 native file formats. GBM comes with eCS 1.2 and later.

It is also available at http://hobbes.nmsu.edu

  • Added resizing HICNs to 24x24 max size on platforms which do not do it automatically (Mac and GTK). OS/2 and Windows limit the size.
  • Added toolbar control support to replace existing bitmap buttons on Windows.
  • Added dw_filesystem_set_column_title() to fill a hole in localization.
  • Added new optional UTF-8 parameter to the key press callback.

This is a pointer to a UTF-8 string representing the key pressed. The buffer pointed to is only good for the duration of the callback.

  • Added UTF-8/Wide string conversion functions for Unicode buffer management.
  • Fixed dwindows-config --version not returning the version at all.
  • Fixed value changed events not working for spinbuttons on OS/2 and Windows.
  • Fixed issues drawing arcs on GTK2, GTK3 and Mac.
  • Fixed a crash in the color chooser on Mac running Lion.
  • Fixed a layout issue with render widgets on OS/2.
  • Fixed an expose event issue on OS/2.
  • Fixed an issue with GTK 3.4 due to properties being inherited from the parent.
  • Fixed issues with bitmap buttons using icon/pointers on OS/2 and Windows.
  • Fixed an issue with dw_window_destroy() on Mac.
  • Fixed issues rendering to printer pixmaps on Windows with GDI+ enabled.
  • Fixed dw_window_set_bitmap_from_data() prefering the resource ID over the data passed in on most platforms.
  • Fixed dw_container_delete_row() failing and/or crashing on Mac.
  • Fixed memory and resource leaks on Windows and Mac.
  • Fixed incorrect display of status text fields on Mac 10.5 and 10.8.
  • Fixed compiler warnings on Mac 10.5 and 10.8 by checking selectors directly and removing use of now deprecated APIs.
  • Fixed incorrect display of textured background non-resizable windows on Mac.
  • Updated the test program removing deprecated flags and using new ones.
Last modified 3 years ago Last modified on May 14, 2021, 8:23:42 PM