]> git.saurik.com Git - wxWidgets.git/blame - docs/changes.txt
Fixed bug: wxPropertyGridInterface::SetPropertyReadOnly() with wxPG_DONT_RECURSE...
[wxWidgets.git] / docs / changes.txt
CommitLineData
70cf18ef
VZ
1-------------------------------------------------------------------------------
2 wxWidgets Change Log
3-------------------------------------------------------------------------------
d643b80e 4
5ec9d741 5INCOMPATIBLE CHANGES SINCE 2.8.x
aae53500
VZ
6================================
7
500b128d
VZ
8
9 Notice that these changes are described in more details in
10 the "Changes Since wxWidgets 2.8" section of the manual,
11 please read it if the explanation here is too cryptic.
12
13
e6d4038a
VZ
14Unicode-related changes
15-----------------------
16
17The biggest changes in wxWidgets 3.0 are the changes due to the merge of the
18old ANSI and Unicode build modes in a single build. See the Unicode overview
19in the manual for more details but here are the most important incompatible
20changes:
21
22- Many wxWidgets functions taking "const wxChar *" have been changed to take
3dac8f8a
VS
23 either "const wxString&" (so that they accept both Unicode and ANSI strings;
24 the argument can't be NULL anymore in this case) or "const char *" (if the
e0e7a341
VS
25 strings are always ANSI; may still be NULL). This change is normally
26 backwards compatible except:
4baf7800
VZ
27
28 a) Virtual functions: derived classes versions must be modified to take
29 "const wxString&" as well to make sure that they continue to override the
30 base class version.
31
32 b) Passing NULL as argument: as NULL can't be unambiguously converted to
33 wxString, in many cases code using it won't compile any more and NULL
0d5ab92f
VZ
34 should be replaced with an empty string.
35
b7aadf25
VZ
36- Functions returning "const wxChar *" were changed as well. Mostly they now
37 return wxString which is then transparently convertible to either "const char
38 *" or "const wchar_t *" but in some cases, notably wxDateTime::ParseXXX(),
39 the returned string could be NULL and so a separate helper class is used. If
40 you obtain compilation errors because of this, you can always correct them by
41 explicitly assigning the function return value to a variable of wanted type.
c398434d
VZ
42 A slightly more intrusive but better solution is to use ParseXXX() version
43 with wxString::const_iterator output parameter which simply returns bool to
44 indicate the parsing success.
0d5ab92f
VZ
45
46- Some structure fields which used to be of type "const wxChar *" (such as
47 wxCmdLineEntryDesc::shortName, longName and description fields) are now of
48 type "const char *", you need to remove wxT() or _T() around the values used
49 to initialize them (which should normally always be ASCII).
e6d4038a 50
50c549b9
VZ
51- wxIPC classes didn't work correctly in Unicode build before, this was fixed
52 but at a price of breaking backwards compatibility: many methods which used
53 to work with "wxChar *" before use "void *" now (some int parameters were
54 also changed to size_t). While wxIPC_TEXT can still be used to transfer 7
55 bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings.
f01a77c7
VZ
56 Also notice that connection classes should change the parameter types of
57 their overridden OnExecute() or override a more convenient OnExec() instead.
e6d4038a
VZ
58
59
6f67af05
FM
60wxODBC and contrib libraries removal
61------------------------------------
1e6b2edf
VZ
62
63wxODBC library was unmaintained since several years and we couldn't continue
64supporting it any longer so it was removed. Please use any of the other open
65source ODBC libraries in the future projects.
66
6f67af05
FM
67Also the "applet", "deprecated", "fl", "mmedia" and "plot" contrib libraries
68were removed as they were unmaintained and broken since several years.
69The "gizmos", "ogl", "net" and "foldbar" contribs have been moved to
70wxCode (see http://wxcode.sourceforge.net/complist.php); they are now
71open for futher development by volunteers.
72
73The "stc" and "svg" contribs instead have been moved respectively into a new
74"official" library stc and in the core lib.
75
1e6b2edf 76
b1f3b29c
VZ
77Changes in behaviour not resulting in compilation errors, please read this!
78---------------------------------------------------------------------------
79
466e87bd
VZ
80- Default location of wxFileConfig files has changed under Windows, you will
81 need to update your code if you access these files directly.
82
47a8a4d5
VZ
83- wxWindow::IsEnabled() now returns false if a window parent (and not
84 necessarily the window itself) is disabled, new function IsThisEnabled()
85 with the same behaviour as old IsEnabled() was added.
86
5644933f
VZ
87- Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and
88 other platforms in the future), use wxWindow::Navigate() or NavigateIn()
89 instead.
90
89064717
VZ
91- Sizers distribute only the extra space between the stretchable items
92 according to their proportions and not all available space. We believe the
93 new behaviour corresponds better to user expectations but if you did rely
94 on the old behaviour you will have to update your code to set the minimal
95 sizes of the sizer items to be in the same proportion as the items
96 proportions to return to the old behaviour.
97
17808a75
VZ
98- wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in
99 your code you need to override DoFreeze/Thaw() instead now.
100
628e155d
VZ
101- wxCalendarCtrl has native implementation in wxGTK, but it has less features
102 than the generic one. The native implementation is used by default, but you
103 can still use wxGenericCalendarCtrl instead of wxCalendarCtrl in your code if
104 you need the extra features.
105
9c8116f8
VZ
106- wxDocument::FileHistoryLoad() and wxFileHistory::Load() now take const
107 reference to wxConfigBase argument and not just a reference, please update
108 your code if you overrode these functions and change the functions in the
109 derived classes to use const reference as well.
110
a6eac99d
VZ
111- Under MSW wxExecute() arguments are now always properly quoted, as under
112 Unix, and so shouldn't contain quotes unless they are part of the argument.
17808a75 113
c6e4d276
VZ
114- wxDocument::OnNewDocument() doesn't call OnCloseDocument() any more.
115
1d7b600d
VZ
116- If you use wxScrolledWindow::SetTargetWindow() you must implement its
117 GetSizeAvailableForScrollTarget() method, please see its documentation for
118 more details.
119
0e1e143d
FM
120- Processing of pending events now requires a running event loop.
121 Thus initialization code (e.g. showing a dialog) previously done in wxApp::OnRun()
122 or equivalent function should now be done into wxApp::OnEventLoopEnter().
123 See wxApp::OnEventLoopEnter() and wxApp::OnEventLoopExit() docs for more info.
124
1d7b600d 125
b1f3b29c
VZ
126Changes in behaviour which may result in compilation errors
127-----------------------------------------------------------
128
c1dc9f83
VZ
129- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
130 you still relied on features deprecated since version 2.4
131
ddc0ac4a
VZ
132- wxDC classes hierarchy has changed, if you derived any classes from wxDC you
133 need to review them as wxDC doesn't have any virtual methods any longer and
134 uses delegation instead of inheritance to present different behaviours.
135
8cc208e3 136- wxWindow::ProcessEvent() (and other wxEvtHandler methods inherited by wxWindow)
bca627de
FM
137 has been made protected to prevent wrongly using it instead of correct
138 GetEventHandler()->ProcessEvent().
139 New ProcessWindowEvent() was added for convenience.
3b7fa206 140
c9f78968
VS
141- Return type of wxString::operator[] and wxString::iterator::operator* is no
142 longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem
143 in vast majority of cases because of conversion operators, but it can break
144 code that depends on the result being wxChar.
145
ef0f1387
VS
146- The value returned by wxString::c_str() cannot be casted to non-const char*
147 or wchar_t* anymore. The solution is to use newly added wxString methods
148 char_str() (which returns a buffer convertible to char*) or wchar_str()
149 (which returns a buffer convertible to wchar_t*). These methods are
150 available in wxWidgets 2.8 series beginning with 2.8.4 as well.
151
c9f78968
VS
152- The value returned by wxString::operator[] or wxString::iterator cannot be
153 used in switch statements anymore, because it's a class instance. Code like
154 this won't compile:
155 switch (str[i]) { ... }
156 and has to be replaced with this:
157 switch (str[i].GetValue()) { ... }
158
73ba5ab9
VZ
159- Return type of wxString::c_str() is now a helper wxCStrData struct and not
160 const wxChar*. wxCStrData is implicitly convertible to both "const char *"
161 and "const wchar_t *", so this only presents a problem if the compiler cannot
162 apply the conversion. This can happen in 2 cases:
a6eac99d 163
73ba5ab9
VZ
164 + There is an ambiguity because the function being called is overloaded to
165 take both "const char *" and "const wchar_t *" as the compiler can't choose
166 between them. In this case you may use s.wx_str() to call the function
167 matching the current build (Unicode or not) or s.mb_str() or s.wc_str() to
168 explicitly select narrow or wide version of it.
169
170 Notice that such functions are normally not very common but unfortunately
171 Microsoft decided to extend their STL with standard-incompatible overloads
172 of some functions accepting "const wchar_t *" so you may need to replace
173 some occurrences of c_str() with wx_str() when using MSVC 8 or later.
174
175 + Some compilers, notably Borland C++ and DigitalMars, don't correctly
176 convert operator?: operands to the same type and fail with compilation
177 error instead. This can be worked around by explicitly casting to const
178 wxChar*: wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "")
c9f78968 179
52de37c7 180- wxCtime() and wxAsctime() return char*; this is incompatible with Unicode
5bce3e6f 181 build in wxWidgets 2.8 that returned wchar_t*.
52de37c7 182
c9f78968
VS
183- DigitalMars compiler has a bug that prevents it from using
184 wxUniChar::operator bool in conditions and it erroneously reports type
185 conversion ambiguity in expressions such as this:
186 for ( wxString::const_iterator p = s.begin(); *p; ++p )
187 This can be worked around by explicitly casting to bool:
188 for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
189
d03dab2a 190- Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now.
5bce3e6f 191
73ba5ab9 192- Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8
d38f70b2 193 are deprecated and passing NULL to them won't compile anymore, wxEmptyString
ab29bb87 194 must be used instead.
d38f70b2 195
de34bb08
VZ
196- wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx()
197 with void pointers.
198
d03dab2a
VS
199- Removed insecure wxGets() and wxTmpnam() functions.
200
6a4cbac1
VS
201- Removed global GetLine() function from wx/protocol/protocol.h, use
202 wxProtocol::ReadLine() instead.
17808a75 203
c8058a09
JS
204- wxVariant no longer derives from wxObject. wxVariantData also no longer
205 derives from wxObject; instead of using wxDynamicCast with wxVariantData you
206 can use the macro wxDynamicCastVariantData with the same arguments.
6a4cbac1 207
1a8a13ee 208- wxWindow::Next/PrevControlId() don't exist any more as they couldn't be
08f1c27c 209 implemented correctly any longer because automatically generated ids are not
1a8a13ee 210 necessarily allocated consecutively now. Use GetChildren() to find the
08f1c27c
VZ
211 next/previous control sibling instead.
212
500b128d
VZ
213- Calling wxConfig::Write() with an enum value will fail to compile because
214 wxConfig now tries to convert all unknown types to wxString automatically.
215 The simplest solution is to cast the enum value to int.
d03dab2a 216
e98e625c
VZ
217- Several wxImage methods which previously had "long bitmaptype" parameters
218 have been changed to accept "wxBitmapType bitmaptype", please use enum
219 wxBitmapType in your code.
220
763163a8
VZ
221- wxGridCellEditor::EndEdit() signature has changed and it was split in two
222 functions, one still called EndEdit() and ApplyEdit(). See the documentation
223 of the new functions for more details about how grid editors should be
224 written now.
225
226- wxEVT_GRID_CELL_CHANGE event renamed to wxEVT_GRID_CELL_CHANGED and shouldn't
227 be vetoed any more, use the new wxEVT_GRID_CELL_CHANGING event to do it.
228
6e2f3084 229- wxListCtrlCompare function used with wxListCtrl::SortItems() must now declare
b18e2046 230 its third parameter as wxIntPtr and not long (this allows passing pointers
6e2f3084
VZ
231 to it under 64 bit platforms too).
232
8cc208e3
VZ
233- Global wxPendingEvents and wxPendingEventsLocker objects were removed.
234 You may use wxEventLoopBase::SuspendProcessingOfPendingEvents instead of
235 locking wxPendingEventsLocker now.
236
763163a8 237
5ec9d741
VZ
238Deprecated methods and their replacements
239-----------------------------------------
240
13dd765c 241- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead.
7890307b
VS
242- wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer
243 or wxStringBufferLength instead.
d0bc78e2
VZ
244- wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if
245 specified so this style should simply be removed
724b119a
VZ
246- wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and
247 wxDocument::GetPrintableName() with GetUserReadableName() which are simpler
248 to use
288b6107
VS
249- wxXmlProperty class was renamed to wxXmlAttribute in order to use standard
250 terminology. Corresponding wxXmlNode methods were renamed to use
251 "Attribute" instead of "Property" or "Prop" in their names.
022a8a5a
VZ
252- wxConnection::OnExecute() is not formally deprecated yet but new code should
253 use simpler OnExec() version which is called with wxString argument
8cc208e3
VZ
254- Various wxMenuItem methods were deprecated in favour of more consisently
255 named new versions:
256 . GetLabel() is now GetItemLabelText()
257 . GetText() is not GetItemLabel()
258 . GetLabelFromText() is now GetLabelText()
259 . SetText() is now SetItemLabel()
260- wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen
261 ctor now take respectively a wxBrushStyle and a wxPenStyle value instead of a
262 plain "int style"; use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX
263 and wxPENSTYLE_XXX) instead of the old deprecated wxXXX styles.
e557577d
VZ
264- EVT_GRID_CELL_CHANGE was deprecated, use EVT_GRID_CELL_CHANGED instead if you
265 don't veto the event in its handler and EVT_GRID_CELL_CHANGING if you do.
628e155d
VZ
266- EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED.
267- EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated,
268 use EVT_CALENDAR_PAGE_CHANGED which replaces both of them.
269- wxCalendarCtrl::EnableYearChange() and wxCAL_NO_YEAR_CHANGE are deprecated.
fdaad94e
VZ
270 There is no replacement for this functionality, it is being dropped as it is
271 not available in native wxCalendarCtrl implementations.
272- wxDC::SetClippingRegion(const wxRegion&) overload is deprecated as it used
273 different convention from the other SetClippingRegion() overloads: wxRegion
274 passed to it was interpreted in physical, not logical, coordinates. Replace
275 it with SetDeviceClippingRegion() if this was the correct thing to do in your
276 code.
053ac76f 277- wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow.
8cc208e3
VZ
278- wxThreadHelper::Create() has been renamed to CreateThread which has a better
279 name for a mix-in class, and allows setting the thread type.
bca627de
FM
280- wxDos2UnixFilename, wxUnix2DosFilename, wxStripExtension, wxGetTempFileName,
281 wxExpandPath, wxContractPath, wxRealPath, wxCopyAbsolutePath, wxSplitPath
282 were deprecated in favour of wxFileName methods. See docs for more info.
8cc208e3
VZ
283- wxEvtHandler::TryValidator/Parent() are deprecated, override the new and
284 documented TryBefore/After() methods if you used to override these ones.
e5cfb314
VZ
285- wxGetMultipleChoices() is deprecated, use wxGetSelectedChoices() which has
286 the same signature but returns -1 and not 0 if the dialog was cancelled.
39cdc95f
FM
287- building the windows which are placed inside wxStaticBoxes as siblings of the
288 wxStaticBox is still allowed but it's deprecated as it gives some problems
289 on some ports (e.g. wxGTK).
290 You should now create windows placed inside a wxStaticBox as children of
291 the static box itself.
41ae85f8 292
5ec9d741
VZ
293Major new features in this release
294----------------------------------
295
9135f74e
VZ
296- wxWidgets is now always built with Unicode support but provides the same
297 simple (i.e. "char *"-tolerant) API as was available in ANSI build in the
298 past.
299
300- wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally,
301 depending on what is optimal for the target platform.
302
058f225a
VZ
303- New propgrid library containing wxPropertyGrid and related classes.
304
305- Many enhancements to wxDataViewCtrl.
1c4293cb 306
89ff7d64
VZ
307- Event loops, timers and sockets can now be used in wxBase, without GUI.
308
3c778901
VZ
309- Events can now be connected to any functor, not necessarily a method of
310 wxEvtHandler-derived class. The compile-time safety was also improved.
311
89ff7d64
VZ
312- Documentation for wxWidgets has been converted from LaTex to C++ headers
313 with Doxygen comments and significantly improved in the process (screenshots
314 of various controls were added, more identifiers are now linked to their
315 definition &c). Any reports about inaccuracies in the documentation are
316 welcome (and due to using the simple Doxygen syntax it is now easier than
317 ever to submit patches correcting them! :-)
6f8dd114 318
0fa541e8
VZ
319- Support for persistent objects automatically saving and restoring their state
320 was added.
321
12dc0a01 322
ae901b23
VZ
3232.9.1:
324------
325
3aaaf1aa
VZ
326All:
327
1c7a6772
VZ
328- Include port number in host header in wxHTTP (Marcin 'Malcom' Malich).
329
330All (GUI):
331
82edfbe7 332- wxGrid: add possibility to prevent resizing of individual rows/columns.
3aaaf1aa 333- wxHTML: add support for table borders width (Laurent Humbertclaude).
bca8c756 334- Added wxMouseEventsManager.
3aaaf1aa 335
75004dfb
VZ
336MSW:
337
338- Allow changing the height of wxChoice and wxComboBox.
339
ae901b23
VZ
340i18n:
341
342- Korean translations added (Sungkee Jung).
343- Romanian translations added (Manuel Ciosici).
344
345
ccee328e
VZ
3462.9.0
347-----
348
ac6e0eb1
VZ
349All:
350
4b02d42e 351- Added (experimental) IPv6 support to wxSocket (Arcen).
2186321f 352- Cleaned up wxURI and made it Unicode-friendly.
51acf83b 353- Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski).
4b02d42e 354- Added wxXLocale class and xlocale-like functions using it.
51acf83b 355- Allow loading message catalogs from wxFileSystem (Axel Gembe).
6aaee6af 356- Added wxMessageQueue class for inter-thread communications
50c549b9 357- Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen)
3cc305b2 358- Added support for user-defined types to wxConfig (Marcin Wojdyr).
b1859b1a 359- Added numeric options support to wxCmdLineParser (crjjrc)
3cc305b2 360- Added wxJoin() and wxSplit() functions (Francesco Montorsi).
f3f2e255 361- Added wxDateTime::FormatISOCombined() and ParseISODate/Time/Combined()
3cc305b2
JS
362- Added wxMutex::LockTimeout() (Aleksandr Napylov).
363- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev).
364- Implemented wxMemoryInputStream::CanRead().
fcc65883 365- Implemented wxMemoryFSHandler::FindFirst/Next().
9af42efd 366- Added wxEventLoop::DispatchTimeout().
51acf83b 367- Added wxZlibStream::SetDictionary() (Axel Gembe).
3cc305b2
JS
368- Added wxEXEC_BLOCK flag (Hank Schultz).
369- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
370- Added wxStreamBuffer::Truncate() (Stas Sergeev).
985acf87 371- Allow using wxEventLoop in console applications (Lukasz Michalski).
3cc305b2
JS
372- Added functions for Base64 en/decoding (Charles Reimers).
373- Added support for binary data to wxConfig (Charles Reimers).
374- Added functions for atomically inc/decrementing integers (Armel Asselin).
30519b02 375- wxLogInterposer has been added to replace wxLogPassThrough and new
3cc305b2
JS
376 wxLogInterposerTemp was added.
377- Added support for broadcasting to UDP sockets (Andrew Vincent).
378- Documentation now includes the wx library in which each class is defined.
21b2dde5
VS
379- wxrc --gettext now generates references to source .xrc files (Heikki
380 Linnakangas).
c8058a09
JS
381- wxVariant::Unshare allows exclusive allocation of data that must be shared,
382 if the wxVariantData::Clone function is implemented.
664e1314
VZ
383- Added wxWeakRef<T>, wxScopedPtr<T>, wxScopedArray<T>, wxSharedPtr<T> templates
384 and renamed old wx/ptr_{scpd,shrd}.h headers to wx/scoped{ptr,array}.h and
385 wx/sharedptr.h (but old headers are still provided for compatibility).
69d0fe83 386- Added wxVector<T> class templates
d2a48d5c 387- Added wxON_BLOCK_EXIT_SET() and wxON_BLOCK_EXIT_NULL() to wx/scopeguard.h.
c3f94162
VZ
388- Added wxEvtHandler::QueueEvent() replacing AddPendingEvent() and
389 wxQueueEvent() replacing wxPostEvent().
4f29051b
VZ
390- wxString now uses std::[w]string internally by default, meaning that it is
391 now thread-safe if the standard library provided with your compiler is.
3e50a139 392- Added wxCmdLineParser::AddUsageText() (Marcin 'Malcom' Malich).
9d653e81 393- Fix reading/writing UTF-7-encoded text streams.
f7541d48 394- Corrected bug in wxTimeSpan::IsShorterThan() for equal time spans.
f380544a 395- Use std::unordered_{map,set} for wxHashMap/Set if available (Jan van Dijk).
0c7db140 396- Added wxString::Capitalize() and MakeCapitalized().
ff2201cc 397- Added wxArray::swap().
9016f3ad 398- Added wxSHUTDOWN_LOGOFF and wxSHUTDOWN_FORCE wxShutdown() flags (troelsk).
b67397a7 399- Added wxSocket::ShutdownOutput().
7047d798 400- Handle exceptions thrown from overridden wxView::OnCreate() gracefully.
058f225a 401- Added wxPATH_RMDIR_FULL/RECURSIVE wxFileName::Rmdir() flags (Marcin Malich).
d8efd219 402- Added wxStandardPaths::GetAppDocumentsDir().
c0c133e1 403- Added wx-prefixed versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros.
bca627de
FM
404- Added wxFileName::ReplaceEnvVariable and wxFileName::ReplaceHomeDir.
405- Added wxProtocol::SetDefaultTimeout(); the default timeout for both wxHTTP and wxFTP
406 protocols is 60 seconds.
407- Added wxStrnlen() for safe computation of string length.
efce878a
VZ
408- Added wxImage::Clear() (troelsk).
409- Added wxLog::Log().
0576cd9e 410- Added wxProtocolLog and use it in wxFTP.
23239d94 411- Added wxXmlResource::GetResourceNode().
072682ce 412- Optimize wxString::Replace() to use an O(N) algorithm (Kuang-che Wu).
645706a2 413- Added support of %l format specifier to wxDateTime::ParseFormat().
ba4800d3 414- wxImage handlers can now support multiple extensions (Ivan Krestinin).
13d09fc3 415- Added wxFileName::StripExtension() (troelsk).
89a7e1ff 416- Added wxLOCALE_DATE/TIME_FMT support to wxLocale::GetInfo().
abbb59e8 417
bd630206
VZ
418All (Unix):
419
3cc305b2 420- Added wx-config --optional-libs command line option (John Labenski).
8aea37a9 421- Noticeably (by a factor of ~150) improve wxIPC classes performance.
bca627de
FM
422- Configure options --with-opengl and --enable-mediactrl now default to "auto":
423 if OpenGL and GStreamer libraries are available the "gl" and "media" wx libraries
424 are automatically built.
bd630206 425
abbb59e8
VZ
426All (GUI):
427
1c4293cb
VZ
428- Added wxDataViewCtrl class and helper classes.
429- Integrated wxPropertyGrid in wxWidgets itself (Jaakko Salli).
430- Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK.
af67f39d
VZ
431- Added wxHeaderCtrl and allow using it in wxGrid.
432- Added wxRearrangeList, wxRearrangeCtrl and wxRearrangeDialog.
1c4293cb 433- Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames().
3cc305b2 434- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
1c4293cb
VZ
435- Added wxNotificationMessage class for non-intrusive notifications.
436- Added wxWindow::Show/HideWithEffect().
437- Added wxWrapSizer (Arne Steinarson).
438- Added wxSpinCtrlDouble (John Labenski).
4b02d42e 439- Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version).
6362d82b 440- Added wxScrolledWindow::ShowScrollbars().
f45d6ade 441- Also added wxCANCEL_DEFAULT to wxMessageDialog.
b6d2b072 442- Allow copying text in the log dialogs.
c39d2e0a 443- Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
8933fbc6 444- Added wxEVT_COMMAND_COMBOBOX_DROPDOWN/CLOSEUP events (Igor Korot).
232b2162 445