]> git.saurik.com Git - wxWidgets.git/blame - docs/publicity/WoWoW30.html
Resolve ambiguity between GetClientXXX() methods in wxOSX wxComboBox.
[wxWidgets.git] / docs / publicity / WoWoW30.html
CommitLineData
355b0cb3
RR
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<HTML>
3<HEAD>
4 <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
5 <TITLE></TITLE>
6 <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.3 (Linux)">
7 <META NAME="AUTHOR" CONTENT="Robert Roebling">
8 <META NAME="CREATED" CONTENT="20080829;16130000">
9 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
ca54ea37
RR
10 <META NAME="CHANGED" CONTENT="20090209;11181400">
11 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
355b0cb3
RR
12 <META NAME="CHANGEDBY" CONTENT="Julian Smart">
13 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
14 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
15 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
16 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
17 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
18 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
19 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
20 <META NAME="CHANGEDBY" CONTENT="Robert Roebling">
21 <STYLE TYPE="text/css">
22 <!--
23 @page { margin: 2cm }
24 P { margin-bottom: 0.21cm }
25 H2 { margin-bottom: 0.21cm }
26 H2.western { font-family: "Albany AMT", sans-serif; font-size: 14pt; font-style: italic }
27 H2.cjk { font-family: "Albany AMT"; font-size: 14pt; font-style: italic }
28 H2.ctl { font-family: "Arial Unicode MS"; font-size: 14pt; font-style: italic }
29 H3.western { font-family: "Albany", sans-serif }
30 H3.cjk { font-family: "HG Mincho Light J" }
31 H3.ctl { font-family: "Arial Unicode MS" }
32 -->
33 </STYLE>
34</HEAD>
35<BODY LANG="de-DE" DIR="LTR">
36<H2 CLASS="western">The Wonderful World of wxWidgets 3.0</H2>
37<H3 CLASS="western">What is wxWidgets?</H3>
38<P ALIGN=JUSTIFY>Although it is quite unlikely that you'll read this
39document if you don't know what wxWidgets is, let's just briefly
40mention that wxWidgets is a C++ framework for building rich GUI
41applications from a single source which can then be compiled on
42different operating systems, resulting in a native application on
43each system. wxWidgets uses native controls (or widgets) and other
44native functions whereever possible so that the resulting
45applications will look and feel as native as possible, and they are
46usually not distinguishable from applications written using single
47platform toolkits such as MFC for Windows, GTK+ for Linux or Cocoa
48under OS X. In some areas (such as graphics art or the installer),
49adaptations to the individual platforms have to be made in order to
50achieve perfect integration with that platform.</P>
51<P ALIGN=JUSTIFY>The major operating system for which wxWidgets
52supports are Windows (Windows 95, NT, 2000, XP, Vista) including its
53mobile variants (Windows CE, PocketPC, Windows Mobile), Linux and
54Unix using the GTK+ 2 toolkit (minimum version is GTK+ 2.4, more
55recent features are used when available) and Mac OS X (minimum
56version 10.4 Tiger, both Intel, PPC and the Universal Binaries for
57both are supported). wxWidgets includes many code pieces for
58optimising dialog and general layout for small screens such as those
59of the recent netbooks and mobile phones and tablets.</P>
60<P ALIGN=JUSTIFY>There is varying support for other platforms or
61toolkits such as OS/2, Motif, GTK 1.2, PalmOS and various mobile
62Linux variants using GTK+ or the Hildon framework and also a version
63for OS X using the Cocoa API and even the iPhone SDK.</P>
64<H3 CLASS="western">Documentation in Doxygen</H3>
65<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Until wxWidgets 3.0 all
66documentation was written in a customized LaTeX variant created for
67the project years ago. Although there were tools which could parse
68classes automatically and create a documentation skeleton, class
69documentation was troublesome to update and therefore often outdated.
70In order to improve this situation, the entire documentation
71including references and overviews was converted to a customized
72Doxygen format inlined in a special set of headers. Although many
73classes were converted in a single automated step, every class
74documentation had to be corrected by hand making this effort one of
75the biggest in the development cycle leading up wxWidgets 3.0.
76Additionally, tools were written to automatically compare the
77signature of the many class methods to the documentation. The result
78is more correct documentation with better formating and built-in
79searching and screenshots of many controls. Since Doxygen is a
80wide-spread format and easy to learn, the new documentation is much
81easier to edit, correct and read. See the <A HREF="http://docs.wxwidgets.org/trunk/index.html">wxWidgets
82on-line documentation</A> to which this document refers to in many
83places.</P>
84<H3 CLASS="western">C++ features and template support</H3>
85<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">The wxWidgets project
86tries to both move with new developments of the C++ language as well
87as to support older compilers to an extent which does not inhibit
88further development and indeed the usefulness of the entire project.
89Since support for templates used to be limited to a few compilers and
90was often buggy even in them, wxWidgets initially stayed away from
91using templates entirely including the use of the Standard Template
92Library (STL). In the meantime nearly all compilers have gained solid
93template support and therefore wxWidgets is now using templates for
94container classes (such as <A HREF="http://docs.wxwidgets.org/trunk/classwx_vector_3_01_t_01_4.html">wxVector&lt;T&gt;</A>),
95smart pointers (such as <A HREF="http://docs.wxwidgets.org/trunk/classwx_shared_ptr_3_01_t_01_4.html">wxSharedPtr&lt;T&gt;</A>),
96weak references (see <A HREF="http://docs.wxwidgets.org/trunk/classwx_weak_ref_3_01_t_01_4.html">wxWeakRef&lt;T&gt;</A>)
97and many other places where templates are useful. This means that
98very old compilers won't be able to compile wxWidgets anymore or only
99in a degraded way (such as Visual C++ 6.0).</P>
100<H3 CLASS="western">Platform features and backwards compatibility</H3>
101<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">In the same way wxWidgets
102tries to both make use of new features of the different operating
103systems and support older systems for as long as possible and as long
104as supporting them does not hinder development for up-to-date
105systems. This is especially true for OS X and GTK+ 2 and it was
106therefore decided that OS X versions older than 10.4 Tiger and GTK+ 2
107version older than 2.4 are no longer supported. The wxWidgets team
108also realized that it could not do everything and that support for a
109cross-platform database API was beyond the scope and focus of the
110project so that its old wxODBC database connectivity classes were
111removed from the project. There are many cross-platform database
112libraries available and many of them are better than the old wxODBC
113and all of them are better maintained.</P>
114<H3 CLASS="western">Unicode: A Single Build for Everyone</H3>
115<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Until version 3.0 there
116have always been two different versions (or builds) of wxWidgets: one
117with full support for Unicode where each character was represented by
118a wchar_t internally (using two bytes under Windows and four bytes
119almost everywhere else) and another called the „ANSI“ build where
120each character was represented by a single byte. This model was
121chosen following the original Windows API model and at a point of
122time when Unicode support was hardly present anywhere else. In the
123meantime, the Windows world together with projects such as Java have
124chosen UTF-16 as the native representation for Unicode strings
125whereas much of the free software world including GTK+ and parts of
126Mac OS X have chosen UTF-8. It was therefore decided to drastically
127change the implementation of wxWidgets' string class and make it use
128UTF-16 under Windows (mostly as before) but UTF-8 elsewhere (instead
129of wide character strings using wchar_t) so that strings received
130from and sent to Unix and GTK+ library calls would no longer have to
131be converted back and forth between different Unicode representations
132(see <A HREF="http://docs.wxwidgets.org/trunk/classwx_string.html">wxString</A>
133and <A HREF="http://docs.wxwidgets.org/trunk/overview_unicode.html">Unicode
134overview</A>). Additionally, the „ANSI“ mode was removed and the
135wxString class as well as some other classes were modified to accept
136and return both Unicode and 8-bit string literals if required. The
137same was done to functions like wxPrintf() etc. Although this change
138will eventually not be seen by the end user of an application written
139using wxWidgets, it is such a fundamental change that it was the
140primary reason to give wxWidgets the new major version number 3.</P>
141<H3 CLASS="western">New 2D Drawing Code</H3>
142<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Although a 2D drawing API
143has always been part of wxWidgets (using so-called device contexts
144such as a window or a bitmap and pens and brushes to draw into them,
145see <A HREF="http://docs.wxwidgets.org/trunk/classwx_d_c.html">wxDC</A>,
146<A HREF="http://docs.wxwidgets.org/trunk/classwx_pen.html">wxPen</A>,
147<A HREF="http://docs.wxwidgets.org/trunk/classwx_brush.html">wxBrush</A>),
148it has not changed much since its initial inception and so the code
149was completely reorganized using a single set of frontend classes and
150different backends which will make maintainance much easier without
151having to care for binary backwards compatibility and it also helped
152isolate a number of subtle platform differences. The old drawing API
153is good enough for many tasks and reflects the drawing capabilites of
154the 1990's but it didn't make use of advanced features such as
155transparency, anti-aliasing and free matrix transforms of modern 2D
156graphics systems such as GDI+ on Windows, Cairo on Linux (and
157elsewhere) and CoreGraphics on OS X. Therefore a completely new
158drawing API (the so called graphics contexts, see <A HREF="http://docs.wxwidgets.org/trunk/classwx_graphics_context.html">wxGraphicsContext</A>)
159was added to wxWidgets making use of modern drawing engines. This is
160complemented by a bitmap class with alpha channel support and fast
161raw access to the bitmap's internal data representation. Additionally
162the API of all existing GDI class constants was corrected so that
163wxMODERN becomes wxFONTFAMILY_MODERN, wxSOLID becomes
164wxBRUSHSTYLE_SOLID etc. and the reference counting system was
165streamlined and made identical on all platforms.</P>
166<H3 CLASS="western">Changes to wxBase</H3>
167<P ALIGN=JUSTIFY>wxBase is the name of the non-GUI part of wxWidgets
168libary which provides basic class such as the aforementioned wxString
169class, container classes, as well as classes for threading,
170networking, XML parsing, path and configuration management, logging,
171debugging etc. These functions and classes have been separated into
172their own library both for being able to write non-GUI apps as well
173as to make maintainance easier through reduced interdependence.
174</P>
175<P ALIGN=JUSTIFY>Many of the changes to wxString and the container
176classes are located in wxBase, but on top of that support to wxBase
177was added for events loops, timers and sockets for writing
178event-based client or server apps with wxWidgets 3.0. The socket code
179itself has been reorganized removing a lot of duplicated code and
180dropping the previous implementation which was separated into a C and
181a C++ part.</P>
182<H3 CLASS="western">New controls and other major GUI additions for
183all ports</H3>
184<P ALIGN=JUSTIFY>This document cannot list every bug fix and minor
185change. Rather, this paragraph summarizes the most relevant changes
186to the GUI classes of wxWidgets. Given wxWidgets' nature as a GUI
187library, these changes are also most likely to be visible to the user
188and may thus be the most important changes from a user's perspective
189(although not necessarily from a developer's perspective):
190</P>
191<UL>
192 <LI><P ALIGN=JUSTIFY>wxDataViewCtrl and wxDataViewTreeCtrl: this
193 control can partially replace both wxListCtrl and wxTreeCtrl (for
194 which there only was a native version of Windows and partially for
195 OS X) but also extends and combines the classes by being able to
196 display a hierarchy and list at the same time and by offering a much
197 more flexible way to display and edit data on a per column basis.
198 Reimplementing wxTreeCtrl and possibly wxListCtrl in terms of
199 wxDataViewCtrl was considered, but this was dropped as certain
200 special features are not available on all platforms (or
ca54ea37
RR
201 differently). See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_data_view_ctrl.html">wxDataViewCtrl</A>,
202 <A HREF="http://docs.wxwidgets.org/trunk/classwx_data_view_list_ctrl.html">wxDataViewListCtrl</A>
355b0cb3
RR
203 and <A HREF="http://docs.wxwidgets.org/trunk/classwx_data_view_tree_ctrl.html">wxDataViewTreeCtrl</A>.</P>
204 <LI><P ALIGN=JUSTIFY>The tabular view of wxGrid has been improved
205 including a native header control, which has been separated into a
206 new control. See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_grid.html">wxGrid</A>
207 and <A HREF="http://docs.wxwidgets.org/trunk/classwx_header_ctrl.html">wxHeaderCtrl.</A></P>
208 <LI><P ALIGN=JUSTIFY>Added wxPropertyGrid which is a big generic
209 control used to display lists and hierarchies of name-value pairs.
210 Like wxDataViewCtrl, it offers a number of ready-to-use editors for
211 editing text, numbers, lists, fonts, file names etc. using in-place
212 editing or using pop-up dialog and combo boxes. Developement of
213 wxPropertyGrid has so far taken place outside of wxWidgets as a
214 separate project, but it has not been included in wxWidgets per se.
215 See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_property_grid.html">wxPropertyGrid</A>.</P>
216 <LI><P ALIGN=JUSTIFY>wxHyperlinkCtrl added, implemented natively
217 under GTK+ and in a generic way on other platforms. It can be used
218 to represent a hypertext link, for example to the homepage of the
219 developer or company. See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_hyperlink_ctrl.html">wxHyperlinkCtrl</A>.</P>
220 <LI><P ALIGN=JUSTIFY>wxFileCtrl for constructing fully customized
221 file dialogs. Complementary to this, the possibility to add custom
222 control to wxFileDialog has been added. See <A HREF="http://docs.wxwidgets.org/trunk/classwx_file_ctrl.html">wxFileCtrl</A>
223 and <A HREF="http://docs.wxwidgets.org/trunk/classwx_file_dialog.html">wxFileDialog</A>.</P>
224 <LI><P ALIGN=JUSTIFY>Several enhancements to wxRichTextCtrl
225 including support for super- and subscript and many speed-ups. See
226 <A HREF="http://docs.wxwidgets.org/trunk/classwx_rich_text_ctrl.html">wxRichTextCtrl</A>.</P>
227 <LI><P ALIGN=JUSTIFY>The possibility to display state icons has been
228 added to wxTreeCtrl. This can also be used to implement check-box
1f1fb483 229 like behaviour. See <A HREF="http://docs.wxwidgets.org/trunk/classwx_tree_ctrl.html">wxTreeCtrl</A>.</P>
355b0cb3
RR
230 <LI><P ALIGN=JUSTIFY>wxCalendarCtrl has been rewritten using native
231 code under MSW and GTK+ and enhanced in many ways (for example
232 displaying week numbers). See <A HREF="http://docs.wxwidgets.org/trunk/classwx_calendar_ctrl.html">wxCalendarCtrl</A>.</P>
233 <LI><P ALIGN=JUSTIFY>Implemented support for auto-completion for
234 wxTextCtrl and wxComboBox.</P>
235 <LI><P ALIGN=JUSTIFY>Added wxAUIToolBar to the set of wxAUI classes,
236 which is better integrated and more flexible than the standard
237 wxToolBar.</P>
238 <LI><P ALIGN=JUSTIFY>Reimplemented wxBitmapComboBox using native
239 code under MSW and GTK+. See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_bitmap_combo_box.html">wxBitmapComboBox</A>.</P>
240 <LI><P ALIGN=JUSTIFY>Added wxBitmapToggleButton on all platforms.
241 See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_bitmap_toggle_button.html">wxBitmapToggleButton</A>.</P>
242 <LI><P ALIGN=JUSTIFY>Added support for ellipsization on all
243 platforms and for mark-up formatting under GTK+ to wxStaticText. See
244 <A HREF="http://docs.wxwidgets.org/trunk/classwx_static_text.html">wxStaticText</A>.</P>
245 <LI><P ALIGN=JUSTIFY>Rewritten the selection event emission logic of
246 wxListBox on all platforms to more exactly match each other when
247 selecting and deselecting certain items.</P>
248 <LI><P ALIGN=JUSTIFY>Implemented wxCollapsiblePane natively for GTK
249 and OS X. See <A HREF="http://docs.wxwidgets.org/trunk/classwx_collapsible_pane.html">wxCollapsiblePane</A>.</P>
250 <LI><P ALIGN=JUSTIFY>Added a new sizer which can wrap across
251 multiple lines. See <A HREF="http://docs.wxwidgets.org/trunk/classwx_wrap_sizer.html">wxWrapSizer</A>.</P>
252 <LI><P ALIGN=JUSTIFY>Added multi-sample and anti-aliasing support
4c51a665 253 to the OpenGL canvas and separated wxGLCanvas and wxGLContext. See
355b0cb3
RR
254 <A HREF="http://docs.wxwidgets.org/trunk/classwx_g_l_canvas.html">wxGLCanvas</A>.</P>
255 <LI><P ALIGN=JUSTIFY>Added wxNativeContainerWindow in order to
256 construct a wxTopLevelWindow from a native window handle (MSW and
257 GTK+).</P>
4891ecda 258 <LI><P ALIGN=JUSTIFY>The <A HREF="http://docs.wxwidgets.org/trunk/classwx_v_scrolled_window.html">wxVScrolledWindow</A>
ca54ea37
RR
259 class has been completely rewritten to accommodate the addition of
260 the new horizontal scrolling variants (<A HREF="http://docs.wxwidgets.org/trunk/classwx_h_scrolled_window.html">wxHScrolledWindow</A>
4891ecda 261 and <A HREF="http://docs.wxwidgets.org/trunk/classwx_h_v_scrolled_window.html">wxHVScrolledWindow</A>)
ca54ea37
RR
262 while still providing complete backwards compatibility for
263 wxVScrolledWindow.</P>
355b0cb3
RR
264</UL>
265<H3 CLASS="western">wxMac specific changes (now called wxOSX)</H3>
266<P ALIGN=JUSTIFY>One important change of the wxMac port is that the
267port is not called wxMac anymore. Instead, the more appropriate term
268wxOSX should be used as the operating system is called OS X nowadays
269and – more importantly – wxWidgets now has partial support for
270iPhone and iPod, and these are devices are clearly not Macs. Apart
271from the name change – wxMac has undergone the most fundamental
272changes of the three main ports, even if some of the changes were
273mostly reorganizing code instead of writing new code. The code has
274been reorganized into common code (common to Carbon, Cocoa and Cocoa
275Touch) including both general wrapping or front-end classes for much
276of the GUI code as well as a wrapper for the so called CoreFoundation
277classes of OS X, which are responsible on all OS X variants for
278string manipulation, font support, graphics and other basic
279functionality (CoreImage and CoreVideo have recently been added by
280Apple) and toolkit dependent code for the Carbon, Cocoa and Cocoa
281Touch API. The Carbon variant is the core of what used to be wxMac
282and is the most stable and mature version. The reason behind adding
283optional support for Cocoa and Cocoa Touch is that Carbon is not
284available on iPhones at all and that it has been deprecated for all
28564-bit versions of OS X, which is likely to be the default a few
286years from now. So while present applications using wxOSX are advised
287to use the Carbon backend due its maturity, future developement will
288have to focus on the Cocoa backend.</P>
289<P ALIGN=JUSTIFY>As part of the restructuring, all remaining drawing
290code using the old QuickDraw API has been removed (it was only an
291option before) and drawing now always takes place using CoreGraphics.
292Likewise, all code using Carbon functions no longer present in OS X
29310.4 has been removed to clean-up the code greatly. This is turn
294means, as mentioned above, that applications will require a minimum
295of OS X 10.4 in order to run, better yet OS X 10.5.</P>
296<P ALIGN=JUSTIFY>Apart from these large changes, these additional
297features can be noted:</P>
298<UL>
299 <LI><P ALIGN=JUSTIFY>Better support for IconRef</P>
300 <LI><P ALIGN=JUSTIFY>A fix for duplicate menu entries in non-English
301 locales</P>
302 <LI><P ALIGN=JUSTIFY>Accelerators allowed to be used for buttons</P>
303 <LI><P ALIGN=JUSTIFY>wxLocale::GetInfo() implemented using CFLocale</P>
304</UL>
305<H3 CLASS="western">wxGTK specific changes</H3>
306<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">The task of the GTK+ port
307of wxWidgets is to keep up with the development of the GTK+ library
308since it has the habit of adding new controls or new APIs if the
309existing code is too limited and cannot be fixed in a backward
310compatible way. The main problem of this approach is that
ca54ea37 311applications written using wxGTK should work with relatively old
355b0cb3
RR
312versions of GTK+ but should also make use of recent features. In some
313cases, supporting an old version of GTK+ hinders development so we
314decided to declare GTK+ 2.4 the minimum toolkit version that is
315supported. As an example, this made it possible to always use the
316GTK+ file dialog instead of the old generic file dialog which had to
317be used when GTK+ didn't have a usable file dialog.
318</P>
319<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Other parts of wxGTK that
320were rewritten or which underwent a major update include, but are not
321limited to:</P>
322<UL>
323 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">wxToolbar now uses
324 the „new“ GTK+ toolbar API</P>
325 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">wxChoice now uses
326 GtkComboBox instead of the deprecated GtkOptionMenu</P>
327 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">wxComboBox now
328 always uses GtkComboBox instead of the deprecated GtkCombo class</P>
329 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">URL dragging using
330 the „text/x-moz-url“ in wxURLDataObject</P>
331 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Added a completely
332 new printing backend using with dialogs GtkPrint and Cairo</P>
333 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Rewritten idle event
334 generation code</P>
335 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Tab traversal is now
336 done natively by GTK+ instead of by wxWidgets</P>
337 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Rewrote layout of
338 wxFrame's menubar, toolbar, client window and statusbar using a
339 GtkVBox instead of our own calculation</P>
340 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Correctly
341 implemented SetSize() and GetSize() for toplevel windows in spite of
342 the dreaded problems with window decorations belonging to the Window
343 Manager and not the window itself</P>
344 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Added an
345 asynchronous API to wxClipboard to avoid having to call wxYield()
346 from within it (which causes reentrance problems).</P>
347 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Some support for
348 Hildon control from the Maemo platform used for Nokia tablets</P>
ca54ea37
RR
349 <LI><P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Rewritten the
350 wxTaskBarIconIcon class using GtkStatusIcon if available.</P>
355b0cb3
RR
351</UL>
352<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><BR>
353</P>
354<H3 CLASS="western">wxMSW specific changes</H3>
355<P STYLE="margin-bottom: 0cm">wxMSW is the most mature platform,
356mostly because it is used most often and thus has the biggest user,
357tester and developer base, but also because the underlying Windows
358system has been more successful at preserving backwards
359compatibility. Therefore, the list of wxMSW-specific changes is
360smaller and the changes usually minor details when compared to the
361changes of the other two main ports:</P>
362<UL>
363 <LI><P STYLE="margin-bottom: 0cm">Implemented more native looking
364 wxCheckListBox and add ability to store client data in it</P>
365 <LI><P STYLE="margin-bottom: 0cm">Allow longer tooltips</P>
366 <LI><P STYLE="margin-bottom: 0cm">Support for multiline labels in
367 wxCheckBox and wxToggleButton</P>
368 <LI><P STYLE="margin-bottom: 0cm">More precise print preview</P>
369 <LI><P STYLE="margin-bottom: 0cm">Show resize gripper in resizable
370 dialogs</P>
371</UL>
372<P STYLE="margin-bottom: 0cm"><BR>
373</P>
374<P STYLE="margin-bottom: 0cm"><BR>
375</P>
376<P STYLE="margin-bottom: 0cm"><BR>
377</P>
378</BODY>
ca54ea37 379</HTML>