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