]>
Commit | Line | Data |
---|---|---|
1 | ------------------------------------------------------------------------------- | |
2 | wxWidgets Change Log | |
3 | ------------------------------------------------------------------------------- | |
4 | ||
5 | INCOMPATIBLE CHANGES SINCE 2.8.x | |
6 | ================================ | |
7 | ||
8 | ||
9 | Notice that these changes are described in more details in | |
10 | the "Changes Since wxWidgets 2.8" section of the manual, | |
11 | please read it if the explanation here is too cryptic. | |
12 | ||
13 | ||
14 | Unicode-related changes | |
15 | ----------------------- | |
16 | ||
17 | The biggest changes in wxWidgets 3.0 are the changes due to the merge of the | |
18 | old ANSI and Unicode build modes in a single build. See the Unicode overview | |
19 | in the manual for more details but here are the most important incompatible | |
20 | changes: | |
21 | ||
22 | - Many wxWidgets functions taking "const wxChar *" have been changed to take | |
23 | either "const wxString&" (so that they accept both Unicode and ANSI strings; | |
24 | the argument can't be NULL anymore in this case) or "const char *" (if the | |
25 | strings are always ANSI; may still be NULL). This change is normally | |
26 | backwards compatible except: | |
27 | ||
28 | a) Virtual functions: derived classes versions must be modified to take | |
29 | "const wxString&" as well to make sure that they continue to override the | |
30 | base class version. | |
31 | ||
32 | b) Passing NULL as argument: as NULL can't be unambiguously converted to | |
33 | wxString, in many cases code using it won't compile any more and NULL | |
34 | should be replaced with an empty string. | |
35 | ||
36 | ||
37 | - Some structure fields which used to be of type "const wxChar *" (such as | |
38 | wxCmdLineEntryDesc::shortName, longName and description fields) are now of | |
39 | type "const char *", you need to remove wxT() or _T() around the values used | |
40 | to initialize them (which should normally always be ASCII). | |
41 | ||
42 | - wxIPC classes didn't work correctly in Unicode build before, this was fixed | |
43 | but at a price of breaking backwards compatibility: many methods which used | |
44 | to work with "wxChar *" before use "void *" now (some int parameters were | |
45 | also changed to size_t). While wxIPC_TEXT can still be used to transfer 7 | |
46 | bit text, the new wxIPC_UTF8TEXT format is used for transferring wxStrings. | |
47 | Also notice that connection classes should change the parameter types of | |
48 | their overridden OnExecute() or override a more convenient OnExec() instead. | |
49 | ||
50 | ||
51 | wxODBC and contrib libraries removal | |
52 | ------------------------------------ | |
53 | ||
54 | wxODBC library was unmaintained since several years and we couldn't continue | |
55 | supporting it any longer so it was removed. Please use any of the other open | |
56 | source ODBC libraries in the future projects. | |
57 | ||
58 | Also the "applet", "deprecated", "fl", "mmedia" and "plot" contrib libraries | |
59 | were removed as they were unmaintained and broken since several years. | |
60 | The "gizmos", "ogl", "net" and "foldbar" contribs have been moved to | |
61 | wxCode (see http://wxcode.sourceforge.net/complist.php); they are now | |
62 | open for futher development by volunteers. | |
63 | ||
64 | The "stc" and "svg" contribs instead have been moved respectively into a new | |
65 | "official" library stc and in the core lib. | |
66 | ||
67 | ||
68 | Changes in behaviour not resulting in compilation errors, please read this! | |
69 | --------------------------------------------------------------------------- | |
70 | ||
71 | - Default location of wxFileConfig files has changed under Windows, you will | |
72 | need to update your code if you access these files directly. | |
73 | ||
74 | - wxWindow::IsEnabled() now returns false if a window parent (and not | |
75 | necessarily the window itself) is disabled, new function IsThisEnabled() | |
76 | with the same behaviour as old IsEnabled() was added. | |
77 | ||
78 | - Generating wxNavigationKeyEvent events doesn't work any more under wxGTK (and | |
79 | other platforms in the future), use wxWindow::Navigate() or NavigateIn() | |
80 | instead. | |
81 | ||
82 | - Sizers distribute only the extra space between the stretchable items | |
83 | according to their proportions and not all available space. We believe the | |
84 | new behaviour corresponds better to user expectations but if you did rely | |
85 | on the old behaviour you will have to update your code to set the minimal | |
86 | sizes of the sizer items to be in the same proportion as the items | |
87 | proportions to return to the old behaviour. | |
88 | ||
89 | - wxWindow::Freeze/Thaw() are not virtual any more, if you overrode them in | |
90 | your code you need to override DoFreeze/Thaw() instead now. | |
91 | ||
92 | - wxCalendarCtrl has native implementation in wxGTK, but it has less features | |
93 | than the generic one. The native implementation is used by default, but you | |
94 | can still use wxGenericCalendarCtrl instead of wxCalendarCtrl in your code if | |
95 | you need the extra features. | |
96 | ||
97 | - wxDocument::FileHistoryLoad() and wxFileHistory::Load() now take const | |
98 | reference to wxConfigBase argument and not just a reference, please update | |
99 | your code if you overrode these functions and change the functions in the | |
100 | derived classes to use const reference as well. | |
101 | ||
102 | - Under MSW wxExecute() arguments are now always properly quoted, as under | |
103 | Unix, and so shouldn't contain quotes unless they are part of the argument. | |
104 | ||
105 | - wxDocument::OnNewDocument() doesn't call OnCloseDocument() any more. | |
106 | ||
107 | - If you use wxScrolledWindow::SetTargetWindow() you must implement its | |
108 | GetSizeAvailableForScrollTarget() method, please see its documentation for | |
109 | more details. | |
110 | ||
111 | ||
112 | Changes in behaviour which may result in compilation errors | |
113 | ----------------------------------------------------------- | |
114 | ||
115 | - WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if | |
116 | you still relied on features deprecated since version 2.4 | |
117 | ||
118 | - wxDC classes hierarchy has changed, if you derived any classes from wxDC you | |
119 | need to review them as wxDC doesn't have any virtual methods any longer and | |
120 | uses delegation instead of inheritance to present different behaviours. | |
121 | ||
122 | - Return type of wxString::operator[] and wxString::iterator::operator* is no | |
123 | longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem | |
124 | in vast majority of cases because of conversion operators, but it can break | |
125 | code that depends on the result being wxChar. | |
126 | ||
127 | - The value returned by wxString::c_str() cannot be casted to non-const char* | |
128 | or wchar_t* anymore. The solution is to use newly added wxString methods | |
129 | char_str() (which returns a buffer convertible to char*) or wchar_str() | |
130 | (which returns a buffer convertible to wchar_t*). These methods are | |
131 | available in wxWidgets 2.8 series beginning with 2.8.4 as well. | |
132 | ||
133 | - The value returned by wxString::operator[] or wxString::iterator cannot be | |
134 | used in switch statements anymore, because it's a class instance. Code like | |
135 | this won't compile: | |
136 | switch (str[i]) { ... } | |
137 | and has to be replaced with this: | |
138 | switch (str[i].GetValue()) { ... } | |
139 | ||
140 | - Return type of wxString::c_str() is now a helper wxCStrData struct and not | |
141 | const wxChar*. wxCStrData is implicitly convertible to both "const char *" | |
142 | and "const wchar_t *", so this only presents a problem if the compiler cannot | |
143 | apply the conversion. This can happen in 2 cases: | |
144 | ||
145 | + There is an ambiguity because the function being called is overloaded to | |
146 | take both "const char *" and "const wchar_t *" as the compiler can't choose | |
147 | between them. In this case you may use s.wx_str() to call the function | |
148 | matching the current build (Unicode or not) or s.mb_str() or s.wc_str() to | |
149 | explicitly select narrow or wide version of it. | |
150 | ||
151 | Notice that such functions are normally not very common but unfortunately | |
152 | Microsoft decided to extend their STL with standard-incompatible overloads | |
153 | of some functions accepting "const wchar_t *" so you may need to replace | |
154 | some occurrences of c_str() with wx_str() when using MSVC 8 or later. | |
155 | ||
156 | + Some compilers, notably Borland C++ and DigitalMars, don't correctly | |
157 | convert operator?: operands to the same type and fail with compilation | |
158 | error instead. This can be worked around by explicitly casting to const | |
159 | wxChar*: wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "") | |
160 | ||
161 | - wxCtime() and wxAsctime() return char*; this is incompatible with Unicode | |
162 | build in wxWidgets 2.8 that returned wchar_t*. | |
163 | ||
164 | - DigitalMars compiler has a bug that prevents it from using | |
165 | wxUniChar::operator bool in conditions and it erroneously reports type | |
166 | conversion ambiguity in expressions such as this: | |
167 | for ( wxString::const_iterator p = s.begin(); *p; ++p ) | |
168 | This can be worked around by explicitly casting to bool: | |
169 | for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p ) | |
170 | ||
171 | - Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now. | |
172 | ||
173 | - Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8 | |
174 | are deprecated and passing NULL to them won't compile anymore, wxEmptyString | |
175 | must be used instead. | |
176 | ||
177 | - wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx() | |
178 | with void pointers. | |
179 | ||
180 | - Removed insecure wxGets() and wxTmpnam() functions. | |
181 | ||
182 | - Removed global GetLine() function from wx/protocol/protocol.h, use | |
183 | wxProtocol::ReadLine() instead. | |
184 | ||
185 | - wxVariant no longer derives from wxObject. wxVariantData also no longer | |
186 | derives from wxObject; instead of using wxDynamicCast with wxVariantData you | |
187 | can use the macro wxDynamicCastVariantData with the same arguments. | |
188 | ||
189 | - wxWindow::Next/PrevControlId() don't exist any more as they can't be | |
190 | implemented correctly any longer because automatically generated ids are not | |
191 | necessarily allocated consecutively any more. Use GetChildren() to find the | |
192 | next/previous control sibling instead. | |
193 | ||
194 | - Calling wxConfig::Write() with an enum value will fail to compile because | |
195 | wxConfig now tries to convert all unknown types to wxString automatically. | |
196 | The simplest solution is to cast the enum value to int. | |
197 | ||
198 | - Several wxImage methods which previously had "long bitmaptype" parameters | |
199 | have been changed to accept "wxBitmapType bitmaptype", please use enum | |
200 | wxBitmapType in your code. | |
201 | ||
202 | Deprecated methods and their replacements | |
203 | ----------------------------------------- | |
204 | ||
205 | - wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead. | |
206 | - wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer | |
207 | or wxStringBufferLength instead. | |
208 | - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if | |
209 | specified so this style should simply be removed | |
210 | - wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and | |
211 | wxDocument::GetPrintableName() with GetUserReadableName() which are simpler | |
212 | to use | |
213 | - wxXmlProperty class was renamed to wxXmlAttribute in order to use standard | |
214 | terminology. Corresponding wxXmlNode methods were renamed to use | |
215 | "Attribute" instead of "Property" or "Prop" in their names. | |
216 | - wxConnection::OnExecute() is not formally deprecated yet but new code should | |
217 | use simpler OnExec() version which is called with wxString argument | |
218 | - wxMenuItem::GetLabel has been deprecated in favour of wxMenuItem::GetItemLabelText | |
219 | - wxMenuItem::GetText has been deprecated in favour of wxMenuItem::GetItemLabel | |
220 | - wxMenuItem::GetLabelFromText has been deprecated in favour of wxMenuItem::GetLabelText | |
221 | - wxMenuItem::SetText has been deprecated in favour of wxMenuItem::SetItemLabel | |
222 | - wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen ctor now take | |
223 | respectively a wxBrushStyle and a wxPenStyle value instead of a plain "int style"; | |
224 | use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX and wxPENSTYLE_XXX) instead | |
225 | of the old deprecated wxXXX styles (which however are still available). | |
226 | - EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED. | |
227 | - EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated, | |
228 | use EVT_CALENDAR_PAGE_CHANGED which replaces both of them. | |
229 | - wxCalendarCtrl::EnableYearChange() and wxCAL_NO_YEAR_CHANGE are deprecated. | |
230 | There is no replacement for this functionality, it is being dropped as it is | |
231 | not available in native wxCalendarCtrl implementations. | |
232 | - wxDC::SetClippingRegion(const wxRegion&) overload is deprecated as it used | |
233 | different convention from the other SetClippingRegion() overloads: wxRegion | |
234 | passed to it was interpreted in physical, not logical, coordinates. Replace | |
235 | it with SetDeviceClippingRegion() if this was the correct thing to do in your | |
236 | code. | |
237 | - wxTE_AUTO_SCROLL style is deprecated as it's always on by default anyhow. | |
238 | ||
239 | ||
240 | Major new features in this release | |
241 | ---------------------------------- | |
242 | ||
243 | - wxWidgets is now always built with Unicode support but provides the same | |
244 | simple (i.e. "char *"-tolerant) API as was available in ANSI build in the | |
245 | past. | |
246 | ||
247 | - wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally, | |
248 | depending on what is optimal for the target platform. | |
249 | ||
250 | - New propgrid library containing wxPropertyGrid and related classes, many | |
251 | enhancements to wxDataViewCtrl. | |
252 | ||
253 | - Events loops, timers and sockets can now be used in wxBase, without GUI. | |
254 | ||
255 | ||
256 | 2.9.0 | |
257 | ----- | |
258 | ||
259 | All: | |
260 | ||
261 | - Added (experimental) IPv6 support to wxSocket (Arcen). | |
262 | - Cleaned up wxURI and made it Unicode-friendly. | |
263 | - Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski) | |
264 | - Added wxXLocale class and xlocale-like functions using it. | |
265 | - Allow loading message catalogs from wxFileSystem (Axel Gembe) | |
266 | - Added wxMessageQueue class for inter-thread communications | |
267 | - Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen) | |
268 | - Added support for user-defined types to wxConfig (Marcin Wojdyr). | |
269 | - Added numeric options support to wxCmdLineParser (crjjrc) | |
270 | - Added wxJoin() and wxSplit() functions (Francesco Montorsi). | |
271 | - Added wxDateTime::FormatISOCombined() and ParseISODate/Time/Combined() | |
272 | - Added wxMutex::LockTimeout() (Aleksandr Napylov). | |
273 | - Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev). | |
274 | - Implemented wxMemoryInputStream::CanRead(). | |
275 | - Implemented wxMemoryFSHandler::FindFirst/Next(). | |
276 | - Added wxEXEC_BLOCK flag (Hank Schultz). | |
277 | - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev). | |
278 | - Added wxStreamBuffer::Truncate() (Stas Sergeev). | |
279 | - Allow using wxEventLoop in console applications (Lukasz Michalski). | |
280 | - Added functions for Base64 en/decoding (Charles Reimers). | |
281 | - Added support for binary data to wxConfig (Charles Reimers). | |
282 | - Added functions for atomically inc/decrementing integers (Armel Asselin). | |
283 | - wxLogInterposer has been added to replace wxLogPassThrough and new | |
284 | wxLogInterposerTemp was added. | |
285 | - Added support for broadcasting to UDP sockets (Andrew Vincent). | |
286 | - Documentation now includes the wx library in which each class is defined. | |
287 | - wxrc --gettext now generates references to source .xrc files (Heikki | |
288 | Linnakangas). | |
289 | - wxVariant::Unshare allows exclusive allocation of data that must be shared, | |
290 | if the wxVariantData::Clone function is implemented. | |
291 | - Added wxWeakRef<T>, wxScopedPtr<T>, wxSharedPtr<T> class templates | |
292 | - Added wxVector<T> class templates | |
293 | - Added wxON_BLOCK_EXIT_SET() and wxON_BLOCK_EXIT_NULL() to wx/scopeguard.h. | |
294 | - Added wxEvtHandler::QueueEvent() replacing AddPendingEvent() and | |
295 | wxQueueEvent() replacing wxPostEvent(). | |
296 | - wxString now uses std::[w]string internally by default, meaning that it is | |
297 | now thread-safe if the standard library provided with your compiler is. | |
298 | - Added wxCmdLineParser::AddUsageText() (Marcin 'Malcom' Malich). | |
299 | - Fix reading/writing UTF-7-encoded text streams. | |
300 | - Corrected bug in wxTimeSpan::IsShorterThan() for equal time spans. | |
301 | - Use std::unordered_{map,set} for wxHashMap/Set if available (Jan van Dijk). | |
302 | - Added wxString::Capitalize() and MakeCapitalized(). | |
303 | - Added wxArray::swap(). | |
304 | - Added wxSHUTDOWN_LOGOFF and wxSHUTDOWN_FORCE wxShutdown() flags (troelsk). | |
305 | - Added wxArtProvider::GetNativeSizeHint(); GetSizeHint() as well as | |
306 | GetNativeSizeHint() now return more sensible values in wxMSW and wxMac and | |
307 | no longer return bogus values. | |
308 | ||
309 | All (Unix): | |
310 | ||
311 | - Added wx-config --optional-libs command line option (John Labenski). | |
312 | ||
313 | All (GUI): | |
314 | ||
315 | - Added wxDataViewCtrl class and helper classes. | |
316 | - Integrated wxPropertyGrid in wxWidgets itself (Jaakko Salli). | |
317 | - Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK. | |
318 | - Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames(). | |
319 | - Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty). | |
320 | - Added wxNotificationMessage class for non-intrusive notifications. | |
321 | - Added wxWindow::Show/HideWithEffect(). | |
322 | - Added wxWrapSizer (Arne Steinarson). | |
323 | - Added wxSpinCtrlDouble (John Labenski). | |
324 | - Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version). | |
325 | - Also added wxCANCEL_DEFAULT to wxMessageDialog. | |
326 | - Allow copying text in the log dialogs. | |
327 | - Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez). | |
328 | - Initialize wx{Client,Paint,Window}DC with fonts/colours of its window. | |
329 | - Added wxNativeContainerWindow to allow embedding wx into native windows. | |
330 | - Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr). | |
331 | - Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron). | |
332 | - Added support for drop down toolbar buttons (Tim Kosse). | |
333 | - Added support for labels for toolbar controls (Vince Harron). | |
334 | - Added wxMessageDialog::SetMessage() and SetExtendedMessage(). | |
335 | - Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov). | |
336 | - Made wxLogWindow thread-safe (Barbara Maren Winkler). | |
337 | - Added wxWindow::AlwaysShowScrollbars() (Julian Scheid). | |
338 | - Added wxMouseEvent::GetClickCount() (Julian Scheid). | |
339 | - Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid). | |
340 | - Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II). | |
341 | - New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr). | |
342 | - Added wxEventBlocker class (Francesco Montorsi). | |
343 | - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi). | |
344 | - Added wxSizerFlags::Top() and Bottom(). | |
345 | - Slovak translation added. | |
346 | - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl. | |
347 | - Implemented background colour in wxRichTextCtrl. | |
348 | - Fixed crashes in helpview when opening a file. | |
349 | - Set locale to the default in all ports, not just wxGTK. | |
350 | - Added wxJoystick::GetButtonState/Position() (Frank C Szczerba). | |
351 | - Added wxGridUpdateLocker helper class (Evgeniy Tarassov). | |
352 | - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov). | |
353 | - Added wxWindow::NavigateIn() in addition to existing Navigate(). | |
354 | - Add support for <data> tags to wxrc. | |
355 | - Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr). | |
356 | - Show standard options in wxCmdLineParser usage message (Francesco Montorsi). | |
357 | - Added wxRect::operator+ (union) and * (intersection) (bdonner). | |
358 | - Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland). | |
359 | - Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper). | |
360 | - Added wxTaskBarIcon::Destroy(). | |
361 | - Added XRC handler for wxSearchCtrl (Sander Berents). | |
362 | - Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto). | |
363 | - Add support for reading alpha data from TIFF images. | |
364 | - Added wxSYS_DCLICK_TIME system metric constant (Arne Steinarson). | |
365 | - Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II). | |
366 | - Added wxWindow::GetPopupMenuSelectionFromUser() (Arne Steinarson). | |
367 | - Implemented wxTreeCtrl::GetPrevVisible() in the generic version and made the | |
368 | behaviour of GetNextSibling() consistent between wxMSW and generic versions. | |
369 | - Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table | |
370 | to wxRichTextBuffer to reduce wxFont consumption and increase performance. | |
371 | - Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren() | |
372 | (Szczepan Holyszewski). | |
373 | - Added <scrollrate> parameter to wxScrolledWindow XRC handler. | |
374 | - Added support for automatic dialog scrolling, via the new | |
375 | wxDialogLayoutAdapter class and various new wxDialog functions. See the | |
376 | topic "Automatic Scrolling Dialogs" in the manual for further details. | |
377 | - Added support for resizing wxWizard bitmaps to the current page height, | |
378 | via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth. | |
379 | Also made it easier to derive from wxWizard and override behaviour. | |
380 | - Made wxSizer::Fit() set the client size of the target window | |
381 | - Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang) | |
382 | - Added wxWindow::HasFocus(). | |
383 | - Added wxGLCanvas::IsDisplaySupported(). | |
384 | - Added wxApp::SetNativeTheme() (Stefan H.). | |
385 | - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola). | |
386 | - Freeze() and Thaw() now recursively freeze/thaw the children too. | |
387 | - Generalized wxScrolledWindow into wxScrolled<T> template that can derive | |
388 | from any window class, not just wxPanel. | |
389 | - Allow having menu separators with ids != wxID_SEPARATOR (Jeff Tupper) | |
390 | - Fix appending items to sorted wxComboCtrl after creation (Jaakko Salli) | |
391 | - Don't blit area larger than necessary in wxBufferedDC::UnMask (Liang Jian) | |
392 | - Fixed wxPixelData<wxImage> compilation (Leonardo Fernandes). | |
393 | - Added wxImage::GetType() (troelsk). | |
394 | - Added wxGenericStaticBitmap suitable for display of large bitmaps. | |
395 | - Support wxListCtrl::GetViewRect() in report view too. | |
396 | - Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard). | |
397 | - Added wxVListBox::GetItemRect() (Javier Urien). | |
398 | - Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR. | |
399 | - Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr). | |
400 | - Added "enabled" and "hidden" attributes to radio box items in XRC. | |
401 | - wxWindow::IsBeingDeleted() now returns true not only if the window itself is | |
402 | marked for destruction but also if any of its parent windows are. | |
403 | - Improved drawing of the hint during column move in wxGrid. | |
404 | - Add wxGridSelectRowsOrColumns selection mode to wxGrid. | |
405 | - Get/HasModifiers() of wxKeyEvent are now also available in wxMouseEvent. | |
406 | ||
407 | wxGTK: | |
408 | ||
409 | - Support for markup and ellipsization in wxStaticText (Francesco Montorsi). | |
410 | - Native implementation for wxHyperlinkCtrl (Francesco Montorsi). | |
411 | - Native keyboard navigation implementation. | |
412 | - Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov). | |
413 | - Don't overwrite primary selection with clipboard and vice versa. | |
414 | - Implemented support for underlined fonts in wxStaticText. | |
415 | - wxTopLevelWindow::SetSizeHints size increments now work. | |
416 | - wxTopLevelWindow::GetSize() returns the size including the WM decorations. | |
417 | - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized. | |
418 | - Added support for colour cursors (Pascal Monasse). | |
419 | - Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff). | |
420 | - Added gtk.tlw.can-set-transparency system option. | |
421 | - Added support for GTK+ print backend | |
422 | - Fix changing font/colour of label in buttons with images (Marcin Wojdyr). | |
423 | - Fix wxDC::Blit() support for user scale and source offset (Marcin Wojdyr). | |
424 | ||
425 | wxMac: | |
426 | ||
427 | - Better IconRef support (Alan Shouls). | |
428 | - Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs). | |
429 | - Allow accelerators to be used with buttons too (Ryan Wilcox). | |
430 | - Support resource forks in wxCopyFile() (Hank Schultz). | |
431 | - Implement wxLocale::GetInfo() using CFLocale. | |
432 | - Native wxCollapsiblePane implementation. | |
433 | ||
434 | wxMSW: | |
435 | ||
436 | - Fixed infinite loop in wxThread::Wait() in console applications. | |
437 | - Return the restored window size from GetSize() when window is minimized. | |
438 | - wxCheckListBox now looks more native, especially under XP (Marcin Malich). | |
439 | - Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon | |
440 | - Fix centering wxFileDialog and allow positioning it. | |
441 | - Allow centering wxMessageDialog on its parent window (troelsk). | |
442 | - Use vertical scrollbar in wxMessageDialog if it's too big to fit on screen. | |
443 | - Show resize gripper on resizeable dialogs (Kolya Kosenko). | |
444 | - Implement support for display enumeration under WinCE (Vince Harron). | |
445 | - Use different Win32 class names in different wx instances (Thomas Hauk). | |
446 | - Support multiline labels for wxCheckBox and wxToggleButton. | |
447 | - Print preview is now rendered in the resolution used by printer and | |
448 | accurately represents what will be printed. This fixes wxHtmlEasyPrinting | |
449 | preview inaccuracies on Windows; on other platforms, native preview | |
450 | should be used. | |
451 | ||
452 | wxX11: | |
453 | ||
454 | - Added mouse wheel support (David Hart). | |
455 | - Make Enter key activate the default button (David Hart). | |
456 | ||
457 | wxDFB: | |
458 | ||
459 | - Implement wxBitmap ctor from XBM data. | |
460 | ||
461 | ||
462 | 2.8.9 | |
463 | ----- | |
464 | ||
465 | All: | |
466 | ||
467 | - Optimize wxString::Replace() for single character arguments. | |
468 | - Updated Hindi translation (Priyank Bolia). | |
469 | - Use tr1::unordered_{map,set} for wxHash{Map,Set} implementation if available | |
470 | in STL build; in particular do not use deprecated hash_{map,set} which | |
471 | results in a lot of warnings from newer g++ (Jan Van Dijk and Pete Stieber). | |
472 | ||
473 | All (GUI): | |
474 | ||
475 | - Added support for reading alpha channel in BMP format (Kevin Wright). | |
476 | - Fixed help viewer bug whereby the splitter sash in wxHtmlHelpWindow could | |
477 | go underneath the left-hand pane, permanently, after resizing the | |
478 | help window. | |
479 | - Fixed wxHTML default font size for printing to be 12pt regardless of the | |
480 | platform, instead of depending on GUI toolkit's screen configuration. | |
481 | - Support wxDP_ALLOWNONE style in generic wxDatePickerCtrl version. | |
482 | - Set wxKeyEvent::m_uniChar correctly in the events generated by generic | |
483 | wxListCtrl (Mikkel S). | |
484 | - Fix changing size of merged cells in wxGrid (Laurent Humbertclaude). | |
485 | - Fixed wrapping bug in wxRichTextCtrl when there were images present; | |
486 | now sets the cursor to the next line after pressing Shift+Enter. | |
487 | - Fixed Cmd+Back, Cmd+Del word deletion behaviour in wxRichTextCtrl. | |
488 | - Fix crash when reading malformed PCX images. | |
489 | - Fix bug with wrong transparency in GIF animations (troelsk). | |
490 | - Store palette information for XPM images in wxImage (troelsk). | |
491 | - Fixed selection bugs and auto list numbering in wxRichTextCtrl. | |
492 | - Significantly optimize wxGrid::BlockToDeviceRect() for large grids (kjones). | |
493 | - Introduced new wxAuiToolBar class for better integration and look-and-feel. | |
494 | - Fix a crash in wxAuiFrameManager when Update() was called in between mouse-up | |
495 | and mouse-down events | |
496 | - wxAUI: added various NULL-ptr asserts. | |
497 | - Fixed problem with Floatable(false) not working in wxAuiFrameManager. | |
498 | - Fixed maximize bug in wxAUI. | |
499 | - Allow period in link anchors in wxHTML. | |
500 | - Fixed memory corruption in wxHTML when parsing "&;" in the markup. | |
501 | - Fixed event type in EVT_GRID_CMD_COL_MOVE and EVT_GRID_COL_MOVE. | |
502 | - wxGrid doesn't steal focus when hiding editor any more (Tom Eckert). | |
503 | ||
504 | All (Unix): | |
505 | ||
506 | - MIME types reading fixed when running under GNOME, reading .desktop | |
507 | files and also the default application list. | |
508 | - Added filesys.no-mimetypesmanager system option so that applications that | |
509 | must load an XRC file at program startup don't have to incur the | |
510 | mime types manager initialization penalty. | |
511 | ||
512 | wxMSW: | |
513 | ||
514 | - Potentially incompatible change: wxExecute() arguments are now quoted if they | |
515 | contain spaces and existing quotes are escaped with a backslash. However, to | |
516 | preserve compatibility, the argument is unchanged if it is already quoted. | |
517 | Notice that this behaviour will change in wxWidgets 3.0 where all arguments | |
518 | will be quoted, please update your code now if you are affected and use only | |
519 | wxWidgets 2.8.9 or later. | |
520 | - Fix keyboard support in wxSpinCtrl broken in 2.8.8. | |
521 | - Compile fix for WinCE in window.cpp (no VkKeyScan in Windows CE). | |
522 | - Support disabling items before adding them to the menu (Christian Walther). | |
523 | - Allow to call SetFont(wxNullFont) to reset the font to default. | |
524 | - Implement UUID::operator==() and !=() (SQLAware Corporation). | |
525 | - Fixed long standing (introduced in 2.6.3) bug which resulted in always | |
526 | creating a DIB and not DDB in wxBitmap(const wxImage&) ctor. | |
527 | - Fix the bug with wxFileDialog not being shown at all if the default file name | |
528 | was invalid. | |
529 | - Fix hang in keyboard navigation code with radio buttons under Windows 2000. | |
530 | - Implement wxWinINetInputStream::GetSize() (spicerno). | |
531 | - Always copy "has alpha" flag when copying bitmaps (SQLAware Corporation). | |
532 | ||
533 | wxGTK: | |
534 | ||
535 | - Fixed masking of disabled bitmaps in wxMenuItem and wxStaticBitmap. | |
536 | - Fixed generation of events for an initially empty wxDirPickerCtrl. | |
537 | - Fixed detection of Meta key state so that NumLock isn't misdetected | |
538 | as Meta (requires GTK+ 2.10). | |
539 | - Fix changing font/colour of label in buttons with images (Marcin Wojdyr). | |
540 | ||
541 | wxMac: | |
542 | ||
543 | - Fixed a glitch where clicking on a scrollbar (but not moving the scrollbar) | |
544 | would cause the window to scroll. | |
545 | ||
546 | ||
547 | 2.8.8 | |
548 | ----- | |
549 | ||
550 | All: | |
551 | ||
552 | - Fixed bug with parsing some dates in wxDateTime (Bob Pesner). | |
553 | - Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date(). | |
554 | - Initialize current line in wxTextBuffer ctor (Suzuki Masahiro). | |
555 | - Improved performance of XML parsing (Francesco Montorsi). | |
556 | - Fix wxDateTime::ParseRfc822Date() to handle missing seconds (Joe Nader). | |
557 | ||
558 | All (GUI): | |
559 | ||
560 | - Added wxWindow::GetNextSibling() and GetPrevSibling(). | |
561 | - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov). | |
562 | - Ensure that wxGrid::AutoSizeColumn/Row() never sets column/row size | |
563 | smaller than the minimal size. | |
564 | - Added <scrollrate> parameter to wxScrolledWindow XRC handler. | |
565 | - wxRichTextCtrl performance has been improved considerably. | |
566 | - Several wxRichTextCtrl style, paste and undo bugs fixed. | |
567 | - Added wxRichTextCtrl superscript and subscript support (Knut Petter Lehre). | |
568 | - wxNotebook RTTI corrected, so now wxDynamicCast(notebook, wxBookCtrlBase) | |
569 | works. | |
570 | - When focus is set to wxScrolledWindow child, scroll it into view. | |
571 | - Improve wximage::ResampleBox() (Mihai Ciocarlie). | |
572 | - Implemented ScrollList() in generic wxListCtrl (Tim Kosse). | |
573 | - SaveAs in docview takes into account path now. | |
574 | - Fixed wxXmlResource::GetText() to convert data to current locale's | |
575 | charset in ANSI build. | |
576 | - wxGrid now indicates focus by using different colour for selection | |
577 | and hiding cell cursor when it doesn't have focus. | |
578 | - Added alpha support to wxImage::Paste() (Steven Van Ingelgem) | |
579 | - Use current date when opening popup in generic wxDatePickerCtrl. | |
580 | - Remove associated help text from wxHelpProvider when a window is destroyed. | |
581 | - Added wxSizerFlags::ReserveSpaceEvenIfHidden() and | |
582 | wxRESERVE_SPACE_EVEN_IF_HIDDEN sizer flag. | |
583 | - Added wxWindow::ClientToWindowSize() and WindowToClientSize() helpers. | |
584 | - Added wxSizer::ComputeFittingClientSize() and ComputeFittingWindowSize(). | |
585 | - Fixed wxSizer::SetSizeHints() to work when the best size decreases. | |
586 | - Fixed crash in wxHtmlHelpController if the help window is still open. | |
587 | - Fixed generic art provider to scale bitmaps down to client-specific | |
588 | best size if needed. | |
589 | - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola). | |
590 | - Fixed timing of malformed animated GIFs in wxHTML (Gennady Feller). | |
591 | - Fixed incorrect layout width caching in wxHTML (Jeff Tupper). | |
592 | - wxHTML: preserve TAB characters when copying <pre> content to clipboard. | |
593 | - Set focus to wxCalendarCtrl when it is clicked. | |
594 | - Don't clear the list control when wxLC_[HV]RULES style is toggled. | |
595 | - Don't crash when Ctrl-Shift-T is pressed in empty wxStyledTextControl. | |
596 | ||
597 | All (Unix): | |
598 | ||
599 | - Fixed shared libraries to not depend on GStreamer when built with | |
600 | --enable-media; only wxMedia library depends on it now. | |
601 | - wxLaunchDefaultBrowser() now uses xdg-open if available. | |
602 | - Don't close UDP socket if an empty datagram is received (Mikkel S) | |
603 | - Honour locale modifiers such a "@valencia" in system locale (Tim Kosse) | |
604 | ||
605 | wxMSW: | |
606 | ||
607 | - Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse). | |
608 | - Fix setting icons when they have non-default (16*16 and 32*32) sizes. | |
609 | - Fixed wxLocale::GetInfo to use the C locale. | |
610 | - Don't enable disabled windows when showing them (Harry McKame). | |
611 | - Fix assert when using owner-drawn menu items with the newest (Vista) SDK. | |
612 | - Fixed wxTextCtrl to not process clipboard events twice if there's | |
613 | a custom wxEVT_COMMAND_TEXT_* event handler. | |
614 | - Fix wxComboBox to not lose the current value if it was programmatically set | |
615 | to a value not in a list of choices on popup close (Kolya Kosenko) | |
616 | - Switching wxListCtrl to report mode from another one now uses full row | |
617 | highlight, just as if the control were created in report mode initially. | |
618 | - Use correct index of the right-clicked column in wxListCtrl in the | |
619 | corresponding event even when the control is scrolled horizontally. | |
620 | - Implement wxRadioBox::Reparent() correctly (Vince Harron). | |
621 | - Make context sensitive help work for the text part of wxSpinCtrl. | |
622 | - wxFileType::GetCommand() now looks at Explorer associations and CurVer | |
623 | for increased reliability and conformance to user expectations. | |
624 | - Fixed double Init() call in wxTopLevelWindow causing a memory leak on | |
625 | SmartPhone. | |
626 | - Fixed rendering of borders for wxTextCtrl with wxTE_RICH(2) style when | |
627 | using Windows XP's Classic UI theme. | |
628 | - Text controls with wxTE_RICH style now also generate wxClipboardTextEvents. | |
629 | - Fixed wxEVT_COMMAND_TEXT_ENTER generation in wxSpinCtrl. | |
630 | - Fixed wxSpinCtrl::GetClientSize() to return sensible value and not just | |
631 | spin button's client size. | |
632 | - Fixed IMPLEMENT_APP() to be compatible with the -WU flag of Borland C++ | |
633 | compiler (Matthias Bohm). | |
634 | - Correct size calculation for toolbars containing controls under pre-XP | |
635 | systems (Gerald Giese) | |
636 | ||
637 | wxGTK: | |
638 | ||
639 | - Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and | |
640 | so the loop should exit (Rodolfo Schulz de Lima). | |
641 | - Implement wxListBox::EnsureVisible() (Andreas Kling) | |
642 | - Fixed wxCURSOR_HAND to map to GDK_HAND2 and not GDK_HAND1, for consistency | |
643 | with other applications. | |
644 | - Fix wxNotebook::GetPage{Text,Image}() when they were called from the page | |
645 | change event handler for the first added page (Mikkel S). | |
646 | - Fixed wxBitmapButton to use focus and hover bitmaps correctly. | |
647 | - Fixed race condition which could cause idle processing to stop without | |
648 | processing all pending events. | |
649 | - wxAcceleratorTable now works with buttons too. | |
650 | ||
651 | wxMac: | |
652 | ||
653 | - Fixed cursor for wxBusyCursor and wxContextHelp. | |
654 | - Fixed wxListCtrl to respect items' non-default fonts. | |
655 | - wxListCtrl::SetColumnWidth() now supports wxLIST_AUTOSIZE. | |
656 | - Fixed handling of transparent background in borderless wxBitmapButton. | |
657 | ||
658 | ||
659 | 2.8.7 | |
660 | ----- | |
661 | ||
662 | All: | |
663 | ||
664 | - Fixed bug with default proxy destruction in wxURL (Axel Gembe). | |
665 | ||
666 | wxMSW: | |
667 | ||
668 | - Correct (harmless) warnings given for forward-declared DLL-exported classes | |
669 | by mingw32 4.2 (Tim Stahlhut). | |
670 | ||
671 | wxGTK: | |
672 | ||
673 | - Added gtk.window.force-background-colour wxSystemOptions option to work around | |
674 | a background colour bug in the gtk-qt theme under KDE. | |
675 | - Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports. | |
676 | ||
677 | ||
678 | 2.8.6 | |
679 | ----- | |
680 | ||
681 | All: | |
682 | ||
683 | - Fixed another bug in wxFileConfig when deleting entries (Axel Gembe) | |
684 | - Added Portuguese translation (Antonio Cardoso Martins) | |
685 | ||
686 | ||
687 | 2.8.5 | |
688 | ----- | |
689 | ||
690 | All (GUI): | |
691 | ||
692 | - Added colour normalization to PNM image handler (Ray Johnston) | |
693 | - Fixed selecting part of word from right to left in wxHTML (Michael Hieke) | |
694 | - Selecting text in wxHTML with character precision was made easier, it's | |
695 | enough to select half of a character (Michael Hieke) | |
696 | - Significantly improved startup times of XRC-based applications using | |
697 | embedded resources on Unix (requires resources recompilation) | |
698 | - Fixed freeing of "static" alpha data in wxImage (Axel Gembe) | |
699 | - Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is | |
700 | invalid, to conform to the documented behaviour (Langhammer) | |
701 | - Fixed wxXPMHandler::SaveFile for images with more than 92 colors. | |
702 | ||
703 | wxMSW: | |
704 | ||
705 | - Correct problem with page setup dialog when using landscape mode | |
706 | - Added msw.font.no-proof-quality system option, see manual for description | |
707 | - Fix appearance of notebook with non-top tabs under Windows Vista | |
708 | - Fixed bug with symbol resolving in wxStackWalker (Axel Gembe) | |
709 | - Fixed showing busy cursor for disabled windows and during wxExecute() | |
710 | - Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa) | |
711 | - Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady) | |
712 | ||
713 | wxGTK: | |
714 | ||
715 | - Setting foreground colour of single line wxTextCtrl now works | |
716 | - More work on setting defaults in GNOME print dialogs. | |
717 | - Also made landscape printing work as per wxMSW. | |
718 | - Add support for clipping in GNOME print backend. | |
719 | - Speed up wxBitmap::Rescale() | |
720 | - Add right button event for wxToolbar's tools (Tim Kosse) | |
721 | - Don't unconditionally add wxCAPTION style to wxMiniFrame | |
722 | - Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change | |
723 | - Fix WX_GL_STEREO attribute handling (Tristan Mehamli) | |
724 | - Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis) | |
725 | - Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse) | |
726 | ||
727 | ||
728 | 2.8.4 | |
729 | ----- | |
730 | ||
731 | All: | |
732 | ||
733 | - Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem) | |
734 | - Fix wxStringOutputStream::Write() in Unicode build when the argument | |
735 | overlaps UTF-8 characters boundary | |
736 | - Account for lines without newline at the end in wxExecute() | |
737 | ||
738 | All (Unix): | |
739 | ||
740 | - Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse) | |
741 | ||
742 | All (GUI): | |
743 | ||
744 | - Allow status bar children in XRC (Edmunt Pienkowski) | |
745 | - Fix memory leak in wxWizard when not using sizers for the page layout | |
746 | - Added wxListCtrl::SetItemPtrData() | |
747 | - wxHTML: Apply table background colour between the cells too (Michael Hieke) | |
748 | ||
749 | wxMSW: | |
750 | ||
751 | - Corrected wxStaticBox label appearance when its foreground colour was set: | |
752 | it didn't respect font size nor background colour then (Juan Antonio Ortega) | |
753 | - Don't lose combobox text when it's opened and closed (Kolya Kosenko) | |
754 | - Corrected GetChecked() for events from checkable menu items (smanders) | |
755 | - Fixed popup menus under Windows NT 4 | |
756 | - Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 | |
757 | - Support right-aligned/centered owner drawn items in wxListCtrl (troelsk) | |
758 | - Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 | |
759 | - Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko) | |
760 | ||
761 | wxGTK: | |
762 | ||
763 | - Fix infinite loop when adding a wxStaticText control to a toolbar | |
764 | - Fix wxNO_BORDER style for wxRadioBox (David Hart) | |
765 | - Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr) | |
766 | ||
767 | wxMac: | |
768 | ||
769 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord) | |
770 | ||
771 | wxUniv: | |
772 | ||
773 | - Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen) | |
774 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) | |
775 | - Fix setting background colour for controls with transparent background | |
776 | ||
777 | ||
778 | 2.8.3 | |
779 | ----- | |
780 | ||
781 | All: | |
782 | ||
783 | - Shut down the sockets gracefully (Sergio Aguayo) | |
784 | - Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal) | |
785 | ||
786 | wxMac: | |
787 | ||
788 | - Corrected top border size for wxStaticBox with empty label (nusi) | |
789 | ||
790 | wxMSW: | |
791 | ||
792 | - Fixed wxFileName::GetSize() for large files | |
793 | ||
794 | wxGTK: | |
795 | ||
796 | - Fixed handling of accelerators using PageUp/Down keys | |
797 | ||
798 | ||
799 | 2.8.2 | |
800 | ----- | |
801 | ||
802 | All: | |
803 | ||
804 | - Added wxSizerFlags::Shaped() and FixedMinSize() methods. | |
805 | - Added wxCSConv::IsOk() (Manuel Martin). | |
806 | - Added wxDateTime::GetDateOnly(). | |
807 | - Made wxTextFile work with unseekable files again (David Hart). | |
808 | - Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). | |
809 | - Added wxSearchCtrl::[Get|Set]DescriptiveText. | |
810 | - Fixed detection of number of processors under Linux 2.6 | |
811 | - Fixed Base64 computation in wxHTTP (p_michalczyk) | |
812 | - Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) | |
813 | ||
814 | Unix Ports: | |
815 | ||
816 | - Fixed crash in wxGetUserName() in Unicode build | |
817 | ||
818 | wxMSW | |
819 | ||
820 | - Fix lack of spin control update event when control lost focus. | |
821 | - Corrected drawing of bitmaps for disabled menu items. | |
822 | ||
823 | wxGTK | |
824 | ||
825 | - Fix hang on startup when using GTK+ options in Unicode build | |
826 | ||
827 | wxMac | |
828 | ||
829 | - Fix position of the centered windows (didn't take menu bar size into account) | |
830 | - Added support for the wxFRAME_FLOAT_ON_PARENT style. | |
831 | ||
832 | wxX11: | |
833 | ||
834 | - Don't crash in wxWindow dtor if the window hadn't been really Create()d. | |
835 | ||
836 | wxUniv: | |
837 | ||
838 | - Fixed wxComboBox always sorted. | |
839 | ||
840 | ||
841 | 2.8.1 | |
842 | ----- | |
843 | ||
844 | All: | |
845 | ||
846 | - Fix compilation with wxUSE_STL=1. | |
847 | - wxGrid::GetBestSize() returns same size the grid would have after AutoSize(). | |
848 | - Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi). | |
849 | - Several RTL-related positioning fixes (Diaa Sami). | |
850 | - Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart). | |
851 | - Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner). | |
852 | ||
853 | wxMSW: | |
854 | ||
855 | - Fixed compilation with Borland C++ in Unicode mode but without MSLU. | |
856 | - Show taskbar icon menu on right button release, not press. | |
857 | ||
858 | wxGTK: | |
859 | ||
860 | - Don't crash if command line is not valid UTF-8 (Unicode build only). | |
861 | ||
862 | wxUniv: | |
863 | ||
864 | - It is now possible to set background colour of wxStaticText. | |
865 | ||
866 | ||
867 | 2.8.0 | |
868 | ----- | |
869 | ||
870 | All: | |
871 | ||
872 | - Added wxSearchCtrl (Vince Harron). | |
873 | - wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32. | |
874 | - wxArrayString::Alloc() now works as reserve() and doesn't clear array contents. | |
875 | - Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto). | |
876 | - New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return | |
877 | a stream that is seekable. | |
878 | - Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows. | |
879 | - Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize(). | |
880 | for a control with borders (Tim Kosse). | |
881 | ||
882 | wxMSW: | |
883 | ||
884 | - Fixed version script problems when using configure with cygwin/mingw32. | |
885 | - Use system default paper size for printing instead of A4. | |
886 | - Fix (harmless) assert in virtual list control under Vista. | |
887 | - Fix colours when converting wxBitmap with alpha to wxImage (nusi). | |
888 | ||
889 | wxGTK: | |
890 | ||
891 | - Allow dynamically changing most of text control styles. | |
892 | - Enable use of libgnomeprintui by default in configure. | |
893 | ||
894 | ||
895 | 2.7.2 | |
896 | ----- | |
897 | ||
898 | All: | |
899 | ||
900 | - Added wxFFile overload to wxFileName::CreateTemporaryFileName(). | |
901 | - Added GetTempDir() to wxFileName and wxStandardPaths. | |
902 | - Added wxTar streams. | |
903 | - Added wxFilterFSHandler and wxArchiveFSHandler. | |
904 | - Added wxString::ToLongLong() and ToULongLong(). | |
905 | ||
906 | All (GUI): | |
907 | ||
908 | - wxMemoryDC constructor now optionally accepts a wxBitmap parameter, | |
909 | calling SelectObject itself if a valid bitmap is passed. | |
910 | - Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added | |
911 | wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory. | |
912 | - Renamed wxProgressDialog::UpdatePulse() to just Pulse(). | |
913 | - Added wxCollapsiblePane (Francesco Montorsi). | |
914 | - Added wxSimpleHtmlListBox (Francesco Montorsi). | |
915 | - Printing framework fixes by Robert J. Lang. Bugs fixed, | |
916 | wxPrinterDC::GetPaperRect() and other functions added to allow | |
917 | easier printing implementation, and the documentation updated. | |
918 | - Many enhancements to wxRichTextCtrl including URL support, | |
919 | formatting and symbol dialogs, print/preview, and better list | |
920 | formatting. | |
921 | - Support for loading TGA files added (Seth Jackson). | |
922 | - Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot). | |
923 | - wxHtmlWindow now generates events on link clicks (Francesco Montorsi). | |
924 | - wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event. | |
925 | ||
926 | Unix Ports: | |
927 | ||
928 | - Added autopackage for wxGTK and an example of using autopackage for a wx | |
929 | program (Francesco Montorsi). | |
930 | ||
931 | wxGTK: | |
932 | ||
933 | - More RTL work. | |
934 | - Support wxALWAYS_SHOW_SB. | |
935 | - Speed up MIME types loading. Only the GNOME database should be loaded under | |
936 | GNOME etc. For this, the code queries the X11 session protocol. | |
937 | - wxCaret redraw problem during scrolling fixed. | |
938 | ||
939 | ||
940 | 2.7.1 | |
941 | ----- | |
942 | ||
943 | All: | |
944 | ||
945 | - Added wxDir::FindFirst() (Francesco Montorsi). | |
946 | - Added wxPlatformInfo class (Francesco Montorsi). | |
947 | - Added wxLocale::IsAvailable() (Creighton). | |
948 | - Added Malay translations (Mahrazi Mohd Kamal). | |
949 | - Added reference counting for wxVariant. | |
950 | - For consistency, all classes having Ok() method now also have IsOk() one, use | |
951 | of the latter form is preferred although the former hasn't been deprecated yet. | |
952 | - Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi). | |
953 | - Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi). | |
954 | - Added wxSizer::Replace (Francesco Montorsi). | |
955 | - wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi). | |
956 | - Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide | |
957 | event-free alternatives to SetSelection() and SetValue() functions; see the | |
958 | "Events generated by the user vs programmatically generated events" paragraph | |
959 | in the "Event handling overview" topic for more info. | |
960 | ||
961 | All (GUI): | |
962 | ||
963 | - Support for right-to-left text layout (started by Diaa Sami during Google Summer of | |
964 | Code, with a lot of help from Tim Kosse and others). | |
965 | - wxAnimationCtrl added (Francesco Montorsi). | |
966 | - Added wxAboutBox() function for displaying the standard about dialog. | |
967 | - Added wxID_PAGE_SETUP standard id. | |
968 | - Added wxSize::IncBy() and DecBy() methods. | |
969 | - Added wxTextCtrl::IsEmpty(). | |
970 | - Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for | |
971 | consistency with wxRichTextCtrl. | |
972 | - wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API, | |
973 | fixed some attribute bugs and added wxRichTextStyleComboCtrl. | |
974 | - Added wxWindow::IsDoubleBuffered(). | |
975 | - Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi). | |
976 | - Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi). | |
977 | ||
978 | wxMSW: | |
979 | ||
980 | - Implemented wxComboBox::SetEditable(). | |
981 | - wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther) | |
982 | - Fixed a bug whereby static controls didn't use the correct text colour if the | |
983 | parent's background colour had been set (most noticeable when switching to a | |
984 | high-contrast theme). | |
985 | - Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky). | |
986 | ||
987 | wxMac: | |
988 | ||
989 | - Add parameter to the --enable-universal_binary configure option for the path | |
990 | to the SDK. | |
991 | ||
992 | wxGTK: | |
993 | ||
994 | - Automatically use stock items for menu items with standard ids. | |
995 | - Setting cursor now works for all controls. | |
996 | - Implemented right-to-left support. | |
997 | - Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse). | |
998 | - Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp). | |
999 | ||
1000 | wxUniv: | |
1001 | ||
1002 | - Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault(). | |
1003 | ||
1004 | ||
1005 | 2.7.0 | |
1006 | ----- | |
1007 | ||
1008 | All: | |
1009 | ||
1010 | - Added positional parameters support to wxVsnprintf() (Francesco Montorsi). | |
1011 | - wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now. | |
1012 | - Many fixes for UTF-16/32 handling in Unicode builds. | |
1013 | - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag. | |
1014 | - Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir() | |
1015 | - Added wxStandardPaths::GetDocumentsDir() (Ken Thomases). | |
1016 | - Added wxStringTokenizer::GetLastDelimiter(); improved documentation. | |
1017 | - Fixed wxTextFile in Unicode build. | |
1018 | - Added possibility to specify dependencies for a wxModule. | |
1019 | - Speed improvements to wxRegEx when matching is done in a loop such as | |
1020 | during a search and replace. | |
1021 | - Fix regerror and regfree name conficts when built-in regex and system regex | |
1022 | are both used in the same program. | |
1023 | - Basic authentication supported added to wxHTTP. | |
1024 | - wxCondition::WaitTimeout() now returns correct value when timeout occurs. | |
1025 | - Fixed occasional wxThread cleanup crash. | |
1026 | - Bug in wxLogStream::DoLogString in Unicode builds fixed. | |
1027 | - Added support for memo fields to wxODBC. | |
1028 | - Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__. | |
1029 | - wxFileName now also looks for TMPDIR on Unix. | |
1030 | - Fixed build error in list.h with VC++ 2005. | |
1031 | - Fixed wxODBC buffer overflow problem in Unicode builds. | |
1032 | - Fixed wxSocketBase::InterruptWait on wxBase. | |
1033 | - Important code cleanup (Paul Cornett). | |
1034 | - Added support for wxLongLong in wx stream classes (Mark Junker). | |
1035 | - wxSOCKET_REUSEADDR can be used with wxSocketClient. | |
1036 | - Overloaded Connect() and SetLocal() methods for binding to local address/port. | |
1037 | - Albanian translation added (Besnik Bleta). | |
1038 | - Assert messages now show the function in which assert failed. | |
1039 | - wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert(). | |
1040 | - Fixed several bugs in wxDateTime::ParseDate(). | |
1041 | - The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP | |
1042 | and WXK*PAGEDOWN. If you have switch statements that use both | |
1043 | constants from a set then you need to remove the PRIOR/NEXT | |
1044 | versions in order to eliminate compiler errors. | |
1045 | - Fixed bug where wxDateTime::Now() would sometimes return an incorrect value | |
1046 | the first time it was called. | |
1047 | - Added wxString::rbegin() and rend(). | |
1048 | - Added wxString::EndsWith(). | |
1049 | - wxSocket::_Read continues reading from socket after exhausting pushback buffer. | |
1050 | Previously, only the buffer would be returned, even if more data was requested. | |
1051 | - Added wxPowerEvent (currently MSW-only). | |
1052 | - Make wx-config compatible with Bourne shells. | |
1053 | - Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty). | |
1054 | - Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta). | |
1055 | - Fixed wxTimeSpan::Format() for negative time spans. | |
1056 | - Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi). | |
1057 | ||
1058 | All (GUI): | |
1059 | ||
1060 | - New AUI (Advanced User Interface) library for docking windows and much more. | |
1061 | - Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli). | |
1062 | - Added wxTreebook (uses a wxTreeCtrl to control pages). | |
1063 | - Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi). | |
1064 | - Added wxDC::GradientFillLinear/Concentric(). | |
1065 | - Added wxHyperlinkCtrl (Francesco Montorsi). | |
1066 | - Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE). | |
1067 | - Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios). | |
1068 | - Added wxRadioBox::SetItemToolTip(). | |
1069 | - Added support for CMYK JPEG images loading (Robert Wruck). | |
1070 | - Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj). | |
1071 | - Added wxKeyEvent::GetModifiers(). | |
1072 | - Added wxDialog::SetEscapeId(). | |
1073 | - wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox, | |
1074 | wxComboBox and wxChoice). | |
1075 | - wxWindow::Fit() now works correctly for frames and dialogs too. | |
1076 | - Added access to the border size between pages and controller in book | |
1077 | based controls (wxBookCtrlBase::Get/SetInternalBorder). | |
1078 | - Added initial wxRichTextCtrl implementation. | |
1079 | - All book based controls (notebook, treebook etc.) share now the same | |
1080 | options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated | |
1081 | wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP. | |
1082 | - Added parent window parameter to wxHelpController constructor | |
1083 | and added SetParentWindow/GetParentWindow. | |
1084 | - wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not. | |
1085 | - Added wxBitmapButton::SetHoverBitmap(). | |
1086 | - Access to titles through Get/SetTitle is available now only for top level | |
1087 | windows (wxDialog, wxFrame). | |
1088 | - Fixed memory leak of pending events in wxEvtHandler. | |
1089 | - Added wxRadioBox::IsItemEnabled/Shown(). | |
1090 | - Added space after list item number in wxHTML. | |
1091 | - Implemented <sub> and <sup> handling in wxHTML (based on patch | |
1092 | by Sandro Sigala). | |
1093 | - Added caption parameter to wxGetFontFromUser and wxGetColourFromUser. | |
1094 | - Added wxGetMouseState function. | |
1095 | - Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes, | |
1096 | allowing HTML help to be embedded in an application. | |
1097 | - wxCalendarCtrl positioning and hit-testing fixes for dimensions other than | |
1098 | best size. | |
1099 | - wxCalendarCtrl colour schema changed and adjusted to system settings. | |
1100 | - wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose). | |
1101 | - More checking of image validity before loading into wxImage. | |
1102 | - Added wxImage::ConvertToGreyscale. | |
1103 | - Added ability to use templates with static event tables | |
1104 | with BEGIN_EVENT_TABLE_TEMPLATEn() macros. | |
1105 | - Added play, pause, and state change events to wxMediaCtrl. | |
1106 | - Added double-buffering to wxVListBox and fixed a scrolling issue. | |
1107 | - Added wxToolbook (uses a wxToolBar to control pages). | |
1108 | - Added SetSheetStyle to wxPropertySheetDialog and allowed it to | |
1109 | behave like a Mac OS X settings dialog. | |
1110 | - Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself. | |
1111 | - Fixed centering of top level windows on secondary displays. | |
1112 | - Implemented wxDisplay::GetFromWindow() for platforms other than MSW. | |
1113 | - UpdateUI handler can now show/hide the window too (Ronald Weiss). | |
1114 | - More than one filter allowed in in wxDocTemplate filter. | |
1115 | - Added wxListBox::HitTest(). | |
1116 | - Added wxDisplay::GetClientArea(). | |
1117 | - Indices and counts in wxControlWithItems derived API are unsigned. | |
1118 | - Added support for links to wxHtmlListBox; use code has to override | |
1119 | wxHtmlListBox::OnLinkClicked() to take advantage of it. | |
1120 | - Added an easier to use wxMenu::AppendSubMenu(). | |
1121 | - wxString <-> wxColour conversions in wxColour class (Francesco Montorsi). | |
1122 | - Fixed bug with ignoring blank lines in multiline wxGrid cell labels. | |
1123 | - Added wxTextAttr::Merge() (Marcin Simonides). | |
1124 | - Added wxTB_NO_TOOLTIPS style (Igor Korot). | |
1125 | - Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz). | |
1126 | - Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz) | |
1127 | - Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix. | |
1128 | - Made it possible to associate context help to a region of a window. | |
1129 | - Added support for tabs in wxRichTextCtrl (Ashish More). | |
1130 | - Fixed problem with zoom setting in print preview. | |
1131 | - Moved wxRichTextCtrl from the advanced library to its own. | |
1132 | - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls. | |
1133 | - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with | |
1134 | implementations (so far) for wxMSW and wxMac. | |
1135 |