]> git.saurik.com Git - wxWidgets.git/blame - docs/changes.txt
derive wxConfig classes from wxObject and add wxRTTI macros to them (patch 1587607)
[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
b1f3b29c
VZ
8Changes in behaviour not resulting in compilation errors, please read this!
9---------------------------------------------------------------------------
10
b1f3b29c
VZ
11Changes in behaviour which may result in compilation errors
12-----------------------------------------------------------
13
c1dc9f83
VZ
14- WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if
15 you still relied on features deprecated since version 2.4
16
5ec9d741
VZ
17Deprecated methods and their replacements
18-----------------------------------------
19
13dd765c 20- wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead.
7890307b
VS
21- wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer
22 or wxStringBufferLength instead.
9ac43913 23
5ec9d741
VZ
24Major new features in this release
25----------------------------------
26
12dc0a01 27
ccee328e
VZ
282.9.0
29-----
30
ac6e0eb1
VZ
31All:
32
13dd765c
JS
33- Added wxEventBlocker class (Francesco Montorsi).
34- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
35- Added wxSizerFlags::Top() and Bottom().
36- Slovak translation added.
37- Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
38- Implemented background colour in wxRichTextCtrl.
39- Fixed crashes in helpview when opening a file.
696d13ee 40- Added wxMutex::LockTimeout() (Aleksandr Napylov)
ccee328e 41
ac6e0eb1
VZ
42wxGTK:
43
c105dda0 44- Native implementation for wxHyperlinkCtrl (Francesco Montorsi)
13dd765c
JS
45- Implemented support for underlined fonts in wxStaticText.
46- wxTopLevelWindow::SetSizeHints size increments now work.
47- wxTopLevelWindow::GetSize() returns the size including the WM decorations.
48- wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized.
49- Added support for colour cursors (Pascal Monasse).
ac6e0eb1 50
e570a44b
VZ
51wxMSW:
52
13dd765c
JS
53- Fixed infinite loop in wxThread::Wait() in console applications.
54- Return the restored window size from GetSize() when window is minimized.
ac6e0eb1 55
12dc0a01 56
e816f5c7
VZ
572.8.2
58-----
59
d95527de
VZ
60All:
61
13dd765c
JS
62- Added wxSizerFlags::Shaped() and FixedMinSize() methods.
63- Added wxCSConv::IsOk() (Manuel Martin).
64- Added wxDateTime::GetDateOnly().
65- Made wxTextFile work with unseekable files again (David Hart).
66- Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta).
67- Added wxSearchCtrl::[Get|Set]DescriptiveText.
85bf679a 68- Fixed detection of number of processors under Linux 2.6
886f61ca 69- Fixed Base64 computation in wxHTTP (p_michalczyk)
28bf2f3c 70- Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk)
d95527de 71
e816f5c7
VZ
72wxMSW
73
13dd765c
JS
74- Fix lack of spin control update event when control lost focus.
75- Corrected drawing of bitmaps for disabled menu items.
0d3997fd 76
c8db4e15
VZ
77wxGTK
78
79- Fix hang on startup when using GTK+ options in Unicode build
80
a0232aa5
RD
81wxMac
82
0d045709 83- Fix position of the centered windows (didn't take menu bar size into account)
13dd765c 84- Added support for the wxFRAME_FLOAT_ON_PARENT style.
a0232aa5 85
3aba082d
VZ
86wxX11:
87
13dd765c 88- Don't crash in wxWindow dtor if the window hadn't been really Create()d.
3aba082d 89
750040fa
WS
90wxUniv:
91
13dd765c 92- Fixed wxComboBox always sorted.
750040fa 93
e816f5c7 94
265db88d
VZ
952.8.1
96-----
97
5fe6c02b
VZ
98All:
99
13dd765c
JS
100- Fix compilation with wxUSE_STL=1.
101- wxGrid::GetBestSize() returns same size the grid would have after AutoSize().
102- Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi).
103- Several RTL-related positioning fixes (Diaa Sami).
104- Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart).
105- Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner).
5fe6c02b 106
0ec8d8f7
VZ
107wxMSW:
108
13dd765c
JS
109- Fixed compilation with Borland C++ in Unicode mode but without MSLU.
110- Show taskbar icon menu on right button release, not press.
0ec8d8f7 111
265db88d
VZ
112wxGTK:
113
13dd765c 114- Don't crash if command line is not valid UTF-8 (Unicode build only).
265db88d 115
9c5fd8a3
VZ
116wxUniv:
117
13dd765c 118- It is now possible to set background colour of wxStaticText.
9c5fd8a3 119
265db88d 120
9129836e
VZ
1212.8.0
122-----
123
124All:
125
13dd765c
JS
126- Added wxSearchCtrl (Vince Harron).
127- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32.
128- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents.
bc2ce7a5 129- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
c20267d8
MW
130- New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return
131 a stream that is seekable.
13dd765c
JS
132- Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows.
133- Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize().
134 for a control with borders (Tim Kosse).
9129836e 135
077c7880
VZ
136wxMSW:
137
bc2ce7a5 138- Fixed version script problems when using configure with cygwin/mingw32.
a7734bdf 139- Use system default paper size for printing instead of A4.
13dd765c 140- Fix (harmless) assert in virtual list control under Vista.
a7734bdf 141- Fix colours when converting wxBitmap with alpha to wxImage (nusi).
a7734bdf 142
927637fd
VZ
143wxGTK:
144
13dd765c
JS
145- Allow dynamically changing most of text control styles.
146- Enable use of libgnomeprintui by default in configure.
927637fd 147
077c7880 148
432efcb0
RD
1492.7.2
150-----
151
f8f6c91a
MW
152All:
153
154- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
049e9de7 155- Added GetTempDir() to wxFileName and wxStandardPaths.
f068697b
MW
156- Added wxTar streams.
157- Added wxFilterFSHandler and wxArchiveFSHandler.
bc2ce7a5 158- Added wxString::ToLongLong() and ToULongLong().
f8f6c91a 159
0ec8d8f7 160All (GUI):
432efcb0
RD
161
162- wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
163 calling SelectObject itself if a valid bitmap is passed.
19c9f36f
RD
164- Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added
165 wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory.
049e9de7
JS
166- Renamed wxProgressDialog::UpdatePulse() to just Pulse().
167- Added wxCollapsiblePane (Francesco Montorsi).
168- Added wxSimpleHtmlListBox (Francesco Montorsi).
96202eaa
JS
169- Printing framework fixes by Robert J. Lang. Bugs fixed,
170 wxPrinterDC::GetPaperRect() and other functions added to allow
171 easier printing implementation, and the documentation updated.
172- Many enhancements to wxRichTextCtrl including URL support,
173 formatting and symbol dialogs, print/preview, and better list
174 formatting.
bc2ce7a5
JS
175- Support for loading TGA files added (Seth Jackson).
176- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot).
0f11c233 177- wxHtmlWindow now generates events on link clicks (Francesco Montorsi).
bc2ce7a5 178- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event.
432efcb0 179
2baa2b0e
VZ
180Unix Ports:
181
182- Added autopackage for wxGTK and an example of using autopackage for a wx
049e9de7
JS
183 program (Francesco Montorsi).
184
185wxGTK:
2baa2b0e 186
4ff4d045 187- More RTL work.
049e9de7
JS
188- Support wxALWAYS_SHOW_SB.
189- Speed up MIME types loading. Only the GNOME database should be loaded under
190 GNOME etc. For this, the code queries the X11 session protocol.
96202eaa 191- wxCaret redraw problem during scrolling fixed.
432efcb0
RD
192
193
e63f19ba
VZ
1942.7.1
195-----
196
d1af8e2d
VZ
197All:
198
3306aec1
JS
199- Added wxDir::FindFirst() (Francesco Montorsi).
200- Added wxPlatformInfo class (Francesco Montorsi).
201- Added wxLocale::IsAvailable() (Creighton).
bc2ce7a5
JS
202- Added Malay translations (Mahrazi Mohd Kamal).
203- Added reference counting for wxVariant.
b7cacb43 204- For consistency, all classes having Ok() method now also have IsOk() one, use
049e9de7
JS
205 of the latter form is preferred although the former hasn't been deprecated yet.
206- Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).
207- Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi).
208- Added wxSizer::Replace (Francesco Montorsi).
209- wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi).
78041f2e
VZ
210- Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide
211 event-free alternatives to SetSelection() and SetValue() functions; see the
212 "Events generated by the user vs programmatically generated events" paragraph
049e9de7 213 in the "Event handling overview" topic for more info.
d1af8e2d 214
e63f19ba
VZ
215All (GUI):
216
3306aec1
JS
217- Support for right-to-left text layout (started by Diaa Sami during Google Summer of
218 Code, with a lot of help from Tim Kosse and others).
049e9de7
JS
219- wxAnimationCtrl added (Francesco Montorsi).
220- Added wxAboutBox() function for displaying the standard about dialog.
3306aec1
JS
221- Added wxID_PAGE_SETUP standard id.
222- Added wxSize::IncBy() and DecBy() methods.
049e9de7 223- Added wxTextCtrl::IsEmpty().
3306aec1
JS
224- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
225 consistency with wxRichTextCtrl.
226- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,
227 fixed some attribute bugs and added wxRichTextStyleComboCtrl.
049e9de7
JS
228- Added wxWindow::IsDoubleBuffered().
229- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
230- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
e63f19ba 231
916eecaa
VZ
232wxMSW:
233
3306aec1 234- Implemented wxComboBox::SetEditable().
a0020fcd 235- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
3306aec1
JS
236- Fixed a bug whereby static controls didn't use the correct text colour if the
237 parent's background colour had been set (most noticeable when switching to a
238 high-contrast theme).
049e9de7 239- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
916eecaa 240
95768535
MW
241wxMac:
242
243- Add parameter to the --enable-universal_binary configure option for the path
244 to the SDK.
245
ab73fe8d
VZ
246wxGTK:
247
3306aec1
JS
248- Automatically use stock items for menu items with standard ids.
249- Setting cursor now works for all controls.
049e9de7 250- Implemented right-to-left support.
ae6a64b6 251- Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse).
049e9de7 252- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
ab73fe8d 253
b48f51ca
VZ
254wxUniv:
255
049e9de7 256- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
b48f51ca 257
e63f19ba 258
254e8e29
VZ
2592.7.0
260-----
261
42d0df00
VZ
262All:
263
7f0d9d71
JS
264- Added positional parameters support to wxVsnprintf() (Francesco Montorsi).
265- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now.
266- Many fixes for UTF-16/32 handling in Unicode builds.
b83d533a 267- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag.
3af9f2de 268- Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir()
7f0d9d71 269- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases).
b83d533a 270- Added wxStringTokenizer::GetLastDelimiter(); improved documentation.
7f0d9d71
JS
271- Fixed wxTextFile in Unicode build.
272- Added possibility to specify dependencies for a wxModule.
c6bb9255
MW
273- Speed improvements to wxRegEx when matching is done in a loop such as
274 during a search and replace.
275- Fix regerror and regfree name conficts when built-in regex and system regex
276 are both used in the same program.
a5fa20cb
JS
277- Basic authentication supported added to wxHTTP.
278- wxCondition::WaitTimeout() now returns correct value when timeout occurs.
279- Fixed occasional wxThread cleanup crash.
280- Bug in wxLogStream::DoLogString in Unicode builds fixed.
281- Added support for memo fields to wxODBC.
282- Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__.
283- wxFileName now also looks for TMPDIR on Unix.
284- Fixed build error in list.h with VC++ 2005.
285- Fixed wxODBC buffer overflow problem in Unicode builds.
2decc3bd 286- Fixed wxSocketBase::InterruptWait on wxBase.
b83d533a
JS
287- Important code cleanup (Paul Cornett).
288- Added support for wxLongLong in wx stream classes (Mark Junker).
24f4fc23 289- wxSOCKET_REUSEADDR can be used with wxSocketClient.
480abc8f 290- Overloaded Connect() and SetLocal() methods for binding to local address/port.
7f0d9d71
JS
291- Albanian translation added (Besnik Bleta).
292- Assert messages now show the function in which assert failed.
293- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert().
294- Fixed several bugs in wxDateTime::ParseDate().
968f291b 295- The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP
6fa9383b 296 and WXK*PAGEDOWN. If you have switch statements that use both
968f291b 297 constants from a set then you need to remove the PRIOR/NEXT
6fa9383b 298 versions in order to eliminate compiler errors.
44c930eb
JG
299- Fixed bug where wxDateTime::Now() would sometimes return an incorrect value
300 the first time it was called.
7f0d9d71
JS
301- Added wxString::rbegin() and rend().
302- Added wxString::EndsWith().
635f2bad
KH
303- wxSocket::_Read continues reading from socket after exhausting pushback buffer.
304 Previously, only the buffer would be returned, even if more data was requested.
7f0d9d71
JS
305- Added wxPowerEvent (currently MSW-only).
306- Make wx-config compatible with Bourne shells.
3306aec1
JS
307- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty).
308- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta).
309- Fixed wxTimeSpan::Format() for negative time spans.
310- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi).
42d0df00 311
c6ece595
VZ
312All (GUI):
313
3306aec1 314- New AUI (Advanced User Interface) library for docking windows and much more.
7f0d9d71 315- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli).
03a37db9 316- Added wxTreebook (uses a wxTreeCtrl to control pages).
7f0d9d71
JS
317- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi).
318- Added wxDC::GradientFillLinear/Concentric().
319- Added wxHyperlinkCtrl (Francesco Montorsi).
320- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE).
321- Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios).
322- Added wxRadioBox::SetItemToolTip().
323- Added support for CMYK JPEG images loading (Robert Wruck).
324- Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj).
325- Added wxKeyEvent::GetModifiers().
5d7836c4 326- Added wxDialog::SetEscapeId().
f7c40316 327- wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox,
5d7836c4
JS
328 wxComboBox and wxChoice).
329- wxWindow::Fit() now works correctly for frames and dialogs too.
330- Added access to the border size between pages and controller in book
331 based controls (wxBookCtrlBase::Get/SetInternalBorder).
332- Added initial wxRichTextCtrl implementation.
d8fd7acb
WS
333- All book based controls (notebook, treebook etc.) share now the same
334 options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated
335 wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP.
3db52265
JS
336- Added parent window parameter to wxHelpController constructor
337 and added SetParentWindow/GetParentWindow.
60104cba 338- wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not.
b83d533a 339- Added wxBitmapButton::SetHoverBitmap().
60fef964
WS
340- Access to titles through Get/SetTitle is available now only for top level
341 windows (wxDialog, wxFrame).
b83d533a 342- Fixed memory leak of pending events in wxEvtHandler.
7f0d9d71 343- Added wxRadioBox::IsItemEnabled/Shown().
3d941982 344- Added space after list item number in wxHTML.
3c115835 345- Implemented <sub> and <sup> handling in wxHTML (based on patch
b83d533a 346 by Sandro Sigala).
f14d6dd1 347- Added caption parameter to wxGetFontFromUser and wxGetColourFromUser.
7dd40b6f 348- Added wxGetMouseState function.
c3e5d4e2
JS
349- Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes,
350 allowing HTML help to be embedded in an application.
a5fa20cb
JS
351- wxCalendarCtrl positioning and hit-testing fixes for dimensions other than
352 best size.
d9170b47 353- wxCalendarCtrl colour schema changed and adjusted to system settings.
7f0d9d71 354- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose).
a5fa20cb
JS
355- More checking of image validity before loading into wxImage.
356- Added wxImage::ConvertToGreyscale.
357- Added ability to use templates with static event tables
b83d533a
JS
358 with BEGIN_EVENT_TABLE_TEMPLATEn() macros.
359- Added play, pause, and state change events to wxMediaCtrl.
a5fa20cb 360- Added double-buffering to wxVListBox and fixed a scrolling issue.
fd0d619f 361- Added wxToolbook (uses a wxToolBar to control pages).
cc8bc5aa
JS
362- Added SetSheetStyle to wxPropertySheetDialog and allowed it to
363 behave like a Mac OS X settings dialog.
7cc1ad29
JS
364- Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself.
365- Fixed centering of top level windows on secondary displays.
366- Implemented wxDisplay::GetFromWindow() for platforms other than MSW.
b83d533a 367- UpdateUI handler can now show/hide the window too (Ronald Weiss).
0f30d8e3 368- More than one filter allowed in in wxDocTemplate filter.
b83d533a
JS
369- Added wxListBox::HitTest().
370- Added wxDisplay::GetClientArea().
894b93d3 371- Indices and counts in wxControlWithItems derived API are unsigned.
bc55e31b
VS
372- Added support for links to wxHtmlListBox; use code has to override
373 wxHtmlListBox::OnLinkClicked() to take advantage of it.
7f0d9d71 374- Added an easier to use wxMenu::AppendSubMenu().
40989e46 375- wxString <-> wxColour conversions in wxColour class (Francesco Montorsi).
7f0d9d71
JS
376- Fixed bug with ignoring blank lines in multiline wxGrid cell labels.
377- Added wxTextAttr::Merge() (Marcin Simonides).
378- Added wxTB_NO_TOOLTIPS style (Igor Korot).
379- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz).
70934138 380- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz)
6b8f5d30 381- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix.
7f0d9d71
JS
382- Made it possible to associate context help to a region of a window.
383- Added support for tabs in wxRichTextCtrl (Ashish More).
d8766675 384- Fixed problem with zoom setting in print preview.
3b2cb431 385- Moved wxRichTextCtrl from the advanced library to its own.
9804d540 386- wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
07880314 387- Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
50f3c41d 388 implementations (so far) for wxMSW and wxMac.
3306aec1
JS
389