Codebase list dillo / debian/latest doc / dw-changes.doc
debian/latest

Tree @debian/latest (Download .tar.gz)

dw-changes.doc @debian/latestraw · history · blame

/** \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>

*/