]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/changes.txt
added support and enable long long support when wxLongLong_t is available even if...
[wxWidgets.git] / docs / changes.txt
... / ...
CommitLineData
1-------------------------------------------------------------------------------
2 wxWidgets Change Log
3-------------------------------------------------------------------------------
4
5INCOMPATIBLE CHANGES SINCE 2.6.x
6================================
7
8Changes in behaviour not resulting in compilation errors, please read this!
9---------------------------------------------------------------------------
10
11- For all wxInputStreams, Eof() becomes true after an attempt has been made
12 to read _past_ the end of file.
13- wxFileName::DirExists() checks if the path of the file is a directory, not
14 if the whole name is a directory.
15- wxDialog::CreateButtonSizer() may return NULL now, please see the manual.
16- wxStaticBoxSizer now deletes the associated wxStaticBox when it is deleted.
17- wxArray::Alloc() now works as reserve() and does not clear the array any more
18- Windows calling CaptureMouse() are now required to handle the
19 wxEVT_MOUSE_CAPTURE_LOST event and not call ReleaseMouse() in this case.
20- wxInputStream::GetC() now returns an int in the range 0 - 255 on success
21 instead of a char the range -128 - 127.
22
23
24Changes in behaviour which may result in compilation errors
25-----------------------------------------------------------
26
27- Some classes (notably wxBitmap and wxImage) don't define operator==() as it
28 used to work in somewhat unexpected way as it compared only internal pointers
29 and not the object data. The code using it will have to be updated:
30 * If the object was compared with wxNullXXX, use IsOk() method instead
31 * If valid object need to be compared, use IsSameAs() to reproduce the old
32 behaviour or change the code to avoid comparing bitmaps &c.
33- wxFontData::GetColour() now returns a const colour.
34- wxDC objects can't be created directly now (this never worked, now it doesn't
35 even compile).
36- wxCHECK family of macros now must be followed by a semicolon.
37- wxMBConv::cMB2WC() and cWC2MB() take size of the input buffer and return
38 length of the converted string in all cases now.
39- wxHtmlWindow::OnCellClicked() now returns bool.
40- wxHtmlCell::OnMouseClick() was deprecated and replaced with
41 wxHtmlCell::ProcessMouseClick(); old code overriding OnMouseClick() will
42 continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to
43 use ProcessMouseClick().
44- wxHtmlCell::GetCursor() was deprecated and replaced with
45 wxHtmlCell::GetMouseCursor(); old code overriding GetCursor() will
46 continue to work with WXWIN_COMPATIBILITY_2_6, but should be rewritten to
47 use GetMouseCursor().
48- wxHtmlCell::AdjustPagebreak() signature has changed, update your code if you
49 override it.
50- wxFontEnumerator::GetFacenames() and GetEncodings() now return arrays and
51 not pointers to arrays.
52- SetDefaultItem() method was moved from wxPanel to wxTopLevelWindow
53- wxDialog::OnOK/OnCancel() don't exist any more, use SetAffirmative/EscapeId()
54- wxPathList doesn't derive from (deprecated) wxStringList any more
55- wxGLContext class has no 1:1 coupling to a wxGLCanvas class any more.
56 As a consequence, the class interface changed largely. Code updates, if
57 any are required at all, are easy to accomplish though.
58
59
60Deprecated methods since 2.6.x and their replacements
61-----------------------------------------------------
62
63- wxGetWorkingDirectory() deprecated in favour of wxGetCwd().
64- wxDC::BeginDrawing() and wxDC::EndDrawing() deprecated, don't use them.
65- wxWindowBase::GetBestFittingSize --> wxWindowBase::GetEffectiveMinSize.
66- wxWindowBase::SetBestFittingSize --> wxWindowBase::SetInitialSize.
67- Seeking on a zip stream returned from wxFileSystem without using the new
68 wxFS_SEEKABLE flags is deprecated. You can still seek, but use the flag.
69- Constructor wxZipInputStream(const wxString& archive, const wxString& file)
70 deprecated in favour of wxFileSystem (other zip ctors are not deprecated).
71- wx{Dir|File}Dialog::{Set|Get}Style deprecated in favour of the generic
72 wxWindow::{Set|Get}WindowStyle()
73
74
75Major new features in 2.8 release
76---------------------------------
77
78- New AUI library supporting docking windows and much more.
79- New rich text control library implementing a generic wxRichTextCtrl,
80 using only the wxWidgets API. Also includes formatting dialogs, conversion
81 to HTML, and printing classes.
82- New wxComboCtrl class giving the ability to create custom, graphical
83 comboboxes. Associated classes include wxOwnerDrawnComboBox, wxComboPopup
84 and wxBitmapComboBox.
85- Further functionality including wxAnimationCtrl (moved from contrib/src/anim
86 and enhanced), wxSimpleHtmlListBox, wxHyperlinkCtrl, wxColourPickerCtrl,
87 wxDirPickerCtrl, wxFilePickerCtrl, wxFontPickerCtrl, wxCollapsiblePane,
88 wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
89
90
912.8.1
92-----
93
94All:
95
96- Fix compilation with wxUSE_STL=1
97- wxGrid::GetBestSize() returns same size the grid would have after AutoSize()
98- Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi)
99- Several RTL-related positioning fixes (Diaa Sami)
100- Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart)
101
102wxMSW:
103
104- Fixed compilation with Borland C++ in Unicode mode but without MSLU
105
106wxGTK:
107
108- Don't crash if command line is not valid UTF-8 (Unicode build only)
109
110wxUniv:
111
112- It is now possible to set background colour of wxStaticText
113
114
1152.8.0
116-----
117
118All:
119
120- Added wxSearchCtrl (Vince Harron)
121- wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32
122- wxArrayString::Alloc() now works as reserve() and doesn't clear array contents
123- Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto).
124- New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return
125 a stream that is seekable.
126- Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows
127- Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize()
128 for a control with borders (Tim Kosse)
129
130wxMSW:
131
132- Fixed version script problems when using configure with cygwin/mingw32.
133- Use system default paper size for printing instead of A4.
134- Fix (harmless) assert in virtual list control under Vista
135- Fix colours when converting wxBitmap with alpha to wxImage (nusi).
136
137wxGTK:
138
139- Allow dynamically changing most of text control styles
140- Enable use of libgnomeprintui by default in configure
141
142
1432.7.2
144-----
145
146All:
147
148- Added wxFFile overload to wxFileName::CreateTemporaryFileName().
149- Added GetTempDir() to wxFileName and wxStandardPaths.
150- Added wxTar streams.
151- Added wxFilterFSHandler and wxArchiveFSHandler.
152- Added wxString::ToLongLong() and ToULongLong().
153
154All (GUI):
155
156- wxMemoryDC constructor now optionally accepts a wxBitmap parameter,
157 calling SelectObject itself if a valid bitmap is passed.
158- Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added
159 wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory.
160- Renamed wxProgressDialog::UpdatePulse() to just Pulse().
161- Added wxCollapsiblePane (Francesco Montorsi).
162- Added wxSimpleHtmlListBox (Francesco Montorsi).
163- Printing framework fixes by Robert J. Lang. Bugs fixed,
164 wxPrinterDC::GetPaperRect() and other functions added to allow
165 easier printing implementation, and the documentation updated.
166- Many enhancements to wxRichTextCtrl including URL support,
167 formatting and symbol dialogs, print/preview, and better list
168 formatting.
169- Support for loading TGA files added (Seth Jackson).
170- Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot).
171- wxHtmlWindow now generates events on link clicks (Francesco Montorsi).
172- wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event.
173
174Unix Ports:
175
176- Added autopackage for wxGTK and an example of using autopackage for a wx
177 program (Francesco Montorsi).
178
179wxGTK:
180
181- More RTL work.
182- Support wxALWAYS_SHOW_SB.
183- Speed up MIME types loading. Only the GNOME database should be loaded under
184 GNOME etc. For this, the code queries the X11 session protocol.
185- wxCaret redraw problem during scrolling fixed.
186
187
1882.7.1
189-----
190
191All:
192
193- Added wxDir::FindFirst() (Francesco Montorsi).
194- Added wxPlatformInfo class (Francesco Montorsi).
195- Added wxLocale::IsAvailable() (Creighton).
196- Added Malay translations (Mahrazi Mohd Kamal).
197- Added reference counting for wxVariant.
198- For consistency, all classes having Ok() method now also have IsOk() one, use
199 of the latter form is preferred although the former hasn't been deprecated yet.
200- Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi).
201- Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi).
202- Added wxSizer::Replace (Francesco Montorsi).
203- wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi).
204- Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide
205 event-free alternatives to SetSelection() and SetValue() functions; see the
206 "Events generated by the user vs programmatically generated events" paragraph
207 in the "Event handling overview" topic for more info.
208
209All (GUI):
210
211- Support for right-to-left text layout (started by Diaa Sami during Google Summer of
212 Code, with a lot of help from Tim Kosse and others).
213- wxAnimationCtrl added (Francesco Montorsi).
214- Added wxAboutBox() function for displaying the standard about dialog.
215- Added wxID_PAGE_SETUP standard id.
216- Added wxSize::IncBy() and DecBy() methods.
217- Added wxTextCtrl::IsEmpty().
218- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
219 consistency with wxRichTextCtrl.
220- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,
221 fixed some attribute bugs and added wxRichTextStyleComboCtrl.
222- Added wxWindow::IsDoubleBuffered().
223- Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi).
224- Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi).
225
226wxMSW:
227
228- Implemented wxComboBox::SetEditable().
229- wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther)
230- Fixed a bug whereby static controls didn't use the correct text colour if the
231 parent's background colour had been set (most noticeable when switching to a
232 high-contrast theme).
233- Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky).
234
235wxMac:
236
237- Add parameter to the --enable-universal_binary configure option for the path
238 to the SDK.
239
240wxGTK:
241
242- Automatically use stock items for menu items with standard ids.
243- Setting cursor now works for all controls.
244- Implemented right-to-left support.
245- Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse).
246- Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp).
247
248wxUniv:
249
250- Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault().
251
252
2532.7.0
254-----
255
256All:
257
258- Added positional parameters support to wxVsnprintf() (Francesco Montorsi).
259- wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now.
260- Many fixes for UTF-16/32 handling in Unicode builds.
261- wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag.
262- Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir()
263- Added wxStandardPaths::GetDocumentsDir() (Ken Thomases).
264- Added wxStringTokenizer::GetLastDelimiter(); improved documentation.
265- Fixed wxTextFile in Unicode build.
266- Added possibility to specify dependencies for a wxModule.
267- Speed improvements to wxRegEx when matching is done in a loop such as
268 during a search and replace.
269- Fix regerror and regfree name conficts when built-in regex and system regex
270 are both used in the same program.
271- Basic authentication supported added to wxHTTP.
272- wxCondition::WaitTimeout() now returns correct value when timeout occurs.
273- Fixed occasional wxThread cleanup crash.
274- Bug in wxLogStream::DoLogString in Unicode builds fixed.
275- Added support for memo fields to wxODBC.
276- Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__.
277- wxFileName now also looks for TMPDIR on Unix.
278- Fixed build error in list.h with VC++ 2005.
279- Fixed wxODBC buffer overflow problem in Unicode builds.
280- Fixed wxSocketBase::InterruptWait on wxBase.
281- Important code cleanup (Paul Cornett).
282- Added support for wxLongLong in wx stream classes (Mark Junker).
283- wxSOCKET_REUSEADDR can be used with wxSocketClient.
284- Overloaded Connect() and SetLocal() methods for binding to local address/port.
285- Albanian translation added (Besnik Bleta).
286- Assert messages now show the function in which assert failed.
287- wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert().
288- Fixed several bugs in wxDateTime::ParseDate().
289- The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP
290 and WXK*PAGEDOWN. If you have switch statements that use both
291 constants from a set then you need to remove the PRIOR/NEXT
292 versions in order to eliminate compiler errors.
293- Fixed bug where wxDateTime::Now() would sometimes return an incorrect value
294 the first time it was called.
295- Added wxString::rbegin() and rend().
296- Added wxString::EndsWith().
297- wxSocket::_Read continues reading from socket after exhausting pushback buffer.
298 Previously, only the buffer would be returned, even if more data was requested.
299- Added wxPowerEvent (currently MSW-only).
300- Make wx-config compatible with Bourne shells.
301- Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty).
302- Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta).
303- Fixed wxTimeSpan::Format() for negative time spans.
304- Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi).
305
306All (GUI):
307
308- New AUI (Advanced User Interface) library for docking windows and much more.
309- Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli).
310- Added wxTreebook (uses a wxTreeCtrl to control pages).
311- Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi).
312- Added wxDC::GradientFillLinear/Concentric().
313- Added wxHyperlinkCtrl (Francesco Montorsi).
314- Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE).
315- Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios).
316- Added wxRadioBox::SetItemToolTip().
317- Added support for CMYK JPEG images loading (Robert Wruck).
318- Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj).
319- Added wxKeyEvent::GetModifiers().
320- Added wxDialog::SetEscapeId().
321- wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox,
322 wxComboBox and wxChoice).
323- wxWindow::Fit() now works correctly for frames and dialogs too.
324- Added access to the border size between pages and controller in book
325 based controls (wxBookCtrlBase::Get/SetInternalBorder).
326- Added initial wxRichTextCtrl implementation.
327- All book based controls (notebook, treebook etc.) share now the same
328 options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated
329 wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP.
330- Added parent window parameter to wxHelpController constructor
331 and added SetParentWindow/GetParentWindow.
332- wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not.
333- Added wxBitmapButton::SetHoverBitmap().
334- Access to titles through Get/SetTitle is available now only for top level
335 windows (wxDialog, wxFrame).
336- Fixed memory leak of pending events in wxEvtHandler.
337- Added wxRadioBox::IsItemEnabled/Shown().
338- Added space after list item number in wxHTML.
339- Implemented <sub> and <sup> handling in wxHTML (based on patch
340 by Sandro Sigala).
341- Added caption parameter to wxGetFontFromUser and wxGetColourFromUser.
342- Added wxGetMouseState function.
343- Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes,
344 allowing HTML help to be embedded in an application.
345- wxCalendarCtrl positioning and hit-testing fixes for dimensions other than
346 best size.
347- wxCalendarCtrl colour schema changed and adjusted to system settings.
348- wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose).
349- More checking of image validity before loading into wxImage.
350- Added wxImage::ConvertToGreyscale.
351- Added ability to use templates with static event tables
352 with BEGIN_EVENT_TABLE_TEMPLATEn() macros.
353- Added play, pause, and state change events to wxMediaCtrl.
354- Added double-buffering to wxVListBox and fixed a scrolling issue.
355- Added wxToolbook (uses a wxToolBar to control pages).
356- Added SetSheetStyle to wxPropertySheetDialog and allowed it to
357 behave like a Mac OS X settings dialog.
358- Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself.
359- Fixed centering of top level windows on secondary displays.
360- Implemented wxDisplay::GetFromWindow() for platforms other than MSW.
361- UpdateUI handler can now show/hide the window too (Ronald Weiss).
362- More than one filter allowed in in wxDocTemplate filter.
363- Added wxListBox::HitTest().
364- Added wxDisplay::GetClientArea().
365- Indices and counts in wxControlWithItems derived API are unsigned.
366- Added support for links to wxHtmlListBox; use code has to override
367 wxHtmlListBox::OnLinkClicked() to take advantage of it.
368- Added an easier to use wxMenu::AppendSubMenu().
369- wxString <-> wxColour conversions in wxColour class (Francesco Montorsi).
370- Fixed bug with ignoring blank lines in multiline wxGrid cell labels.
371- Added wxTextAttr::Merge() (Marcin Simonides).
372- Added wxTB_NO_TOOLTIPS style (Igor Korot).
373- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz).
374- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz)
375- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix.
376- Made it possible to associate context help to a region of a window.
377- Added support for tabs in wxRichTextCtrl (Ashish More).
378- Fixed problem with zoom setting in print preview.
379- Moved wxRichTextCtrl from the advanced library to its own.
380- wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
381- Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with
382 implementations (so far) for wxMSW and wxMac.
383