]>
Commit | Line | Data |
---|---|---|
1 | ------------------------------------------------------------------------------- | |
2 | wxWidgets Change Log | |
3 | ------------------------------------------------------------------------------- | |
4 | ||
5 | INCOMPATIBLE CHANGES SINCE 2.8.x | |
6 | ================================ | |
7 | ||
8 | Unicode-related changes | |
9 | ----------------------- | |
10 | ||
11 | The biggest changes in wxWidgets 3.0 are the changes due to the merge of the | |
12 | old ANSI and Unicode build modes in a single build. See the Unicode overview | |
13 | in the manual for more details but here are the most important incompatible | |
14 | changes: | |
15 | ||
16 | - Many wxWidgets functions taking "const wxChar *" have been changed to take | |
17 | either "const wxString&" so that they accept both Unicode and ANSI strings. | |
18 | and the argument can't be NULL or "const char *" if the strings are always | |
19 | ANSI but may be NULL. This change is normally backwards compatible except: | |
20 | ||
21 | a) Virtual functions: derived classes versions must be modified to take | |
22 | "const wxString&" as well to make sure that they continue to override the | |
23 | base class version. | |
24 | ||
25 | b) Passing NULL as argument: as NULL can't be unambiguously converted to | |
26 | wxString, in many cases code using it won't compile any more and NULL | |
27 | should be replaced with an empty string. | |
28 | ||
29 | ||
30 | - Some structure fields which used to be of type "const wxChar *" (such as | |
31 | wxCmdLineEntryDesc::shortName, longName and description fields) are now of | |
32 | type "const char *", you need to remove wxT() or _T() around the values used | |
33 | to initialize them (which should normally always be ASCII). | |
34 | ||
35 | - wxIPC classes didn't work correctly in Unicode build before, this was fixed | |
36 | but at a price of breaking backwards compatibility: many methods which used | |
37 | to work with "wxChar *" before use "void *" now (some int parameters were | |
38 | also changed to size_t). While wxIPC_TEXT can still be used to transfer 7 | |
39 | bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings. | |
40 | ||
41 | ||
42 | wxODBC library removal | |
43 | ---------------------- | |
44 | ||
45 | wxODBC library was unmaintained since several years and we couldn't continue | |
46 | supporting it any longer so it was removed. Please use any of the other open | |
47 | source ODBC libraries in the future projects. | |
48 | ||
49 | ||
50 | Changes in behaviour not resulting in compilation errors, please read this! | |
51 | --------------------------------------------------------------------------- | |
52 | ||
53 | - Default location of wxFileConfig files has changed under Windows, you will | |
54 | need to update your code if you access these files directly. | |
55 | ||
56 | - wxWindow::IsEnabled() now returns false if a window parent (and not | |
57 | necessarily the window itself) is disabled, new function IsThisEnabled() | |
58 | with the same behaviour as old IsEnabled() was added. | |
59 | ||
60 | - Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and | |
61 | other platforms in the future), use wxWindow::Navigate() or NavigateIn() | |
62 | instead. | |
63 | ||
64 | - Sizers distribute only the extra space between the stretchable items | |
65 | according to their proportions and not all available space. We believe the | |
66 | new behaviour corresponds better to user expectations but if you did rely | |
67 | on the old behaviour you will have to update your code to set the minimal | |
68 | sizes of the sizer items to be in the same proportion as the items | |
69 | proportions to return to the old behaviour. | |
70 | ||
71 | Changes in behaviour which may result in compilation errors | |
72 | ----------------------------------------------------------- | |
73 | ||
74 | - WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if | |
75 | you still relied on features deprecated since version 2.4 | |
76 | ||
77 | - Return type of wxString::operator[] and wxString::iterator::operator* is no | |
78 | longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem | |
79 | in vast majority of cases because of conversion operators, but it can break | |
80 | code that depends on the result being wxChar. | |
81 | ||
82 | - The value returned by wxString::c_str() cannot be casted to non-const char* | |
83 | or wchar_t* anymore. The solution is to use newly added wxString methods | |
84 | char_str() (which returns a buffer convertible to char*) or wchar_str() | |
85 | (which returns a buffer convertible to wchar_t*). These methods are | |
86 | available in wxWidgets 2.8 series beginning with 2.8.4 as well. | |
87 | ||
88 | - The value returned by wxString::operator[] or wxString::iterator cannot be | |
89 | used in switch statements anymore, because it's a class instance. Code like | |
90 | this won't compile: | |
91 | switch (str[i]) { ... } | |
92 | and has to be replaced with this: | |
93 | switch (str[i].GetValue()) { ... } | |
94 | ||
95 | - Return type of wxString::c_str() is now wxCStrData struct and not | |
96 | const wxChar*. wxCStrData is implicitly convertible to const char* and | |
97 | const wchar_t*, so this only presents a problem if the compiler cannot | |
98 | convert the type. In particular, Borland C++ and DigitalMars compilers | |
99 | don't correctly convert operator?: operands to the same type and fail with | |
100 | compilation error instead. This can be worked around by explicitly casting | |
101 | to const wxChar*: | |
102 | wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "") | |
103 | ||
104 | - wxCtime() and wxAsctime() return char*; this is incompatible with Unicode | |
105 | build in wxWidgets 2.8 that returned wchar_t*. | |
106 | ||
107 | - DigitalMars compiler has a bug that prevents it from using | |
108 | wxUniChar::operator bool in conditions and it erroneously reports type | |
109 | conversion ambiguity in expressions such as this: | |
110 | for ( wxString::const_iterator p = s.begin(); *p; ++p ) | |
111 | This can be worked around by explicitly casting to bool: | |
112 | for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p ) | |
113 | ||
114 | - Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now. | |
115 | ||
116 | - Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8. | |
117 | are deprecated and passing NULL to them won't compile anymore, wxEmptyString | |
118 | must be used instead. | |
119 | ||
120 | - wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx() | |
121 | with void pointers. | |
122 | ||
123 | - Removed insecure wxGets() and wxTmpnam() functions. | |
124 | ||
125 | - Removed global GetLine() function from wx/protocol/protocol.h, use | |
126 | wxProtocol::ReadLine() instead. | |
127 | ||
128 | - wxVariant no longer derives from wxObject. wxVariantData also no longer | |
129 | derives from wxObject; instead of using wxDynamicCast with wxVariantData you | |
130 | can use the macro wxDynamicCastVariantData with the same arguments. | |
131 | ||
132 | - wxWindow::Next/PrevControlId() don't exist any more as they can't be | |
133 | implemented correctly any longer because automatically generated ids are not | |
134 | necessarily allocated consecutively any more. Use GetChildren() to find the | |
135 | next/previous control sibling instead. | |
136 | ||
137 | ||
138 | Deprecated methods and their replacements | |
139 | ----------------------------------------- | |
140 | ||
141 | - wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead. | |
142 | - wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer | |
143 | or wxStringBufferLength instead. | |
144 | - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if | |
145 | specified so this style should simply be removed | |
146 | - wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and | |
147 | wxDocument::GetPrintableName() with GetUserReadableName() which are simpler | |
148 | to use | |
149 | - wxXmlProperty class was renamed to wxXmlAttribute in order to use standard | |
150 | terminology. Corresponding wxXmlNode methods were renamed to use | |
151 | "Attribute" instead of "Property" or "Prop" in their names. | |
152 | ||
153 | ||
154 | Major new features in this release | |
155 | ---------------------------------- | |
156 | ||
157 | ||
158 | 2.9.0 | |
159 | ----- | |
160 | ||
161 | All: | |
162 | ||
163 | - Added (experimental) IPv6 support to wxSocket (Arcen) | |
164 | - Allow loading message catalogs from wxFileSystem (Axel Gembe) | |
165 | - Added wxMessageQueue class for inter-thread communications | |
166 | - Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen) | |
167 | - Added support for user-defined types to wxConfig (Marcin Wojdyr). | |
168 | - Added wxJoin() and wxSplit() functions (Francesco Montorsi). | |
169 | - Added wxMutex::LockTimeout() (Aleksandr Napylov). | |
170 | - Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev). | |
171 | - Implemented wxMemoryInputStream::CanRead(). | |
172 | - Added wxEXEC_BLOCK flag (Hank Schultz). | |
173 | - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev). | |
174 | - Added wxStreamBuffer::Truncate() (Stas Sergeev). | |
175 | - Allow using wxEventLoop in console applications (Lukasz Michalski). | |
176 | - Added functions for Base64 en/decoding (Charles Reimers). | |
177 | - Added support for binary data to wxConfig (Charles Reimers). | |
178 | - Added functions for atomically inc/decrementing integers (Armel Asselin). | |
179 | - wxLogInterposer has been added to replace wxLogPassThrough and new | |
180 | wxLogInterposerTemp was added. | |
181 | - Added support for broadcasting to UDP sockets (Andrew Vincent). | |
182 | - Documentation now includes the wx library in which each class is defined. | |
183 | - wxrc --gettext now generates references to source .xrc files (Heikki | |
184 | Linnakangas). | |
185 | - wxVariant::Unshare allows exclusive allocation of data that must be shared, | |
186 | if the wxVariantData::Clone function is implemented. | |
187 | ||
188 | All (Unix): | |
189 | ||
190 | - Added wx-config --optional-libs command line option (John Labenski). | |
191 | ||
192 | All (GUI): | |
193 | ||
194 | - Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames() | |
195 | - Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty). | |
196 | - Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron). | |
197 | - Added support for drop down toolbar buttons (Tim Kosse). | |
198 | - Added support for labels for toolbar controls (Vince Harron). | |
199 | - Added wxMessageDialog::SetMessage() and SetExtendedMessage(). | |
200 | - Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov) | |
201 | - Added wxWindow::AlwaysShowScrollbars() (Julian Scheid) | |
202 | - Added wxMouseEvent::GetClickCount() (Julian Scheid) | |
203 | - Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid) | |
204 | - Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II) | |
205 | - New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr) | |
206 | - Added wxEventBlocker class (Francesco Montorsi). | |
207 | - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi). | |
208 | - Added wxSizerFlags::Top() and Bottom(). | |
209 | - Slovak translation added. | |
210 | - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl. | |
211 | - Implemented background colour in wxRichTextCtrl. | |
212 | - Fixed crashes in helpview when opening a file. | |
213 | - Set locale to the default in all ports, not just wxGTK. | |
214 | - Added wxJoystick::GetButtonState/Position() (Frank C Szczerba). | |
215 | - Added wxGridUpdateLocker helper class (Evgeniy Tarassov). | |
216 | - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov). | |
217 | - Added wxWindow::NavigateIn() in addition to existing Navigate(). | |
218 | - Add support for <data> tags to wxrc. | |
219 | - Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr). | |
220 | - Show standard options in wxCmdLineParser usage message (Francesco Montorsi). | |
221 | - Added wxRect::operator+ (union) and * (intersection) (bdonner). | |
222 | - Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland). | |
223 | - Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper). | |
224 | - Added wxTaskBarIcon::Destroy(). | |
225 | - Added XRC handler for wxSearchCtrl (Sander Berents). | |
226 | - Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto). | |
227 | - Add support for reading alpha data from TIFF images. | |
228 | - Added wxSYS_DCLICK_TIME system metric constant (Arne Steinarson). | |
229 | - Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II). | |
230 | - Added wxWindow::GetPopupMenuSelectionFromUser() (Arne Steinarson). | |
231 | - Implemented wxTreeCtrl::GetPrevVisible() in the generic version and made the | |
232 | behaviour of GetNextSibling() consistent between wxMSW and generic versions. | |
233 | - Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table | |
234 | to wxRichTextBuffer to reduce wxFont consumption and increase performance. | |
235 | - Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren() (Szczepan Holyszewski) | |
236 | ||
237 | wxGTK: | |
238 | ||
239 | - Support for markup and ellipsization in wxStaticText (Francesco Montorsi). | |
240 | - Native implementation for wxHyperlinkCtrl (Francesco Montorsi). | |
241 | - Native keyboard navigation implementation. | |
242 | - Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov). | |
243 | - Don't overwrite primary selection with clipboard and vice versa. | |
244 | - Implemented support for underlined fonts in wxStaticText. | |
245 | - wxTopLevelWindow::SetSizeHints size increments now work. | |
246 | - wxTopLevelWindow::GetSize() returns the size including the WM decorations. | |
247 | - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized. | |
248 | - Added support for colour cursors (Pascal Monasse). | |
249 | - Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff). | |
250 | - Added gtk.tlw.can-set-transparency system option. | |
251 | ||
252 | wxMac: | |
253 | ||
254 | - Better IconRef support (Alan Shouls). | |
255 | - Added support for changing button labels in wxMessageDialog (Gareth Simpson). | |
256 | - Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs). | |
257 | - Allow accelerators to be used with buttons too (Ryan Wilcox). | |
258 | - Support resource forks in wxCopyFile() (Hank Schultz). | |
259 | - Implement wxLocale::GetInfo() using CFLocale | |
260 | ||
261 | wxMSW: | |
262 | ||
263 | - Fixed infinite loop in wxThread::Wait() in console applications. | |
264 | - Return the restored window size from GetSize() when window is minimized. | |
265 | - wxCheckListBox now looks more native, especially under XP (Marcin Malich). | |
266 | - Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon | |
267 | - Fix centering wxFileDialog | |
268 | ||
269 | wxX11: | |
270 | ||
271 | - Added mouse wheel support (David Hart). | |
272 | - Make Enter key activate the default button (David Hart). | |
273 | ||
274 | ||
275 | 2.8.8 | |
276 | ----- | |
277 | ||
278 | All (GUI): | |
279 | ||
280 | - Added wxWindow::GetNextSibling() and GetPrevSibling() | |
281 | ||
282 | ||
283 | 2.8.7 | |
284 | ----- | |
285 | ||
286 | All: | |
287 | ||
288 | - Fixed bug with default proxy destruction in wxURL (Axel Gembe). | |
289 | ||
290 | wxMSW: | |
291 | ||
292 | - Correct (harmless) warnings given for forward-declared DLL-exported classes | |
293 | by mingw32 4.2 (Tim Stahlhut). | |
294 | ||
295 | wxGTK: | |
296 | ||
297 | - Added gtk.window.force-background-colour wxSystemOptions option to work around | |
298 | a background colour bug in the gtk-qt theme under KDE. | |
299 | - Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports. | |
300 | ||
301 | ||
302 | 2.8.6 | |
303 | ----- | |
304 | ||
305 | All: | |
306 | ||
307 | - Fixed another bug in wxFileConfig when deleting entries (Axel Gembe) | |
308 | - Added Portuguese translation (Antonio Cardoso Martins) | |
309 | ||
310 | ||
311 | 2.8.5 | |
312 | ----- | |
313 | ||
314 | All (GUI): | |
315 | ||
316 | - Added colour normalization to PNM image handler (Ray Johnston) | |
317 | - Fixed selecting part of word from right to left in wxHTML (Michael Hieke) | |
318 | - Selecting text in wxHTML with character precision was made easier, it's | |
319 | enough to select half of a character (Michael Hieke) | |
320 | - Significantly improved startup times of XRC-based applications using | |
321 | embedded resources on Unix (requires resources recompilation) | |
322 | - Fixed freeing of "static" alpha data in wxImage (Axel Gembe) | |
323 | - Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is | |
324 | invalid, to conform to the documented behaviour (Langhammer) | |
325 | - Fixed wxXPMHandler::SaveFile for images with more than 92 colors. | |
326 | ||
327 | wxMSW: | |
328 | ||
329 | - Correct problem with page setup dialog when using landscape mode | |
330 | - Added msw.font.no-proof-quality system option, see manual for description | |
331 | - Fix appearance of notebook with non-top tabs under Windows Vista | |
332 | - Fixed bug with symbol resolving in wxStackWalker (Axel Gembe) | |
333 | - Fixed showing busy cursor for disabled windows and during wxExecute() | |
334 | - Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa) | |
335 | - Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady) | |
336 | ||
337 | wxGTK: | |
338 | ||
339 | - Setting foreground colour of single line wxTextCtrl now works | |
340 | - More work on setting defaults in GNOME print dialogs. | |
341 | - Also made landscape printing work as per wxMSW. | |
342 | - Add support for clipping in GNOME print backend. | |
343 | - Speed up wxBitmap::Rescale() | |
344 | - Add right button event for wxToolbar's tools (Tim Kosse) | |
345 | - Don't unconditionally add wxCAPTION style to wxMiniFrame | |
346 | - Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change | |
347 | - Fix WX_GL_STEREO attribute handling (Tristan Mehamli) | |
348 | - Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis) | |
349 | - Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse) | |
350 | ||
351 | ||
352 | 2.8.4 | |
353 | ----- | |
354 | ||
355 | All: | |
356 | ||
357 | - Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem) | |
358 | - Fix wxStringOutputStream::Write() in Unicode build when the argument | |
359 | overlaps UTF-8 characters boundary | |
360 | - Account for lines without newline at the end in wxExecute() | |
361 | ||
362 | All (Unix): | |
363 | ||
364 | - Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse) | |
365 | ||
366 | All (GUI): | |
367 | ||
368 | - Allow status bar children in XRC (Edmunt Pienkowski) | |
369 | - Fix memory leak in wxWizard when not using sizers for the page layout | |
370 | - Added wxListCtrl::SetItemPtrData() | |
371 | - wxHTML: Apply table background colour between the cells too (Michael Hieke) | |
372 | ||
373 | wxMSW: | |
374 | ||
375 | - Corrected wxStaticBox label appearance when its foreground colour was set: | |
376 | it didn't respect font size nor background colour then (Juan Antonio Ortega) | |
377 | - Don't lose combobox text when it's opened and closed (Kolya Kosenko) | |
378 | - Corrected GetChecked() for events from checkable menu items (smanders) | |
379 | - Fixed popup menus under Windows NT 4 | |
380 | - Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 | |
381 | - Support right-aligned/centered owner drawn items in wxListCtrl (troelsk) | |
382 | - Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 | |
383 | - Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko) | |
384 | ||
385 | wxGTK: | |
386 | ||
387 | - Fix infinite loop when adding a wxStaticText control to a toolbar | |
388 | - Fix wxNO_BORDER style for wxRadioBox (David Hart) | |
389 | - Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr) | |
390 | ||
391 | wxMac: | |
392 | ||
393 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord) | |
394 | ||
395 | wxUniv: | |
396 | ||
397 | - Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen) | |
398 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) | |
399 | - Fix setting background colour for controls with transparent background | |
400 | ||
401 | ||
402 | 2.8.3 | |
403 | ----- | |
404 | ||
405 | All: | |
406 | ||
407 | - Shut down the sockets gracefully (Sergio Aguayo) | |
408 | - Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal) | |
409 | ||
410 | wxMac: | |
411 | ||
412 | - Corrected top border size for wxStaticBox with empty label (nusi) | |
413 | ||
414 | wxMSW: | |
415 | ||
416 | - Fixed wxFileName::GetSize() for large files | |
417 | ||
418 | wxGTK: | |
419 | ||
420 | - Fixed handling of accelerators using PageUp/Down keys | |
421 | ||
422 | ||
423 | 2.8.2 | |
424 | ----- | |
425 | ||
426 | All: | |
427 | ||
428 | - Added wxSizerFlags::Shaped() and FixedMinSize() methods. | |
429 | - Added wxCSConv::IsOk() (Manuel Martin). | |
430 | - Added wxDateTime::GetDateOnly(). | |
431 | - Made wxTextFile work with unseekable files again (David Hart). | |
432 | - Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). | |
433 | - Added wxSearchCtrl::[Get|Set]DescriptiveText. | |
434 | - Fixed detection of number of processors under Linux 2.6 | |
435 | - Fixed Base64 computation in wxHTTP (p_michalczyk) | |
436 | - Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) | |
437 | ||
438 | Unix Ports: | |
439 | ||
440 | - Fixed crash in wxGetUserName() in Unicode build | |
441 | ||
442 | wxMSW | |
443 | ||
444 | - Fix lack of spin control update event when control lost focus. | |
445 | - Corrected drawing of bitmaps for disabled menu items. | |
446 | ||
447 | wxGTK | |
448 | ||
449 | - Fix hang on startup when using GTK+ options in Unicode build | |
450 | ||
451 | wxMac | |
452 | ||
453 | - Fix position of the centered windows (didn't take menu bar size into account) | |
454 | - Added support for the wxFRAME_FLOAT_ON_PARENT style. | |
455 | ||
456 | wxX11: | |
457 | ||
458 | - Don't crash in wxWindow dtor if the window hadn't been really Create()d. | |
459 | ||
460 | wxUniv: | |
461 | ||
462 | - Fixed wxComboBox always sorted. | |
463 | ||
464 | ||
465 | 2.8.1 | |
466 | ----- | |
467 | ||
468 | All: | |
469 | ||
470 | - Fix compilation with wxUSE_STL=1. | |
471 | - wxGrid::GetBestSize() returns same size the grid would have after AutoSize(). | |
472 | - Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi). | |
473 | - Several RTL-related positioning fixes (Diaa Sami). | |
474 | - Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart). | |
475 | - Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner). | |
476 | ||
477 | wxMSW: | |
478 | ||
479 | - Fixed compilation with Borland C++ in Unicode mode but without MSLU. | |
480 | - Show taskbar icon menu on right button release, not press. | |
481 | ||
482 | wxGTK: | |
483 | ||
484 | - Don't crash if command line is not valid UTF-8 (Unicode build only). | |
485 | ||
486 | wxUniv: | |
487 | ||
488 | - It is now possible to set background colour of wxStaticText. | |
489 | ||
490 | ||
491 | 2.8.0 | |
492 | ----- | |
493 | ||
494 | All: | |
495 | ||
496 | - Added wxSearchCtrl (Vince Harron). | |
497 | - wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32. | |
498 | - wxArrayString::Alloc() now works as reserve() and doesn't clear array contents. | |
499 | - Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto). | |
500 | - New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return | |
501 | a stream that is seekable. | |
502 | - Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows. | |
503 | - Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize(). | |
504 | for a control with borders (Tim Kosse). | |
505 | ||
506 | wxMSW: | |
507 | ||
508 | - Fixed version script problems when using configure with cygwin/mingw32. | |
509 | - Use system default paper size for printing instead of A4. | |
510 | - Fix (harmless) assert in virtual list control under Vista. | |
511 | - Fix colours when converting wxBitmap with alpha to wxImage (nusi). | |
512 | ||
513 | wxGTK: | |
514 | ||
515 | - Allow dynamically changing most of text control styles. | |
516 | - Enable use of libgnomeprintui by default in configure. | |
517 | ||
518 | ||
519 | 2.7.2 | |
520 | ----- | |
521 | ||
522 | All: | |
523 | ||
524 | - Added wxFFile overload to wxFileName::CreateTemporaryFileName(). | |
525 | - Added GetTempDir() to wxFileName and wxStandardPaths. | |
526 | - Added wxTar streams. | |
527 | - Added wxFilterFSHandler and wxArchiveFSHandler. | |
528 | - Added wxString::ToLongLong() and ToULongLong(). | |
529 | ||
530 | All (GUI): | |
531 | ||
532 | - wxMemoryDC constructor now optionally accepts a wxBitmap parameter, | |
533 | calling SelectObject itself if a valid bitmap is passed. | |
534 | - Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added | |
535 | wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory. | |
536 | - Renamed wxProgressDialog::UpdatePulse() to just Pulse(). | |
537 | - Added wxCollapsiblePane (Francesco Montorsi). | |
538 | - Added wxSimpleHtmlListBox (Francesco Montorsi). | |
539 | - Printing framework fixes by Robert J. Lang. Bugs fixed, | |
540 | wxPrinterDC::GetPaperRect() and other functions added to allow | |
541 | easier printing implementation, and the documentation updated. | |
542 | - Many enhancements to wxRichTextCtrl including URL support, | |
543 | formatting and symbol dialogs, print/preview, and better list | |
544 | formatting. | |
545 | - Support for loading TGA files added (Seth Jackson). | |
546 | - Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot). | |
547 | - wxHtmlWindow now generates events on link clicks (Francesco Montorsi). | |
548 | - wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event. | |
549 | ||
550 | Unix Ports: | |
551 | ||
552 | - Added autopackage for wxGTK and an example of using autopackage for a wx | |
553 | program (Francesco Montorsi). | |
554 | ||
555 | wxGTK: | |
556 | ||
557 | - More RTL work. | |
558 | - Support wxALWAYS_SHOW_SB. | |
559 | - Speed up MIME types loading. Only the GNOME database should be loaded under | |
560 | GNOME etc. For this, the code queries the X11 session protocol. | |
561 | - wxCaret redraw problem during scrolling fixed. | |
562 | ||
563 | ||
564 | 2.7.1 | |
565 | ----- | |
566 | ||
567 | All: | |
568 | ||
569 | - Added wxDir::FindFirst() (Francesco Montorsi). | |
570 | - Added wxPlatformInfo class (Francesco Montorsi). | |
571 | - Added wxLocale::IsAvailable() (Creighton). | |
572 | - Added Malay translations (Mahrazi Mohd Kamal). | |
573 | - Added reference counting for wxVariant. | |
574 | - For consistency, all classes having Ok() method now also have IsOk() one, use | |
575 | of the latter form is preferred although the former hasn't been deprecated yet. | |
576 | - Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi). | |
577 | - Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi). | |
578 | - Added wxSizer::Replace (Francesco Montorsi). | |
579 | - wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi). | |
580 | - Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide | |
581 | event-free alternatives to SetSelection() and SetValue() functions; see the | |
582 | "Events generated by the user vs programmatically generated events" paragraph | |
583 | in the "Event handling overview" topic for more info. | |
584 | ||
585 | All (GUI): | |
586 | ||
587 | - Support for right-to-left text layout (started by Diaa Sami during Google Summer of | |
588 | Code, with a lot of help from Tim Kosse and others). | |
589 | - wxAnimationCtrl added (Francesco Montorsi). | |
590 | - Added wxAboutBox() function for displaying the standard about dialog. | |
591 | - Added wxID_PAGE_SETUP standard id. | |
592 | - Added wxSize::IncBy() and DecBy() methods. | |
593 | - Added wxTextCtrl::IsEmpty(). | |
594 | - Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for | |
595 | consistency with wxRichTextCtrl. | |
596 | - wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API, | |
597 | fixed some attribute bugs and added wxRichTextStyleComboCtrl. | |
598 | - Added wxWindow::IsDoubleBuffered(). | |
599 | - Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi). | |
600 | - Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi). | |
601 | ||
602 | wxMSW: | |
603 | ||
604 | - Implemented wxComboBox::SetEditable(). | |
605 | - wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther) | |
606 | - Fixed a bug whereby static controls didn't use the correct text colour if the | |
607 | parent's background colour had been set (most noticeable when switching to a | |
608 | high-contrast theme). | |
609 | - Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky). | |
610 | ||
611 | wxMac: | |
612 | ||
613 | - Add parameter to the --enable-universal_binary configure option for the path | |
614 | to the SDK. | |
615 | ||
616 | wxGTK: | |
617 | ||
618 | - Automatically use stock items for menu items with standard ids. | |
619 | - Setting cursor now works for all controls. | |
620 | - Implemented right-to-left support. | |
621 | - Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse). | |
622 | - Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp). | |
623 | ||
624 | wxUniv: | |
625 | ||
626 | - Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault(). | |
627 | ||
628 | ||
629 | 2.7.0 | |
630 | ----- | |
631 | ||
632 | All: | |
633 | ||
634 | - Added positional parameters support to wxVsnprintf() (Francesco Montorsi). | |
635 | - wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now. | |
636 | - Many fixes for UTF-16/32 handling in Unicode builds. | |
637 | - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag. | |
638 | - Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir() | |
639 | - Added wxStandardPaths::GetDocumentsDir() (Ken Thomases). | |
640 | - Added wxStringTokenizer::GetLastDelimiter(); improved documentation. | |
641 | - Fixed wxTextFile in Unicode build. | |
642 | - Added possibility to specify dependencies for a wxModule. | |
643 | - Speed improvements to wxRegEx when matching is done in a loop such as | |
644 | during a search and replace. | |
645 | - Fix regerror and regfree name conficts when built-in regex and system regex | |
646 | are both used in the same program. | |
647 | - Basic authentication supported added to wxHTTP. | |
648 | - wxCondition::WaitTimeout() now returns correct value when timeout occurs. | |
649 | - Fixed occasional wxThread cleanup crash. | |
650 | - Bug in wxLogStream::DoLogString in Unicode builds fixed. | |
651 | - Added support for memo fields to wxODBC. | |
652 | - Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__. | |
653 | - wxFileName now also looks for TMPDIR on Unix. | |
654 | - Fixed build error in list.h with VC++ 2005. | |
655 | - Fixed wxODBC buffer overflow problem in Unicode builds. | |
656 | - Fixed wxSocketBase::InterruptWait on wxBase. | |
657 | - Important code cleanup (Paul Cornett). | |
658 | - Added support for wxLongLong in wx stream classes (Mark Junker). | |
659 | - wxSOCKET_REUSEADDR can be used with wxSocketClient. | |
660 | - Overloaded Connect() and SetLocal() methods for binding to local address/port. | |
661 | - Albanian translation added (Besnik Bleta). | |
662 | - Assert messages now show the function in which assert failed. | |
663 | - wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert(). | |
664 | - Fixed several bugs in wxDateTime::ParseDate(). | |
665 | - The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP | |
666 | and WXK*PAGEDOWN. If you have switch statements that use both | |
667 | constants from a set then you need to remove the PRIOR/NEXT | |
668 | versions in order to eliminate compiler errors. | |
669 | - Fixed bug where wxDateTime::Now() would sometimes return an incorrect value | |
670 | the first time it was called. | |
671 | - Added wxString::rbegin() and rend(). | |
672 | - Added wxString::EndsWith(). | |
673 | - wxSocket::_Read continues reading from socket after exhausting pushback buffer. | |
674 | Previously, only the buffer would be returned, even if more data was requested. | |
675 | - Added wxPowerEvent (currently MSW-only). | |
676 | - Make wx-config compatible with Bourne shells. | |
677 | - Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty). | |
678 | - Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta). | |
679 | - Fixed wxTimeSpan::Format() for negative time spans. | |
680 | - Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi). | |
681 | ||
682 | All (GUI): | |
683 | ||
684 | - New AUI (Advanced User Interface) library for docking windows and much more. | |
685 | - Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli). | |
686 | - Added wxTreebook (uses a wxTreeCtrl to control pages). | |
687 | - Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi). | |
688 | - Added wxDC::GradientFillLinear/Concentric(). | |
689 | - Added wxHyperlinkCtrl (Francesco Montorsi). | |
690 | - Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE). | |
691 | - Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios). | |
692 | - Added wxRadioBox::SetItemToolTip(). | |
693 | - Added support for CMYK JPEG images loading (Robert Wruck). | |
694 | - Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj). | |
695 | - Added wxKeyEvent::GetModifiers(). | |
696 | - Added wxDialog::SetEscapeId(). | |
697 | - wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox, | |
698 | wxComboBox and wxChoice). | |
699 | - wxWindow::Fit() now works correctly for frames and dialogs too. | |
700 | - Added access to the border size between pages and controller in book | |
701 | based controls (wxBookCtrlBase::Get/SetInternalBorder). | |
702 | - Added initial wxRichTextCtrl implementation. | |
703 | - All book based controls (notebook, treebook etc.) share now the same | |
704 | options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated | |
705 | wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP. | |
706 | - Added parent window parameter to wxHelpController constructor | |
707 | and added SetParentWindow/GetParentWindow. | |
708 | - wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not. | |
709 | - Added wxBitmapButton::SetHoverBitmap(). | |
710 | - Access to titles through Get/SetTitle is available now only for top level | |
711 | windows (wxDialog, wxFrame). | |
712 | - Fixed memory leak of pending events in wxEvtHandler. | |
713 | - Added wxRadioBox::IsItemEnabled/Shown(). | |
714 | - Added space after list item number in wxHTML. | |
715 | - Implemented <sub> and <sup> handling in wxHTML (based on patch | |
716 | by Sandro Sigala). | |
717 | - Added caption parameter to wxGetFontFromUser and wxGetColourFromUser. | |
718 | - Added wxGetMouseState function. | |
719 | - Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes, | |
720 | allowing HTML help to be embedded in an application. | |
721 | - wxCalendarCtrl positioning and hit-testing fixes for dimensions other than | |
722 | best size. | |
723 | - wxCalendarCtrl colour schema changed and adjusted to system settings. | |
724 | - wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose). | |
725 | - More checking of image validity before loading into wxImage. | |
726 | - Added wxImage::ConvertToGreyscale. | |
727 | - Added ability to use templates with static event tables | |
728 | with BEGIN_EVENT_TABLE_TEMPLATEn() macros. | |
729 | - Added play, pause, and state change events to wxMediaCtrl. | |
730 | - Added double-buffering to wxVListBox and fixed a scrolling issue. | |
731 | - Added wxToolbook (uses a wxToolBar to control pages). | |
732 | - Added SetSheetStyle to wxPropertySheetDialog and allowed it to | |
733 | behave like a Mac OS X settings dialog. | |
734 | - Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself. | |
735 | - Fixed centering of top level windows on secondary displays. | |
736 | - Implemented wxDisplay::GetFromWindow() for platforms other than MSW. | |
737 | - UpdateUI handler can now show/hide the window too (Ronald Weiss). | |
738 | - More than one filter allowed in in wxDocTemplate filter. | |
739 | - Added wxListBox::HitTest(). | |
740 | - Added wxDisplay::GetClientArea(). | |
741 | - Indices and counts in wxControlWithItems derived API are unsigned. | |
742 | - Added support for links to wxHtmlListBox; use code has to override | |
743 | wxHtmlListBox::OnLinkClicked() to take advantage of it. | |
744 | - Added an easier to use wxMenu::AppendSubMenu(). | |
745 | - wxString <-> wxColour conversions in wxColour class (Francesco Montorsi). | |
746 | - Fixed bug with ignoring blank lines in multiline wxGrid cell labels. | |
747 | - Added wxTextAttr::Merge() (Marcin Simonides). | |
748 | - Added wxTB_NO_TOOLTIPS style (Igor Korot). | |
749 | - Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz). | |
750 | - Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz) | |
751 | - Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix. | |
752 | - Made it possible to associate context help to a region of a window. | |
753 | - Added support for tabs in wxRichTextCtrl (Ashish More). | |
754 | - Fixed problem with zoom setting in print preview. | |
755 | - Moved wxRichTextCtrl from the advanced library to its own. | |
756 | - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls. | |
757 | - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with | |
758 | implementations (so far) for wxMSW and wxMac. | |
759 |