aboutsummaryrefslogtreecommitdiff
path: root/devdoc/dw-changes.doc
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2015-06-01 22:00:10 +0200
committerSebastian Geerken <devnull@localhost>2015-06-01 22:00:10 +0200
commit1463c3936ce6a57352590b901c9dbd6bc2f2086d (patch)
tree3e7983b72fe63770fd2870b57683afd9421a36bd /devdoc/dw-changes.doc
parenteb7ee4703ced8a02404eb0ebfa5b771fc5e916d5 (diff)
Split up user and developer documentation.
Diffstat (limited to 'devdoc/dw-changes.doc')
-rw-r--r--devdoc/dw-changes.doc105
1 files changed, 105 insertions, 0 deletions
diff --git a/devdoc/dw-changes.doc b/devdoc/dw-changes.doc
new file mode 100644
index 00000000..7050df9a
--- /dev/null
+++ b/devdoc/dw-changes.doc
@@ -0,0 +1,105 @@
+/** \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>
+
+*/