/** \page dw-changes Changes to the GTK+-based Release Version <h2>Changes in Dw</h2> Related to the FLTK port, there have been many changes, this is a (hopefully complete) list: <ul> <li> Rendering abstraction, read \ref dw-overview and \ref dw-layout-views for details. Some important changes: <ul> <li> The underlying platform (e.g. the UI toolkit) is fully abstract, there are several platform independent structures replacing GTK+ structures, e.g. dw::core::Event. <li> The central class managing the widget tree is not anymore GtkDwViewport, but dw::core::Layout. <li> Drawing is done via dw::core::View, a pointer is passed to dw::core::Widget::draw. <li> The distinction between viewport coordinates and canvas coordinates (formerly world coordinates) has been mostly removed. (Only for views, it sometimes plays a role, see \ref dw-layout-views). </ul> <li> Cursors have been moved to dw::core::style, see dw::core::style::Style::cursor. dw::core::Widget::setCursor is now protected (and so only called by widget implementations). <li> World coordinates are now called canvas coordinates. <li> There is now a distinction between dw::core::style::StyleAttrs and dw::core::style::Style. <li> There is no base class for container widgets anymore. The former DwContainer::for_all has been removed, instead this functionality is now done via iterators (dw::core::Widget::iterator, dw::core::Iterator). <li> DwPage is now called dw::Textblock, and DwAlignedPage dw::AlignedTextblock. <li> dw::Textblock, all sub classes of it, and dw::Table do not read "limit_text_width" from the preferences, but get it as an argument. (May change again.) <li> dw::Table has been rewritten. <li> Instead of border_spacing in the old DwStyle, there are two attributes, dw::core::style::Style::hBorderSpacing and dw::core::style::Style::vBorderSpacing, since CSS allowes to specify two values. Without CSS, both attributes should have the same value. <li> Images are handled differently, see \ref dw-images-and-backgrounds. <li> Embedded UI widgets (formerly GtkWidget's) are handled differently, see dw::core::ui. <li> DwButton has been removed, instead, embedded UI widgets are used. See dw::core::ui and dw::core::ui::ComplexButtonResource. </ul> Dw is now written C++, the transition should be obvious. All "Dw" prefixes have been removed, instead, namespaces are used now: <ul> <li>dw::core contains the core, <li>dw::core::style styles, <li>dw::core::ui embedded UI resources, <li>dw::fltk classes related to FLTK, and <li>::dw the widgets. </ul> <h2>Documentation</h2> The old documentation has been moved to: <table> <tr><th colspan="2">Old <th>New <tr><td rowspan="2">Dw.txt <td>general part <td>\ref dw-overview, \ref dw-usage, \ref dw-layout-widgets, \ref dw-widget-sizes <tr><td>remarks on specific widgets <td>respective source files: dw::Bullet, dw::core::ui::Embed <tr><td rowspan="2">DwImage.txt <td>signals <td>dw::core::Layout::LinkReceiver <tr><td>rest <td>dw::Image, \ref dw-images-and-backgrounds <tr><td colspan="2">Imgbuf.txt <td>dw::core::Imgbuf, \ref dw-images-and-backgrounds <tr><td colspan="2">DwPage.txt <td>dw::Textblock <tr><td colspan="2">DwRender.txt <td>\ref dw-overview, \ref dw-layout-views, dw::core::ui <tr><td colspan="2">DwStyle.txt <td>dw::core::style <tr><td colspan="2">DwTable.txt <td>dw::Table <tr><td colspan="2">DwWidget.txt <td>dw::core::Widget, \ref dw-layout-widgets, \ref dw-widget-sizes <tr><td colspan="2">Selection.txt <td>dw::core::SelectionState </table> */