]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/changes.txt
fix typo in allowOthers description
[wxWidgets.git] / docs / changes.txt
... / ...
CommitLineData
1-------------------------------------------------------------------------------
2 wxWidgets Change Log
3-------------------------------------------------------------------------------
4
5INCOMPATIBLE CHANGES SINCE 2.8.x
6================================
7
8Changes in behaviour not resulting in compilation errors, please read this!
9---------------------------------------------------------------------------
10
11- Default location of wxFileConfig files has changed under Windows, you will
12 need to update your code if you access these files directly.
13
14- wxWindow::IsEnabled() now returns false if a window parent (and not
15 necessarily the window itself) is disabled, new function IsThisEnabled()
16 with the same behaviour as old IsEnabled() was added.
17
18- Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and
19 other platforms in the future), use wxWindow::Navigate() or NavigateIn()
20 instead.
21
22Changes in behaviour which may result in compilation errors
23-----------------------------------------------------------
24
25- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
26 you still relied on features deprecated since version 2.4
27
28- Return type of wxString::operator[] and wxString::iterator::operator* is no
29 longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem
30 in vast majority of cases because of conversion operators, but it can break
31 code that depends on the result being wxChar.
32
33- The value returned by wxString::c_str() cannot be casted to non-const char*
34 or wchar_t* anymore. The solution is to use newly added wxString methods
35 char_str() (which returns a buffer convertible to char*) or wchar_str()
36 (which returns a buffer convertible to wchar_t*). These methods are
37 available in wxWidgets 2.8 series beginning with 2.8.4 as well.
38
39- The value returned by wxString::operator[] or wxString::iterator cannot be
40 used in switch statements anymore, because it's a class instance. Code like
41 this won't compile:
42 switch (str[i]) { ... }
43 and has to be replaced with this:
44 switch (str[i].GetValue()) { ... }
45
46- Return type of wxString::c_str() is now wxCStrData struct and not
47 const wxChar*. wxCStrData is implicitly convertible to const char* and
48 const wchar_t*, so this only presents a problem if the compiler cannot
49 convert the type. In particular, Borland C++ and DigitalMars compilers
50 don't correctly convert operator?: operands to the same type and fail with
51 compilation error instead. This can be worked around by explicitly casting
52 to const wxChar*:
53 wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "")
54
55- DigitalMars compiler has a bug that prevents it from using
56 wxUniChar::operator bool in conditions and it erroneously reports type
57 conversion ambiguity in expressions such as this:
58 for ( wxString::const_iterator p = s.begin(); *p; ++p )
59 This can be worked around by explicitly casting to bool:
60 for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
61
62Deprecated methods and their replacements
63-----------------------------------------
64
65- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead.
66- wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer
67 or wxStringBufferLength instead.
68
69Major new features in this release
70----------------------------------
71
72
732.9.0
74-----
75
76All:
77
78- Added wxJoin() and wxSplit() functions (Francesco Montorsi)
79- Added wxMutex::LockTimeout() (Aleksandr Napylov)
80- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev)
81- Implemented wxMemoryInputStream::CanRead()
82
83All (GUI):
84
85- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron)
86- Added support for labels for toolbar controls (Vince Harron)
87- Added wxEventBlocker class (Francesco Montorsi).
88- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
89- Added wxSizerFlags::Top() and Bottom().
90- Slovak translation added.
91- Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
92- Implemented background colour in wxRichTextCtrl.
93- Fixed crashes in helpview when opening a file.
94- Set locale to the default in all ports, not just wxGTK
95- Added wxJoystick::GetButtonState/Position() (Frank C Szczerba)
96- Added wxGridUpdateLocker helper class (Evgeniy Tarassov)
97- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov)
98- Added wxWindow::NavigateIn() in addition to existing Navigate()
99- Add support for <data> tags to wxrc
100
101wxGTK:
102
103- Support for markup and ellipsization in wxStaticText (Francesco Montorsi)
104- Native implementation for wxHyperlinkCtrl (Francesco Montorsi)
105- Native keyboard navigation implementation
106- Don't overwrite primary selection with clipboard and vice versa
107- Implemented support for underlined fonts in wxStaticText.
108- wxTopLevelWindow::SetSizeHints size increments now work.
109- wxTopLevelWindow::GetSize() returns the size including the WM decorations.
110- wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized.
111- Added support for colour cursors (Pascal Monasse).
112- Setting foreground colour of single line wxTextCtrl now works
113- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff)
114- Added gtk.tlw.can-set-transparency system option
115
116wxMac:
117
118- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs)
119
120wxMSW:
121
122- Fixed infinite loop in wxThread::Wait() in console applications.
123- Return the restored window size from GetSize() when window is minimized.
124
125
1262.8.4
127-----
128
129All (Unix):
130
131- Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse)
132
133wxMSW:
134
135- Corrected wxStaticBox label appearance when its foreground colour was set:
136 it didn't respect font size nor background colour then (Juan Antonio Ortega)
137- Don't lose combobox text when it's opened and closed (Kolya Kosenko)
138- Corrected GetChecked() for events from checkable menu items (smanders)
139- Fixed popup menus under Windows NT 4
140- Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3
141- Compilation fixed with WXWIN_COMPATIBILITY_2_6==0
142
143wxGTK:
144
145- Fix infinite loop when adding a wxStaticText control to a toolbar
146- Fix wxNO_BORDER style for wxRadioBox (David Hart)
147
148
1492.8.3
150-----
151
152All:
153
154- Shut down the sockets gracefully (Sergio Aguayo)
155- Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal)
156
157wxMac:
158
159- Corrected top border size for wxStaticBox with empty label (nusi)
160
161wxMSW:
162
163- Fixed wxFileName::GetSize() for large files
164
165wxGTK:
166
167- Fixed handling of accelerators using PageUp/Down keys
168
169
1702.8.2
171-----
172
173All:
174
175- Added wxSizerFlags::Shaped() and FixedMinSize() methods.
176- Added wxCSConv::IsOk() (Manuel Martin).
177- Added wxDateTime::GetDateOnly().
178- Made wxTextFile work with unseekable files again (David Hart).
179- Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta).
180- Added wxSearchCtrl::[Get|Set]DescriptiveText.
181- Fixed detection of number of processors under Linux 2.6
182- Fixed Base64 computation in wxHTTP (p_michalczyk)
183- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk)
184
185Unix Ports:
186
187- Fixed crash in wxGetUserName() in Unicode build
188
189wxMSW
190
191- Fix lack of spin control update event when control lost focus.
192- Corrected drawing of bitmaps for disabled menu items.
193
194wxGTK
195
196- Fix hang on startup when using GTK+ options in Unicode build
197
198wxMac
199
200- Fix position of the centered windows (didn't take menu bar size into account)
201- Added support for the wxFRAME_FLOAT_ON_PARENT style.
202
203wxX11:
204
205- Don't crash in wxWindow dtor if the window hadn't been really Create()d.
206
207wxUniv:
208
209- Fixed wxComboBox always sorted.
210
211
2122.8.1
213-----
214
215All:
216
217- Fix compilation with wxUSE_STL=1.
218- wxGrid::GetBestSize() returns same size the grid would have after AutoSize().
219- Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi).
220- Several RTL-related positioning fixes (Diaa Sami).
221- Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart).
222- Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner).
223
224wxMSW:
225
226- Fixed compilation with Borland C++ in Unicode mode but without MSLU.
227- Show taskbar icon menu on right button release, not press.
228
229wxGTK:
230
231- Don't crash if command line is not valid UTF-8 (Unicode build only).
232
233wxUniv:
234
235- It is now possible to set background colour of wxStaticText.
236
237
2382.8.0
239-----
240
241All:
242
243- Added wxSearchCtrl (Vince Harron).
244- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32.
245- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents.
246- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
247- New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return
248 a stream that is seekable.
249- Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows.
250- Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize().
251 for a control with borders (Tim Kosse).
252
253wxMSW:
254
255- Fixed version script problems when using configure with cygwin/mingw32.
256- Use system default paper size for printing instead of A4.
257- Fix (harmless) assert in virtual list control under Vista.
258- Fix colours when converting wxBitmap with alpha to wxImage (nusi).
259
260wxGTK:
261
262- Allow dynamically changing most of text control styles.
263- Enable use of libgnomeprintui by default in configure.
264
265
2662.7.2
267-----
268
269All:
270
271- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
272- Added GetTempDir() to wxFileName and wxStandardPaths.
273- Added wxTar streams.
274- Added wxFilterFSHandler and wxArchiveFSHandler.
275- Added wxString::ToLongLong() and ToULongLong().
276
277All (GUI):
278
279- wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
280 calling SelectObject itself if a valid bitmap is passed.
281- Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added
282 wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory.
283- Renamed wxProgressDialog::UpdatePulse() to just Pulse().
284- Added wxCollapsiblePane (Francesco Montorsi).
285- Added wxSimpleHtmlListBox (Francesco Montorsi).
286- Printing framework fixes by Robert J. Lang. Bugs fixed,
287 wxPrinterDC::GetPaperRect() and other functions added to allow
288 easier printing implementation, and the documentation updated.
289- Many enhancements to wxRichTextCtrl including URL support,
290 formatting and symbol dialogs, print/preview, and better list
291 formatting.
292- Support for loading TGA files added (Seth Jackson).
293- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot).
294- wxHtmlWindow now generates events on link clicks (Francesco Montorsi).
295- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event.
296
297Unix Ports:
298
299- Added autopackage for wxGTK and an example of using autopackage for a wx
300 program (Francesco Montorsi).
301
302wxGTK:
303
304- More RTL work.
305- Support wxALWAYS_SHOW_SB.
306- Speed up MIME types loading. Only the GNOME database should be loaded under
307 GNOME etc. For this, the code queries the X11 session protocol.
308- wxCaret redraw problem during scrolling fixed.
309
310
3112.7.1
312-----
313
314All:
315
316- Added wxDir::FindFirst() (Francesco Montorsi).
317- Added wxPlatformInfo class (Francesco Montorsi).
318- Added wxLocale::IsAvailable() (Creighton).
319- Added Malay translations (Mahrazi Mohd Kamal).
320- Added reference counting for wxVariant.
321- For consistency, all classes having Ok() method now also have IsOk() one, use
322 of the latter form is preferred although the former hasn't been deprecated yet.
323- Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).
324- Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi).
325- Added wxSizer::Replace (Francesco Montorsi).
326- wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi).
327- Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide
328 event-free alternatives to SetSelection() and SetValue() functions; see the
329 "Events generated by the user vs programmatically generated events" paragraph
330 in the "Event handling overview" topic for more info.
331
332All (GUI):
333
334- Support for right-to-left text layout (started by Diaa Sami during Google Summer of
335 Code, with a lot of help from Tim Kosse and others).
336- wxAnimationCtrl added (Francesco Montorsi).
337- Added wxAboutBox() function for displaying the standard about dialog.
338- Added wxID_PAGE_SETUP standard id.
339- Added wxSize::IncBy() and DecBy() methods.
340- Added wxTextCtrl::IsEmpty().
341- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
342 consistency with wxRichTextCtrl.
343- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,
344 fixed some attribute bugs and added wxRichTextStyleComboCtrl.
345- Added wxWindow::IsDoubleBuffered().
346- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
347- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
348
349wxMSW:
350
351- Implemented wxComboBox::SetEditable().
352- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
353- Fixed a bug whereby static controls didn't use the correct text colour if the
354 parent's background colour had been set (most noticeable when switching to a
355 high-contrast theme).
356- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
357
358wxMac:
359
360- Add parameter to the --enable-universal_binary configure option for the path
361 to the SDK.
362
363wxGTK:
364
365- Automatically use stock items for menu items with standard ids.
366- Setting cursor now works for all controls.
367- Implemented right-to-left support.
368- Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse).
369- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
370
371wxUniv:
372
373- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
374
375
3762.7.0
377-----
378
379All:
380
381- Added positional parameters support to wxVsnprintf() (Francesco Montorsi).
382- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now.
383- Many fixes for UTF-16/32 handling in Unicode builds.
384- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag.
385- Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir()
386- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases).
387- Added wxStringTokenizer::GetLastDelimiter(); improved documentation.
388- Fixed wxTextFile in Unicode build.
389- Added possibility to specify dependencies for a wxModule.
390- Speed improvements to wxRegEx when matching is done in a loop such as
391 during a search and replace.
392- Fix regerror and regfree name conficts when built-in regex and system regex
393 are both used in the same program.
394- Basic authentication supported added to wxHTTP.
395- wxCondition::WaitTimeout() now returns correct value when timeout occurs.
396- Fixed occasional wxThread cleanup crash.
397- Bug in wxLogStream::DoLogString in Unicode builds fixed.
398- Added support for memo fields to wxODBC.
399- Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__.
400- wxFileName now also looks for TMPDIR on Unix.
401- Fixed build error in list.h with VC++ 2005.
402- Fixed wxODBC buffer overflow problem in Unicode builds.
403- Fixed wxSocketBase::InterruptWait on wxBase.
404- Important code cleanup (Paul Cornett).
405- Added support for wxLongLong in wx stream classes (Mark Junker).
406- wxSOCKET_REUSEADDR can be used with wxSocketClient.
407- Overloaded Connect() and SetLocal() methods for binding to local address/port.
408- Albanian translation added (Besnik Bleta).
409- Assert messages now show the function in which assert failed.
410- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert().
411- Fixed several bugs in wxDateTime::ParseDate().
412- The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP
413 and WXK*PAGEDOWN. If you have switch statements that use both
414 constants from a set then you need to remove the PRIOR/NEXT
415 versions in order to eliminate compiler errors.
416- Fixed bug where wxDateTime::Now() would sometimes return an incorrect value
417 the first time it was called.
418- Added wxString::rbegin() and rend().
419- Added wxString::EndsWith().
420- wxSocket::_Read continues reading from socket after exhausting pushback buffer.
421 Previously, only the buffer would be returned, even if more data was requested.
422- Added wxPowerEvent (currently MSW-only).
423- Make wx-config compatible with Bourne shells.
424- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty).
425- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta).
426- Fixed wxTimeSpan::Format() for negative time spans.
427- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi).
428
429All (GUI):
430
431- New AUI (Advanced User Interface) library for docking windows and much more.
432- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli).
433- Added wxTreebook (uses a wxTreeCtrl to control pages).
434- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi).
435- Added wxDC::GradientFillLinear/Concentric().
436- Added wxHyperlinkCtrl (Francesco Montorsi).
437- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE).
438- Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios).
439- Added wxRadioBox::SetItemToolTip().
440- Added support for CMYK JPEG images loading (Robert Wruck).
441- Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj).
442- Added wxKeyEvent::GetModifiers().
443- Added wxDialog::SetEscapeId().
444- wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox,
445 wxComboBox and wxChoice).
446- wxWindow::Fit() now works correctly for frames and dialogs too.
447- Added access to the border size between pages and controller in book
448 based controls (wxBookCtrlBase::Get/SetInternalBorder).
449- Added initial wxRichTextCtrl implementation.
450- All book based controls (notebook, treebook etc.) share now the same
451 options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated
452 wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP.
453- Added parent window parameter to wxHelpController constructor
454 and added SetParentWindow/GetParentWindow.
455- wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not.
456- Added wxBitmapButton::SetHoverBitmap().
457- Access to titles through Get/SetTitle is available now only for top level
458 windows (wxDialog, wxFrame).
459- Fixed memory leak of pending events in wxEvtHandler.
460- Added wxRadioBox::IsItemEnabled/Shown().
461- Added space after list item number in wxHTML.
462- Implemented <sub> and <sup> handling in wxHTML (based on patch
463 by Sandro Sigala).
464- Added caption parameter to wxGetFontFromUser and wxGetColourFromUser.
465- Added wxGetMouseState function.
466- Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes,
467 allowing HTML help to be embedded in an application.
468- wxCalendarCtrl positioning and hit-testing fixes for dimensions other than
469 best size.
470- wxCalendarCtrl colour schema changed and adjusted to system settings.
471- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose).
472- More checking of image validity before loading into wxImage.
473- Added wxImage::ConvertToGreyscale.
474- Added ability to use templates with static event tables
475 with BEGIN_EVENT_TABLE_TEMPLATEn() macros.
476- Added play, pause, and state change events to wxMediaCtrl.
477- Added double-buffering to wxVListBox and fixed a scrolling issue.
478- Added wxToolbook (uses a wxToolBar to control pages).
479- Added SetSheetStyle to wxPropertySheetDialog and allowed it to
480 behave like a Mac OS X settings dialog.
481- Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself.
482- Fixed centering of top level windows on secondary displays.
483- Implemented wxDisplay::GetFromWindow() for platforms other than MSW.
484- UpdateUI handler can now show/hide the window too (Ronald Weiss).
485- More than one filter allowed in in wxDocTemplate filter.
486- Added wxListBox::HitTest().
487- Added wxDisplay::GetClientArea().
488- Indices and counts in wxControlWithItems derived API are unsigned.
489- Added support for links to wxHtmlListBox; use code has to override
490 wxHtmlListBox::OnLinkClicked() to take advantage of it.
491- Added an easier to use wxMenu::AppendSubMenu().
492- wxString <-> wxColour conversions in wxColour class (Francesco Montorsi).
493- Fixed bug with ignoring blank lines in multiline wxGrid cell labels.
494- Added wxTextAttr::Merge() (Marcin Simonides).
495- Added wxTB_NO_TOOLTIPS style (Igor Korot).
496- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz).
497- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz)
498- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix.
499- Made it possible to associate context help to a region of a window.
500- Added support for tabs in wxRichTextCtrl (Ashish More).
501- Fixed problem with zoom setting in print preview.
502- Moved wxRichTextCtrl from the advanced library to its own.
503- wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
504- Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
505 implementations (so far) for wxMSW and wxMac.
506