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