Permalink
Browse files

release prepping

  • Loading branch information...
1 parent 3903ba5 commit 7d6b1737f65f5570b9d050af108912b0a21265c0 Koen Deforche committed Jul 4, 2012
View
@@ -13,18 +13,18 @@ SET(CMAKE_MODULE_PATH ${WT_SOURCE_DIR} ${WT_SOURCE_DIR}/cmake)
SET(VERSION_SERIES 3)
SET(VERSION_MAJOR 2)
-SET(VERSION_MINOR 1)
-
-SET(WT_SOVERSION 32)
-SET(WTEXT_SOVERSION 32)
-SET(WTHTTP_SOVERSION 32)
-SET(WTFCGI_SOVERSION 32)
-SET(WTISAPI_SOVERSION 9)
-SET(WTDBO_SOVERSION 32)
-SET(WTDBOSQLITE3_SOVERSION 32)
-SET(WTDBOPOSTGRES_SOVERSION 32)
-SET(WTDBOFIREBIRD_SOVERSION 32)
-SET(WTTEST_SOVERSION 2)
+SET(VERSION_MINOR 2)
+
+SET(WT_SOVERSION 33)
+SET(WTEXT_SOVERSION 33)
+SET(WTHTTP_SOVERSION 33)
+SET(WTFCGI_SOVERSION 33)
+SET(WTISAPI_SOVERSION 10)
+SET(WTDBO_SOVERSION 33)
+SET(WTDBOSQLITE3_SOVERSION 33)
+SET(WTDBOPOSTGRES_SOVERSION 33)
+SET(WTDBOFIREBIRD_SOVERSION 33)
+SET(WTTEST_SOVERSION 3)
IF(NOT SHARED_LIBS)
IF(WIN32)
View
@@ -31,7 +31,7 @@ PROJECT_NAME = Wt
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 3.2.1
+PROJECT_NUMBER = 3.2.2
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
View
@@ -22,6 +22,174 @@
the way you build Wt, the way you configure Wt or the Wt API and
behaviour.
+<h2>Release 3.2.2-rc1 (July, 3 2012)</h2>
+
+<p>
+ This release contains mostly bug and feature improvements, but
+ also a rewrite of the layout managers in Wt (WBoxLayout and
+ WGridLayout), and this comes with some changes in (in most cases
+ previously undefined) behaviour.
+</p>
+
+<h3>A) New classes:</h3>
+
+<dl>
+ <dt>
+ <a href="classWt_1_1WSslInfo.html">WSslInfo</a>
+ </dt>
+ <dd>
+ Class containing information on a client-side certificate that may
+ have been configured for a SSL connection, and which can be used
+ for authentication (accessible from
+ <a href="classWt_1_1WEnvironment.html">WEnvironment</a>).
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1Dbo_1_1weak__ptr.html">Wt::Dbo::weak_ptr</a>
+ </dt>
+ <dd>
+ A weak variant of Wt::Dbo::ptr which is used to implement
+ One-to-One relations (see also
+ <a
+ href="group__dbo.html#ga00a060d5f4764f673948989f21837548">Wt::Dbo::hasOne()
+ </a>).
+ </dd>
+
+</dl>
+
+<h3>B) Main improvements:</h3>
+
+<dl>
+ <dt>
+ Rewrite of <a href="classWt_1_1WLayout.html">WBoxLayout, WGridLayout</a>
+ </dt>
+ <dd>
+ <p>
+ The layout managers have been reimplement, to address various
+ issues with the old implementation, including API (in particular the wonked
+ side-effects of AlignTop | AlignJustify) inconsistencies and bugs.
+ </p>
+
+ <p>The new implementation no longer uses tables when JavaScript
+ is available, but instead using JavaScript-based layout with
+ absolute positioning. The table-based implementation is still kept
+ for plain HTML sessions (and progressive bootstrap). The code now
+ uses exactly the same layout logic for both horizontal and
+ vertical layout (but giving precedence to horizontal layout) and
+ should be much more consistent (and perhaps also more
+ performant). However, because of the many complexities and
+ problems with the old code (inconsistent behaviour), you may see
+ issues while upgrading. Please see the "Non-backwards compatible
+ changes" below for hints on how to deal with this.</p>
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1WAbstractItemView.html">WAbstractItemView</a>
+ </dt>
+ <dd>
+ <p>
+ A drag &amp; drop mime-type can now be specified on a per-item
+ basis using a new <a
+ href="group__modelview.html#ga0ae864e12320f9f89172735e075ed068">ItemDataRole</a>,
+ and the mime-type for the entire selection is computed
+ from these individual mime-types.
+ </p>
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1WInteractWidget.html">WInteractWidget</a>
+ </dt>
+ <dd>
+ A new method <a href="classWt_1_1WInteractWidget.html#a60423e777cffa89e6d1373fd25754099">setMouseOverDelay()</a> allows to specify a delay for
+ generating the mouseWentOver() event.
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1Auth_1_1AbstractUserDatabase.html">Auth::AbstractUserDatabase</a>
+ </dt>
+ <dd>
+ A new method <a href="classWt_1_1Auth_1_1AbstractUserDatabase.html#a5067e569748cfad8c3356735a33aa10f">deleteUser()</a> was added, which deletes a user and all
+ related authentication information.
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1Chart_1_1WCartesianChart.html">Chart::WCartesianChart</a>
+ </dt>
+ <dd>
+ A new method <a href="classWt_1_1Chart_1_1WCartesianChart.html#aa6c394c4d9a801d088b7b02c3fd66b28">setAxisPadding()</a> was added, which configures the
+ amount of adding between the chart area and the axes.
+ </dd>
+
+ <dt>
+ <a href="classWt_1_1Chart_1_1WDataSeries.html">Chart::WDataSeries</a>
+ </dt>
+ <dd>
+ A new method <a href="classWt_1_1Chart_1_1WDataSeries.html#ab0dbcd9bcbc0f39a042eb36aa930def4">setCustomMarker()</a> was added which allows the use of a
+ user-defined path for the markers. A new role
+ MarkserScaleFactorRole was added which allows overriding the
+ marker size based on item model data.
+ </dd>
+
+</dl>
+
+<h3>C) Non-backwards compatible changes</h3>
+
+<dl>
+ <dt>
+ <a href="classWt_1_1WLayout.html">WBoxLayout, WGridLayout</a>
+ </dt>
+ <dd>
+ While migrating old code to this version, here are some tips:
+ <ol>
+ <li><p>Alignment flags</p>
+ <p>Previously, specifying an alignment for a widget in a
+ layout, or for the layout when set to a container, had a double
+ meaning. Not only would it implement the given alignment but also
+ revert to passively letting HTML layout decide the layout of the
+ contents, and adjust the parent (layout respectively container)
+ accordingly. This had all kinds of side effects such as not
+ propagating the size of layout-size-aware widgets and quirks in
+ the vertical alignment.</p>
+ <p><a href="classWt_1_1WContainerWidget.html#aff9884c8efdf90974077e96bcb1701db">WContainerWidget::setLayout(layout, alignment)</a> has been
+ deprecated and will be removed from a future release. This call
+ was almost always used to let the parent container resize to fit
+ the size of the contained children, instead of fitting children
+ in the parent container. This behaviour is now
+ automatically deduced based on an (empty) size of the parent
+ container. In case this heuristic does not work, then setting a
+ non-0 maximum size on the container using <a href="classWt_1_1WWebWidget.html#a9b83805a5b8090d296ae4b5939fc9d11">setMaximumSize()</a> will
+ act as a trigger, with the added benefit that the parent will only
+ be allowed to resize up to a specified maximum size.</p>
+ <p>An alignment specified in
+ <a href="classWt_1_1WBoxLayout.html#a7c1ec58e25d0b7add93f5f4342844db6">W(Box/Grid)Layout::addWidget(widget, stretch, alignment)</a> now
+ purely affects the alignment but has no other side effects. The
+ perferred and minimum sizes of a child widget or layout is now
+ always taken into account.</p>
+ </li>
+ <li><p>Child item sizes</p>
+ <p>The layout algorithm is now implemented entirely in
+ JavaScript, and is more gentle when dealing with a combination
+ of cells (or columns/rows) that have a stretch factor and others
+ that don't. Previously, a minimum (or fixed) size would be used
+ to layout items that do not have a stretch factor. This had for
+ example as a consequence that a WText would be narrowed down to its
+ minimum width by using word wrapping throughout. Now, the
+ preferred size is used for a child item, and shrinking to a minimum
+ size only if necessary.</p>
+ <li><p>Progressive bootstrap</p>
+ A layout in the first page of an application rendered using
+ progressive bootstrap will no longer fully upgrade to a full
+ JavaScript version, but will result in a hybrid (between
+ table-based and JavaScript-based). If it doesn't work out as you'ld
+ expect, then you should reconsider the use of progressive bootstrap,
+ or the use of a layout manager in your first page.
+ </li>
+ </ol>
+ </dd>
+</dl>
+
+<hr>
+
<h2>Release 3.2.1 (March 16, 2012)</h2>
<p>
View
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "Wt examples"
-PROJECT_NUMBER = 3.2.1
+PROJECT_NUMBER = 3.2.2
OUTPUT_DIRECTORY = ../doc/examples
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
View
@@ -345,6 +345,29 @@ TARGET_LINK_LIBRARIES(wt
${WT_MATH_LIBRARY}
)
+ADD_LIBRARY(wttest
+ Wt/Test/WTestEnvironment.C
+)
+
+TARGET_LINK_LIBRARIES(wttest wt ${BOOST_WT_LIBRARIES})
+INSTALL(TARGETS wttest
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION ${LIB_INSTALL_DIR}
+ ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+
+IF(MSVC)
+ SET_TARGET_PROPERTIES(wttest PROPERTIES COMPILE_FLAGS "${BUILD_PARALLEL} /wd4251 /wd4275 /wd4355 /wd4800 /wd4996 /wd4101 /wd4267")
+ENDIF(MSVC)
+
+SET_TARGET_PROPERTIES(
+ wttest
+PROPERTIES
+ VERSION ${VERSION_SERIES}.${VERSION_MAJOR}.${VERSION_MINOR}
+ SOVERSION ${WTTEST_SOVERSION}
+ DEBUG_POSTFIX ${DEBUG_LIB_POSTFIX}
+)
+
+
IF(HAVE_SSL)
TARGET_LINK_LIBRARIES(wt ${SSL_LIBRARIES})
INCLUDE_DIRECTORIES(${SSL_INCLUDE_DIRS})
@@ -791,14 +791,13 @@ void WChart2DRenderer::render()
tildeEndMarker_.moveTo(-15, -(segmentMargin_ - 20));
tildeEndMarker_.lineTo(15, -(segmentMargin_ - 10));
- if(!initLayout()){
- LOG_ERROR("init layout failed Maybe padding is too large");
+ if (!initLayout()){
+ LOG_ERROR("Chart layout failed: chart area is too small ?");
return;
}
- std::cerr << chartArea_.width() << " " << chartArea_.height() << std::endl;
if (chartArea_.width() < 5 || chartArea_.height() < 5) {
- LOG_ERROR("Chart area is to small. Maybe padding is too large");
+ LOG_ERROR("Chart layout failed: chart area is too small ?");
return;
}
@@ -36,8 +36,8 @@ enum MarkerType {
CircleMarker, //!< Mark points using a circle.
CrossMarker, //!< Mark points using a cross (+).
XCrossMarker, //!< Mark points using a cross (x).
- TriangleMarker, //!< Mark points using a triangle.
- CustomMarker //!< Mark points using a custume icon.
+ TriangleMarker, //!< Mark points using a triangle.
+ CustomMarker //!< Mark points using a custom marker.
};
/*! \brief Enumeration that specifies how an area should be filled.
@@ -117,10 +117,6 @@ public:
*
* The series type specifies how the data is plotted, i.e. using
* mere point markers, lines, curves, or bars.
- *
- * When changing the series type from BarSeries to another series
- * type, and the fill range is ZeroValueFill (the default for bar
- * series), then the fill type is changed to
*/
void setType(SeriesType t);
@@ -298,13 +294,15 @@ public:
* The default value is a CircleMarker for a PointSeries, or NoMarker
* otherwise.
*
- * \sa setMarkerPen(), setMarkerBrush().
+ * \sa setMarkerPen(), setMarkerBrush(), setCustomMarker()
*/
void setMarker(MarkerType marker);
- /*! \brief Sets the customMarker.
+ /*! \brief Sets the custom marker.
+ *
+ * This will also changes the marker type to CustomMarker.
*
- * \sa customMarker()
+ * \sa setMarker()
*/
void setCustomMarker(const WPainterPath& path);
@@ -157,6 +157,8 @@ void WDataSeries::setMarker(MarkerType marker)
void WDataSeries::setCustomMarker(const WPainterPath& path)
{
+ set(marker_, CustomMarker);
+
customMarker_ = path;
}
@@ -1,24 +1,2 @@
-ADD_LIBRARY(wttest
- WTestEnvironment.C
-)
-
-TARGET_LINK_LIBRARIES(wttest wt ${BOOST_WT_LIBRARIES})
-INSTALL(TARGETS wttest
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION ${LIB_INSTALL_DIR}
- ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
-
-IF(MSVC)
- SET_TARGET_PROPERTIES(wttest PROPERTIES COMPILE_FLAGS "${BUILD_PARALLEL} /wd4251 /wd4275 /wd4355 /wd4800 /wd4996 /wd4101 /wd4267")
-ENDIF(MSVC)
-
-SET_TARGET_PROPERTIES(
- wttest
-PROPERTIES
- VERSION ${VERSION_SERIES}.${VERSION_MAJOR}.${VERSION_MINOR}
- SOVERSION ${WTTEST_SOVERSION}
- DEBUG_POSTFIX ${DEBUG_LIB_POSTFIX}
-)
-
INSTALL_FILES(/include/Wt/Test TestDllDefs.h)
INSTALL_FILES(/include/Wt/Test "^W.*[^C~]$")
Oops, something went wrong.

0 comments on commit 7d6b173

Please sign in to comment.