]>
Commit | Line | Data |
---|---|---|
70cf18ef VZ |
1 | ------------------------------------------------------------------------------- |
2 | wxWidgets Change Log | |
3 | ------------------------------------------------------------------------------- | |
d643b80e | 4 | |
5ec9d741 | 5 | INCOMPATIBLE CHANGES SINCE 2.8.x |
aae53500 VZ |
6 | ================================ |
7 | ||
500b128d VZ |
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 | ||
e6d4038a VZ |
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 | |
3dac8f8a VS |
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 | |
e0e7a341 VS |
25 | strings are always ANSI; may still be NULL). This change is normally |
26 | backwards compatible except: | |
4baf7800 VZ |
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 | |
0d5ab92f VZ |
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). | |
e6d4038a | 41 | |
50c549b9 VZ |
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. | |
f01a77c7 VZ |
47 | Also notice that connection classes should change the parameter types of |
48 | their overridden OnExecute() or override a more convenient OnExec() instead. | |
e6d4038a VZ |
49 | |
50 | ||
6f67af05 FM |
51 | wxODBC and contrib libraries removal |
52 | ------------------------------------ | |
1e6b2edf VZ |
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 | ||
6f67af05 FM |
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 | ||
1e6b2edf | 67 | |
b1f3b29c VZ |
68 | Changes in behaviour not resulting in compilation errors, please read this! |
69 | --------------------------------------------------------------------------- | |
70 | ||
466e87bd VZ |
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 | ||
47a8a4d5 VZ |
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 | ||
5644933f VZ |
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 | ||
89064717 VZ |
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 | ||
17808a75 VZ |
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 | ||
628e155d VZ |
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 | ||
9c8116f8 VZ |
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 | ||
17808a75 | 102 | |
b1f3b29c VZ |
103 | Changes in behaviour which may result in compilation errors |
104 | ----------------------------------------------------------- | |
105 | ||
c1dc9f83 VZ |
106 | - WXWIN_COMPATIBILITY_2_4 doesn't exist any more, please update your code if |
107 | you still relied on features deprecated since version 2.4 | |
108 | ||
ddc0ac4a VZ |
109 | - wxDC classes hierarchy has changed, if you derived any classes from wxDC you |
110 | need to review them as wxDC doesn't have any virtual methods any longer and | |
111 | uses delegation instead of inheritance to present different behaviours. | |
112 | ||
c9f78968 VS |
113 | - Return type of wxString::operator[] and wxString::iterator::operator* is no |
114 | longer wxChar (i.e. char or wchar_t), but wxUniChar. This is not a problem | |
115 | in vast majority of cases because of conversion operators, but it can break | |
116 | code that depends on the result being wxChar. | |
117 | ||
ef0f1387 VS |
118 | - The value returned by wxString::c_str() cannot be casted to non-const char* |
119 | or wchar_t* anymore. The solution is to use newly added wxString methods | |
120 | char_str() (which returns a buffer convertible to char*) or wchar_str() | |
121 | (which returns a buffer convertible to wchar_t*). These methods are | |
122 | available in wxWidgets 2.8 series beginning with 2.8.4 as well. | |
123 | ||
c9f78968 VS |
124 | - The value returned by wxString::operator[] or wxString::iterator cannot be |
125 | used in switch statements anymore, because it's a class instance. Code like | |
126 | this won't compile: | |
127 | switch (str[i]) { ... } | |
128 | and has to be replaced with this: | |
129 | switch (str[i].GetValue()) { ... } | |
130 | ||
73ba5ab9 VZ |
131 | - Return type of wxString::c_str() is now a helper wxCStrData struct and not |
132 | const wxChar*. wxCStrData is implicitly convertible to both "const char *" | |
133 | and "const wchar_t *", so this only presents a problem if the compiler cannot | |
134 | apply the conversion. This can happen in 2 cases: | |
135 | ||
136 | + There is an ambiguity because the function being called is overloaded to | |
137 | take both "const char *" and "const wchar_t *" as the compiler can't choose | |
138 | between them. In this case you may use s.wx_str() to call the function | |
139 | matching the current build (Unicode or not) or s.mb_str() or s.wc_str() to | |
140 | explicitly select narrow or wide version of it. | |
141 | ||
142 | Notice that such functions are normally not very common but unfortunately | |
143 | Microsoft decided to extend their STL with standard-incompatible overloads | |
144 | of some functions accepting "const wchar_t *" so you may need to replace | |
145 | some occurrences of c_str() with wx_str() when using MSVC 8 or later. | |
146 | ||
147 | + Some compilers, notably Borland C++ and DigitalMars, don't correctly | |
148 | convert operator?: operands to the same type and fail with compilation | |
149 | error instead. This can be worked around by explicitly casting to const | |
150 | wxChar*: wxLogError(_("error: %s"), !err.empty() ? (const wxChar*)err.c_str() : "") | |
c9f78968 | 151 | |
52de37c7 | 152 | - wxCtime() and wxAsctime() return char*; this is incompatible with Unicode |
5bce3e6f | 153 | build in wxWidgets 2.8 that returned wchar_t*. |
52de37c7 | 154 | |
c9f78968 VS |
155 | - DigitalMars compiler has a bug that prevents it from using |
156 | wxUniChar::operator bool in conditions and it erroneously reports type | |
157 | conversion ambiguity in expressions such as this: | |
158 | for ( wxString::const_iterator p = s.begin(); *p; ++p ) | |
159 | This can be worked around by explicitly casting to bool: | |
160 | for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p ) | |
161 | ||
d03dab2a | 162 | - Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now. |
5bce3e6f | 163 | |
73ba5ab9 | 164 | - Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8 |
d38f70b2 | 165 | are deprecated and passing NULL to them won't compile anymore, wxEmptyString |
ab29bb87 | 166 | must be used instead. |
d38f70b2 | 167 | |
de34bb08 VZ |
168 | - wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx() |
169 | with void pointers. | |
170 | ||
d03dab2a VS |
171 | - Removed insecure wxGets() and wxTmpnam() functions. |
172 | ||
6a4cbac1 VS |
173 | - Removed global GetLine() function from wx/protocol/protocol.h, use |
174 | wxProtocol::ReadLine() instead. | |
17808a75 | 175 | |
c8058a09 JS |
176 | - wxVariant no longer derives from wxObject. wxVariantData also no longer |
177 | derives from wxObject; instead of using wxDynamicCast with wxVariantData you | |
178 | can use the macro wxDynamicCastVariantData with the same arguments. | |
6a4cbac1 | 179 | |
08f1c27c VZ |
180 | - wxWindow::Next/PrevControlId() don't exist any more as they can't be |
181 | implemented correctly any longer because automatically generated ids are not | |
182 | necessarily allocated consecutively any more. Use GetChildren() to find the | |
183 | next/previous control sibling instead. | |
184 | ||
500b128d VZ |
185 | - Calling wxConfig::Write() with an enum value will fail to compile because |
186 | wxConfig now tries to convert all unknown types to wxString automatically. | |
187 | The simplest solution is to cast the enum value to int. | |
d03dab2a | 188 | |
5ec9d741 VZ |
189 | Deprecated methods and their replacements |
190 | ----------------------------------------- | |
191 | ||
13dd765c | 192 | - wxCreateGreyedImage() deprecated, use wxImage::ConvertToGreyscale() instead. |
7890307b VS |
193 | - wxString::GetWriteBuf() and UngetWriteBuf() deprecated, using wxStringBuffer |
194 | or wxStringBufferLength instead. | |
d0bc78e2 VZ |
195 | - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if |
196 | specified so this style should simply be removed | |
724b119a VZ |
197 | - wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and |
198 | wxDocument::GetPrintableName() with GetUserReadableName() which are simpler | |
199 | to use | |
288b6107 VS |
200 | - wxXmlProperty class was renamed to wxXmlAttribute in order to use standard |
201 | terminology. Corresponding wxXmlNode methods were renamed to use | |
202 | "Attribute" instead of "Property" or "Prop" in their names. | |
022a8a5a VZ |
203 | - wxConnection::OnExecute() is not formally deprecated yet but new code should |
204 | use simpler OnExec() version which is called with wxString argument | |
89c95a7b FM |
205 | - wxMenuItem::GetLabel has been deprecated in favour of wxMenuItem::GetItemLabelText |
206 | - wxMenuItem::GetText has been deprecated in favour of wxMenuItem::GetItemLabel | |
41ae85f8 | 207 | - wxMenuItem::GetLabelFromText has been deprecated in favour of wxMenuItem::GetLabelText |
89c95a7b | 208 | - wxMenuItem::SetText has been deprecated in favour of wxMenuItem::SetItemLabel |
82cddbd9 FM |
209 | - wxBrush's, wxPen's SetStyle() and GetStyle() as well as the wxBrush/wxPen ctor now take |
210 | respectively a wxBrushStyle and a wxPenStyle value instead of a plain "int style"; | |
211 | use the new wxBrush/wxPen style names (wxBRUSHSTYLE_XXX and wxPENSTYLE_XXX) instead | |
212 | of the old deprecated wxXXX styles (which however are still available). | |
628e155d VZ |
213 | - EVT_CALENDAR_DAY event has been deprecated, use EVT_CALENDAR_SEL_CHANGED. |
214 | - EVT_CALENDAR_MONTH and EVT_CALENDAR_YEAR events are deprecated, | |
215 | use EVT_CALENDAR_PAGE_CHANGED which replaces both of them. | |
216 | - wxCalendarCtrl::EnableYearChange() and wxCAL_NO_YEAR_CHANGE are deprecated. | |
217 | ||
9ac43913 | 218 | |
41ae85f8 | 219 | |
5ec9d741 VZ |
220 | Major new features in this release |
221 | ---------------------------------- | |
222 | ||
9135f74e VZ |
223 | - wxWidgets is now always built with Unicode support but provides the same |
224 | simple (i.e. "char *"-tolerant) API as was available in ANSI build in the | |
225 | past. | |
226 | ||
227 | - wxWidgets may now use either wchar_t (UTF-16/32) or UTF-8 internally, | |
228 | depending on what is optimal for the target platform. | |
229 | ||
2804f77d | 230 | - Events loops, timers and sockets can now be used in wxBase, without GUI. |
9135f74e | 231 | |
12dc0a01 | 232 | |
ccee328e VZ |
233 | 2.9.0 |
234 | ----- | |
235 | ||
ac6e0eb1 VZ |
236 | All: |
237 | ||
8575ff50 | 238 | - Added (experimental) IPv6 support to wxSocket (Arcen) |
9243700f | 239 | - Add support for wxExecute(wxEXEC_ASYNC) in wxBase (Lukasz Michalski) |
8ffc2f06 | 240 | - Added wxXLocale class and xlocale-like functions using it |
c0030ca7 | 241 | - Allow loading message catalogs from wxFileSystem (Axel Gembe) |
6aaee6af | 242 | - Added wxMessageQueue class for inter-thread communications |
50c549b9 | 243 | - Use UTF-8 for Unicode data in wxIPC classes (Anders Larsen) |
3cc305b2 | 244 | - Added support for user-defined types to wxConfig (Marcin Wojdyr). |
b1859b1a | 245 | - Added numeric options support to wxCmdLineParser (crjjrc) |
3cc305b2 | 246 | - Added wxJoin() and wxSplit() functions (Francesco Montorsi). |
f3f2e255 | 247 | - Added wxDateTime::FormatISOCombined() and ParseISODate/Time/Combined() |
3cc305b2 JS |
248 | - Added wxMutex::LockTimeout() (Aleksandr Napylov). |
249 | - Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev). | |
250 | - Implemented wxMemoryInputStream::CanRead(). | |
251 | - Added wxEXEC_BLOCK flag (Hank Schultz). | |
252 | - Add support for wxStream-derived classes to wxRTTI (Stas Sergeev). | |
253 | - Added wxStreamBuffer::Truncate() (Stas Sergeev). | |
985acf87 | 254 | - Allow using wxEventLoop in console applications (Lukasz Michalski). |
3cc305b2 JS |
255 | - Added functions for Base64 en/decoding (Charles Reimers). |
256 | - Added support for binary data to wxConfig (Charles Reimers). | |
257 | - Added functions for atomically inc/decrementing integers (Armel Asselin). | |
30519b02 | 258 | - wxLogInterposer has been added to replace wxLogPassThrough and new |
3cc305b2 JS |
259 | wxLogInterposerTemp was added. |
260 | - Added support for broadcasting to UDP sockets (Andrew Vincent). | |
261 | - Documentation now includes the wx library in which each class is defined. | |
21b2dde5 VS |
262 | - wxrc --gettext now generates references to source .xrc files (Heikki |
263 | Linnakangas). | |
c8058a09 JS |
264 | - wxVariant::Unshare allows exclusive allocation of data that must be shared, |
265 | if the wxVariantData::Clone function is implemented. | |
69d0fe83 RR |
266 | - Added wxWeakRef<T>, wxScopedPtr<T>, wxSharedPtr<T> class templates |
267 | - Added wxVector<T> class templates | |
d2a48d5c | 268 | - Added wxON_BLOCK_EXIT_SET() and wxON_BLOCK_EXIT_NULL() to wx/scopeguard.h. |
c3f94162 VZ |
269 | - Added wxEvtHandler::QueueEvent() replacing AddPendingEvent() and |
270 | wxQueueEvent() replacing wxPostEvent(). | |
4f29051b VZ |
271 | - wxString now uses std::[w]string internally by default, meaning that it is |
272 | now thread-safe if the standard library provided with your compiler is. | |
3e50a139 | 273 | - Added wxCmdLineParser::AddUsageText() (Marcin 'Malcom' Malich). |
abbb59e8 | 274 | |
bd630206 VZ |
275 | All (Unix): |
276 | ||
3cc305b2 | 277 | - Added wx-config --optional-libs command line option (John Labenski). |
bd630206 | 278 | |
abbb59e8 VZ |
279 | All (GUI): |
280 | ||
69d0fe83 | 281 | - Added wxDataViewCtrl class and helper classes |
51317496 | 282 | - Provide native implementation of wxCalendarCtrl under wxMSW and wxGTK |
59396417 | 283 | - Added {wxTextCtrl,wxComboBox}::AutoComplete() and AutoCompleteFileNames() |
3cc305b2 | 284 | - Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty). |
e36a1739 | 285 | - Added wxNotificationMessage class for non-intrusive notifications |
376d7d97 | 286 | - Added wxWindow::Show/HideWithEffect() |
dfba244c | 287 | - Added wxWrapSizer (Arne Steinarson) |
8cd6a9ad | 288 | - Added wxSpinCtrlDouble (John Labenski) |
dfba244c | 289 | - Added wxNativeContainerWindow to allow embedding wx into native windows |
8ce68f7f | 290 | - Added custom controls support to wxFileDialog (Diaa Sami and Marcin Wojdyr) |
3cc305b2 JS |
291 | - Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron). |
292 | - Added support for drop down toolbar buttons (Tim Kosse). | |
293 | - Added support for labels for toolbar controls (Vince Harron). | |
294 | - Added wxMessageDialog::SetMessage() and SetExtendedMessage(). | |
67d3fc49 | 295 | - Added wxListCtrl::Set/GetColumnsOrder() (Yury Voronov) |
c1142003 | 296 | - Added wxWindow::AlwaysShowScrollbars() (Julian Scheid) |
8866abbb | 297 | - Added wxMouseEvent::GetClickCount() (Julian Scheid) |
4488a1d3 | 298 | - Added wxBG_STYLE_TRANSPARENT background style (Julian Scheid) |
86909f4c | 299 | - Added XRCSIZERITEM() macro for obtaining sizers from XRC (Brian Vanderburg II) |
0cf3e587 VZ |
300 | - New and improved wxFileCtrl (Diaa Sami and Marcin Wojdyr) |
301 | - Added wxEventBlocker class (Francesco Montorsi). | |
302 | - Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi). | |
13dd765c JS |
303 | - Added wxSizerFlags::Top() and Bottom(). |
304 | - Slovak translation added. | |
305 | - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl. | |
306 | - Implemented background colour in wxRichTextCtrl. | |
307 | - Fixed crashes in helpview when opening a file. | |
3cc305b2 JS |
308 | - Set locale to the default in all ports, not just wxGTK. |
309 | - Added wxJoystick::GetButtonState/Position() (Frank C Szczerba). | |
310 | - Added wxGridUpdateLocker helper class (Evgeniy Tarassov). | |
311 | - Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov). | |
312 | - Added wxWindow::NavigateIn() in addition to existing Navigate(). | |
313 | - Add support for <data> tags to wxrc. | |
314 | - Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr). | |
315 | - Show standard options in wxCmdLineParser usage message (Francesco Montorsi). | |
316 | - Added wxRect::operator+ (union) and * (intersection) (bdonner). | |
317 | - Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland). | |
44cc96a8 JS |
318 | - Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper). |
319 | - Added wxTaskBarIcon::Destroy(). | |
320 | - Added XRC handler for wxSearchCtrl (Sander Berents). | |
321 | - Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto). | |
322 | - Add support for reading alpha data from TIFF images. | |
323 | - Added wxSYS_DCLICK_TIME system metric constant (Arne Steinarson). | |
324 | - Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II). | |
325 | - Added wxWindow::GetPopupMenuSelectionFromUser() (Arne Steinarson). | |
f73eddd2 | 326 | - Implemented wxTreeCtrl::GetPrevVisible() in the generic version and made the |
44cc96a8 JS |
327 | behaviour of GetNextSibling() consistent between wxMSW and generic versions. |
328 | - Merged wxRichTextAttr and wxTextAttrEx into wxTextAttr, and added a font table | |
329 | to wxRichTextBuffer to reduce wxFont consumption and increase performance. | |
a7c01bb1 VS |
330 | - Optimize wxGenericTreeCtrl::Collapse/ExpandAllChildren() |
331 | (Szczepan Holyszewski). | |
b86c4f96 | 332 | - Added <scrollrate> parameter to wxScrolledWindow XRC handler. |
a7c01bb1 VS |
333 | - Added support for automatic dialog scrolling, via the new |
334 | wxDialogLayoutAdapter class and various new wxDialog functions. See the | |
335 | topic "Automatic Scrolling Dialogs" in the manual for further details. | |
3aa8e4ea JS |
336 | - Added support for resizing wxWizard bitmaps to the current page height, |
337 | via SetBitmapPlacement, SetBitmapBackgroundColour and SetMinimumBitmapWidth. | |
338 | Also made it easier to derive from wxWizard and override behaviour. | |
711b238d | 339 | - Made wxSizer::Fit() set the client size of the target window |
22de6a40 | 340 | - Add support for wxDatePickerCtrl in wxGenericValidator (Herry Ayen Yang) |
3358af0f | 341 | - Added wxWindow::HasFocus(). |
c50c6fb2 VZ |
342 | - Added wxGLCanvas::IsDisplaySupported(). |
343 | - Added wxApp::SetNativeTheme() (Stefan H.). | |
a7c01bb1 VS |
344 | - Made wxSpinCtrl::Reparent() in MSW and generic versions (Angelo Mottola). |
345 | - Freeze() and Thaw() now recursively freeze/thaw the children too. | |
16361ec9 VS |
346 | - Generalized wxScrolledWindow into wxScrolled<T> template that can derive |
347 | from any window class, not just wxPanel. | |
fa7134b0 | 348 | - Allow having menu separators with ids != wxID_SEPARATOR (Jeff Tupper) |
fd11f777 | 349 | - Fix appending items to sorted wxComboCtrl after creation (Jaakko Salli) |
2d63583f | 350 | - Don't blit area larger than necessary in wxBufferedDC::UnMask (Liang Jian) |
3e50a139 | 351 | - Fixed wxPixelData<wxImage> compilation (Leonardo Fernandes). |
ccee328e | 352 | |
ac6e0eb1 VZ |
353 | wxGTK: |
354 | ||
3cc305b2 JS |
355 | - Support for markup and ellipsization in wxStaticText (Francesco Montorsi). |
356 | - Native implementation for wxHyperlinkCtrl (Francesco Montorsi). | |
357 | - Native keyboard navigation implementation. | |
358 | - Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov). | |
359 | - Don't overwrite primary selection with clipboard and vice versa. | |
13dd765c JS |
360 | - Implemented support for underlined fonts in wxStaticText. |
361 | - wxTopLevelWindow::SetSizeHints size increments now work. | |
362 | - wxTopLevelWindow::GetSize() returns the size including the WM decorations. | |
363 | - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized. | |
364 | - Added support for colour cursors (Pascal Monasse). | |
3cc305b2 JS |
365 | - Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff). |
366 | - Added gtk.tlw.can-set-transparency system option. | |
69d0fe83 | 367 | - Added support for GTK+ print backend |
ac6e0eb1 | 368 | |
4dd25308 VZ |
369 | wxMac: |
370 | ||
3cc305b2 JS |
371 | - Better IconRef support (Alan Shouls). |
372 | - Added support for changing button labels in wxMessageDialog (Gareth Simpson). | |
373 | - Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs). | |
374 | - Allow accelerators to be used with buttons too (Ryan Wilcox). | |
375 | - Support resource forks in wxCopyFile() (Hank Schultz). | |
dff6cf57 | 376 | - Implement wxLocale::GetInfo() using CFLocale |
69d0fe83 | 377 | - Added native wxCollapsiblePane |
4dd25308 | 378 | |
e570a44b VZ |
379 | wxMSW: |
380 | ||
13dd765c JS |
381 | - Fixed infinite loop in wxThread::Wait() in console applications. |
382 | - Return the restored window size from GetSize() when window is minimized. | |
3cc305b2 | 383 | - wxCheckListBox now looks more native, especially under XP (Marcin Malich). |
1032aee2 | 384 | - Allow tooltips longer than 64 (up to 128) characters in wxTaskBarIcon |
1d89da8a VZ |
385 | - Fix centering wxFileDialog and allow positioning it |
386 | - Allow centering wxMessageDialog on its parent window (troelsk) | |
2c66581e | 387 | - Show resize gripper on resizeable dialogs (Kolya Kosenko) |
3bbd9580 | 388 | - Implement support for display enumeration under WinCE (Vince Harron) |
006ecb22 | 389 | - Use different Win32 class names in different wx instances (Thomas Hauk) |
ac6e0eb1 | 390 | |
2cdb6fdb VZ |
391 | wxX11: |
392 | ||
3cc305b2 JS |
393 | - Added mouse wheel support (David Hart). |
394 | - Make Enter key activate the default button (David Hart). | |
2cdb6fdb | 395 | |
12dc0a01 | 396 | |
c944775f VZ |
397 | 2.8.8 |
398 | ----- | |
399 | ||
804eeca5 VZ |
400 | All: |
401 | ||
402 | - Fixed bug with parsing some dates in wxDateTime (Bob Pesner) | |
1cf57808 | 403 | - Fixed bug with parsing negative time zones in wxDateTime::ParseRfc822Date() |
804eeca5 | 404 | |
c944775f VZ |
405 | All (GUI): |
406 | ||
407 | - Added wxWindow::GetNextSibling() and GetPrevSibling() | |
c7a284c7 | 408 | - Improve wximage::ResampleBox() (Mihai Ciocarlie) |
66a9201d | 409 | - Implemented ScrollList() in generic wxListCtrl (Tim Kosse) |
00f7f5a7 VZ |
410 | - Fixed wxXmlResource::GetText() to convert data to current locale's |
411 | charset in ANSI build. | |
c944775f | 412 | |
cab9b205 VZ |
413 | wxMSW: |
414 | ||
415 | - Fix rare bug with messages delivered to wrong wxSocket (Tim Kosse) | |
b9e66233 | 416 | - Fix setting icons when they have non-default (16*16 and 32*32) sizes |
00f7f5a7 VZ |
417 | - Fixed wxLocale::GetInfo to use the C locale. |
418 | - Don't enable disabled windows when showing them (Harry McKame). | |
67c5dabb | 419 | - Fix assert when using owner-drawn menu items with the newest (Vista) SDK |
cab9b205 | 420 | |
4b8af4ac VZ |
421 | wxGTK: |
422 | ||
423 | - Return false from wxEventLoop::Dispatch() if gtk_main_quit() was called and | |
424 | so the loop should exit (Rodolfo Schulz de Lima) | |
425 | ||
c944775f | 426 | |
7921a093 VZ |
427 | 2.8.7 |
428 | ----- | |
429 | ||
ba1a5962 VZ |
430 | All: |
431 | ||
58b33f50 | 432 | - Fixed bug with default proxy destruction in wxURL (Axel Gembe). |
ba1a5962 | 433 | |
7921a093 VZ |
434 | wxMSW: |
435 | ||
436 | - Correct (harmless) warnings given for forward-declared DLL-exported classes | |
58b33f50 | 437 | by mingw32 4.2 (Tim Stahlhut). |
7921a093 VZ |
438 | |
439 | wxGTK: | |
440 | ||
441 | - Added gtk.window.force-background-colour wxSystemOptions option to work around | |
442 | a background colour bug in the gtk-qt theme under KDE. | |
58b33f50 | 443 | - Implemented wxGetClientDisplayRect() correctly for wxGTK and X11-based ports. |
7921a093 VZ |
444 | |
445 | ||
e86882e3 VZ |
446 | 2.8.6 |
447 | ----- | |
448 | ||
449 | All: | |
450 | ||
451 | - Fixed another bug in wxFileConfig when deleting entries (Axel Gembe) | |
3ee6201f VZ |
452 | - Added Portuguese translation (Antonio Cardoso Martins) |
453 | ||
e86882e3 | 454 | |
66160760 VZ |
455 | 2.8.5 |
456 | ----- | |
457 | ||
57beadd2 VZ |
458 | All (GUI): |
459 | ||
c253e005 | 460 | - Added colour normalization to PNM image handler (Ray Johnston) |
ba0f12ef VZ |
461 | - Fixed selecting part of word from right to left in wxHTML (Michael Hieke) |
462 | - Selecting text in wxHTML with character precision was made easier, it's | |
463 | enough to select half of a character (Michael Hieke) | |
464 | - Significantly improved startup times of XRC-based applications using | |
465 | embedded resources on Unix (requires resources recompilation) | |
eb86e775 | 466 | - Fixed freeing of "static" alpha data in wxImage (Axel Gembe) |
ab29bb87 VZ |
467 | - Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is |
468 | invalid, to conform to the documented behaviour (Langhammer) | |
0200fb27 | 469 | - Fixed wxXPMHandler::SaveFile for images with more than 92 colors. |
57beadd2 | 470 | |
66160760 VZ |
471 | wxMSW: |
472 | ||
94dd2287 | 473 | - Correct problem with page setup dialog when using landscape mode |
66160760 | 474 | - Added msw.font.no-proof-quality system option, see manual for description |
b013c971 | 475 | - Fix appearance of notebook with non-top tabs under Windows Vista |
d4762753 | 476 | - Fixed bug with symbol resolving in wxStackWalker (Axel Gembe) |
46753a7c | 477 | - Fixed showing busy cursor for disabled windows and during wxExecute() |
c70557da | 478 | - Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa) |
48271822 | 479 | - Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady) |
66160760 | 480 | |
94dd2287 VZ |
481 | wxGTK: |
482 | ||
d6a41cc7 | 483 | - Setting foreground colour of single line wxTextCtrl now works |
94dd2287 VZ |
484 | - More work on setting defaults in GNOME print dialogs. |
485 | - Also made landscape printing work as per wxMSW. | |
486 | - Add support for clipping in GNOME print backend. | |
487 | - Speed up wxBitmap::Rescale() | |
488 | - Add right button event for wxToolbar's tools (Tim Kosse) | |
1c871fe2 | 489 | - Don't unconditionally add wxCAPTION style to wxMiniFrame |
0a904ed2 | 490 | - Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change |
85866f52 | 491 | - Fix WX_GL_STEREO attribute handling (Tristan Mehamli) |
a07bf2d0 | 492 | - Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis) |
5f77ee3b | 493 | - Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse) |
94dd2287 VZ |
494 | |
495 | ||
b40bf35c VZ |
496 | 2.8.4 |
497 | ----- | |
498 | ||
defde6bc VZ |
499 | All: |
500 | ||
501 | - Fix bug in wxFileConfig when recreating a group (Steven Van Ingelgem) | |
2c17722e VZ |
502 | - Fix wxStringOutputStream::Write() in Unicode build when the argument |
503 | overlaps UTF-8 characters boundary | |
8bdc8a9c | 504 | - Account for lines without newline at the end in wxExecute() |
defde6bc | 505 | |
f4854380 VZ |
506 | All (Unix): |
507 | ||
508 | - Handle socket shutdown by the peer correctly in wxSocket (Tim Kosse) | |
defde6bc VZ |
509 | |
510 | All (GUI): | |
511 | ||
512 | - Allow status bar children in XRC (Edmunt Pienkowski) | |
781130bf | 513 | - Fix memory leak in wxWizard when not using sizers for the page layout |
9fcd0bf7 | 514 | - Added wxListCtrl::SetItemPtrData() |
884898a7 | 515 | - wxHTML: Apply table background colour between the cells too (Michael Hieke) |
f4854380 | 516 | |
b40bf35c VZ |
517 | wxMSW: |
518 | ||
519 | - Corrected wxStaticBox label appearance when its foreground colour was set: | |
520 | it didn't respect font size nor background colour then (Juan Antonio Ortega) | |
8145496b VZ |
521 | - Don't lose combobox text when it's opened and closed (Kolya Kosenko) |
522 | - Corrected GetChecked() for events from checkable menu items (smanders) | |
b40bf35c | 523 | - Fixed popup menus under Windows NT 4 |
61053de4 | 524 | - Fixed bug in wxThread::Wait() in console applications introduced in 2.8.3 |
223b7504 | 525 | - Support right-aligned/centered owner drawn items in wxListCtrl (troelsk) |
61053de4 | 526 | - Compilation fixed with WXWIN_COMPATIBILITY_2_6==0 |
721d1838 | 527 | - Fix wxComboCtrl colours under Windows Vista (Kolya Kosenko) |
b40bf35c | 528 | |
378b042b VZ |
529 | wxGTK: |
530 | ||
61053de4 | 531 | - Fix infinite loop when adding a wxStaticText control to a toolbar |
378b042b | 532 | - Fix wxNO_BORDER style for wxRadioBox (David Hart) |
5440a04f | 533 | - Fix wxTextCtrl::GetLineText() for empty lines (Marcin Wojdyr) |
378b042b | 534 | |
4ff9366d VZ |
535 | wxMac: |
536 | ||
537 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) (Adrian Secord) | |
538 | ||
b5a3a81b VZ |
539 | wxUniv: |
540 | ||
541 | - Fix wxTextCtrl::SetSelection(-1, -1) to behave as documented (Anders Larsen) | |
75a788ee | 542 | - Fix wxComboBox::SetSelection(wxNOT_FOUND) |
3b6c95eb | 543 | - Fix setting background colour for controls with transparent background |
b5a3a81b | 544 | |
b40bf35c | 545 | |
6fa2dd0e VZ |
546 | 2.8.3 |
547 | ----- | |
548 | ||
cd632a86 VZ |
549 | All: |
550 | ||
551 | - Shut down the sockets gracefully (Sergio Aguayo) | |
9076e56d | 552 | - Fix extra indentation in wxHTML_ALIGN_JUSTIFY display (Chacal) |
cd632a86 VZ |
553 | |
554 | wxMac: | |
6fa2dd0e VZ |
555 | |
556 | - Corrected top border size for wxStaticBox with empty label (nusi) | |
557 | ||
5ab9534b VZ |
558 | wxMSW: |
559 | ||
560 | - Fixed wxFileName::GetSize() for large files | |
561 | ||
f005ea42 VZ |
562 | wxGTK: |
563 | ||
564 | - Fixed handling of accelerators using PageUp/Down keys | |
565 | ||
5ab9534b | 566 | |
e816f5c7 VZ |
567 | 2.8.2 |
568 | ----- | |
569 | ||
d95527de VZ |
570 | All: |
571 | ||
13dd765c JS |
572 | - Added wxSizerFlags::Shaped() and FixedMinSize() methods. |
573 | - Added wxCSConv::IsOk() (Manuel Martin). | |
574 | - Added wxDateTime::GetDateOnly(). | |
575 | - Made wxTextFile work with unseekable files again (David Hart). | |
576 | - Added wxCONFIG_USE_SUBDIR flag to wxFileConfig (Giuseppe Bilotta). | |
577 | - Added wxSearchCtrl::[Get|Set]DescriptiveText. | |
85bf679a | 578 | - Fixed detection of number of processors under Linux 2.6 |
886f61ca | 579 | - Fixed Base64 computation in wxHTTP (p_michalczyk) |
28bf2f3c | 580 | - Fix handling of wxSOCKET_REUSEADDR in wxDatagramSocket (troelsk) |
d95527de | 581 | |
69c928ef VZ |
582 | Unix Ports: |
583 | ||
584 | - Fixed crash in wxGetUserName() in Unicode build | |
585 | ||
e816f5c7 VZ |
586 | wxMSW |
587 | ||
13dd765c JS |
588 | - Fix lack of spin control update event when control lost focus. |
589 | - Corrected drawing of bitmaps for disabled menu items. | |
0d3997fd | 590 | |
c8db4e15 VZ |
591 | wxGTK |
592 | ||
593 | - Fix hang on startup when using GTK+ options in Unicode build | |
594 | ||
a0232aa5 RD |
595 | wxMac |
596 | ||
0d045709 | 597 | - Fix position of the centered windows (didn't take menu bar size into account) |
13dd765c | 598 | - Added support for the wxFRAME_FLOAT_ON_PARENT style. |
a0232aa5 | 599 | |
3aba082d VZ |
600 | wxX11: |
601 | ||
13dd765c | 602 | - Don't crash in wxWindow dtor if the window hadn't been really Create()d. |
3aba082d | 603 | |
750040fa WS |
604 | wxUniv: |
605 | ||
13dd765c | 606 | - Fixed wxComboBox always sorted. |
750040fa | 607 | |
e816f5c7 | 608 | |
265db88d VZ |
609 | 2.8.1 |
610 | ----- | |
611 | ||
5fe6c02b VZ |
612 | All: |
613 | ||
13dd765c JS |
614 | - Fix compilation with wxUSE_STL=1. |
615 | - wxGrid::GetBestSize() returns same size the grid would have after AutoSize(). | |
616 | - Added wxTreeCtrl::CollapseAll[Children]() and IsEmpty() (Francesco Montorsi). | |
617 | - Several RTL-related positioning fixes (Diaa Sami). | |
618 | - Fix wxConfig::DeleteGroup() for arguments with trailing slash (David Hart). | |
619 | - Fix memory leak in wxGrid::ShowCellEditControl() (Christian Sturmlechner). | |
5fe6c02b | 620 | |
0ec8d8f7 VZ |
621 | wxMSW: |
622 | ||
13dd765c JS |
623 | - Fixed compilation with Borland C++ in Unicode mode but without MSLU. |
624 | - Show taskbar icon menu on right button release, not press. | |
0ec8d8f7 | 625 | |
265db88d VZ |
626 | wxGTK: |
627 | ||
13dd765c | 628 | - Don't crash if command line is not valid UTF-8 (Unicode build only). |
265db88d | 629 | |
9c5fd8a3 VZ |
630 | wxUniv: |
631 | ||
13dd765c | 632 | - It is now possible to set background colour of wxStaticText. |
9c5fd8a3 | 633 | |
265db88d | 634 | |
9129836e VZ |
635 | 2.8.0 |
636 | ----- | |
637 | ||
638 | All: | |
639 | ||
13dd765c JS |
640 | - Added wxSearchCtrl (Vince Harron). |
641 | - wxCSConv("UTF-16/32") now behaves correctly, i.e. same as wxMBConvUTF16/32. | |
642 | - wxArrayString::Alloc() now works as reserve() and doesn't clear array contents. | |
bc2ce7a5 | 643 | - Fixed long standing bug in wxFileConfig groups renaming (Antti Koivisto). |
c20267d8 MW |
644 | - New option wxFS_READ | wxFS_SEEKABLE for wxFileSystem::OpenFile() to return |
645 | a stream that is seekable. | |
13dd765c JS |
646 | - Fixed bug in wxCalendarCtrl::HitTest() when clicking on month change arrows. |
647 | - Added wxWindow::GetWindowBorderSize() and corrected wxTreeCtrl::GetBestSize(). | |
648 | for a control with borders (Tim Kosse). | |
9129836e | 649 | |
077c7880 VZ |
650 | wxMSW: |
651 | ||
bc2ce7a5 | 652 | - Fixed version script problems when using configure with cygwin/mingw32. |
a7734bdf | 653 | - Use system default paper size for printing instead of A4. |
13dd765c | 654 | - Fix (harmless) assert in virtual list control under Vista. |
a7734bdf | 655 | - Fix colours when converting wxBitmap with alpha to wxImage (nusi). |
a7734bdf | 656 | |
927637fd VZ |
657 | wxGTK: |
658 | ||
13dd765c JS |
659 | - Allow dynamically changing most of text control styles. |
660 | - Enable use of libgnomeprintui by default in configure. | |
927637fd | 661 | |
077c7880 | 662 | |
432efcb0 RD |
663 | 2.7.2 |
664 | ----- | |
665 | ||
f8f6c91a MW |
666 | All: |
667 | ||
668 | - Added wxFFile overload to wxFileName::CreateTemporaryFileName(). | |
049e9de7 | 669 | - Added GetTempDir() to wxFileName and wxStandardPaths. |
f068697b MW |
670 | - Added wxTar streams. |
671 | - Added wxFilterFSHandler and wxArchiveFSHandler. | |
bc2ce7a5 | 672 | - Added wxString::ToLongLong() and ToULongLong(). |
f8f6c91a | 673 | |
0ec8d8f7 | 674 | All (GUI): |
432efcb0 RD |
675 | |
676 | - wxMemoryDC constructor now optionally accepts a wxBitmap parameter, | |
677 | calling SelectObject itself if a valid bitmap is passed. | |
19c9f36f RD |
678 | - Reverted wxBuffered[Paint]DC to pre 2.7.1 state, added |
679 | wxAutoBufferedPaintDC and wxAutoBufferedPaintDCFactory. | |
049e9de7 JS |
680 | - Renamed wxProgressDialog::UpdatePulse() to just Pulse(). |
681 | - Added wxCollapsiblePane (Francesco Montorsi). | |
682 | - Added wxSimpleHtmlListBox (Francesco Montorsi). | |
96202eaa JS |
683 | - Printing framework fixes by Robert J. Lang. Bugs fixed, |
684 | wxPrinterDC::GetPaperRect() and other functions added to allow | |
685 | easier printing implementation, and the documentation updated. | |
686 | - Many enhancements to wxRichTextCtrl including URL support, | |
687 | formatting and symbol dialogs, print/preview, and better list | |
688 | formatting. | |
bc2ce7a5 JS |
689 | - Support for loading TGA files added (Seth Jackson). |
690 | - Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot). | |
0f11c233 | 691 | - wxHtmlWindow now generates events on link clicks (Francesco Montorsi). |
bc2ce7a5 | 692 | - wxHtmlWindow now also generates wxEVT_COMMAND_TEXT_COPY event. |
432efcb0 | 693 | |
2baa2b0e VZ |
694 | Unix Ports: |
695 | ||
696 | - Added autopackage for wxGTK and an example of using autopackage for a wx | |
049e9de7 JS |
697 | program (Francesco Montorsi). |
698 | ||
699 | wxGTK: | |
2baa2b0e | 700 | |
4ff4d045 | 701 | - More RTL work. |
049e9de7 JS |
702 | - Support wxALWAYS_SHOW_SB. |
703 | - Speed up MIME types loading. Only the GNOME database should be loaded under | |
704 | GNOME etc. For this, the code queries the X11 session protocol. | |
96202eaa | 705 | - wxCaret redraw problem during scrolling fixed. |
432efcb0 RD |
706 | |
707 | ||
e63f19ba VZ |
708 | 2.7.1 |
709 | ----- | |
710 | ||
d1af8e2d VZ |
711 | All: |
712 | ||
3306aec1 JS |
713 | - Added wxDir::FindFirst() (Francesco Montorsi). |
714 | - Added wxPlatformInfo class (Francesco Montorsi). | |
715 | - Added wxLocale::IsAvailable() (Creighton). | |
bc2ce7a5 JS |
716 | - Added Malay translations (Mahrazi Mohd Kamal). |
717 | - Added reference counting for wxVariant. | |
b7cacb43 | 718 | - For consistency, all classes having Ok() method now also have IsOk() one, use |
049e9de7 JS |
719 | of the latter form is preferred although the former hasn't been deprecated yet. |
720 | - Added wxFileName::Is(Dir|File)(Writ|Read|Execut)able() (Francesco Montorsi). | |
721 | - Added wxFileName::GetSize() and GetHumanReadableSize() (Francesco Montorsi). | |
722 | - Added wxSizer::Replace (Francesco Montorsi). | |
723 | - wxXmlDocument can now optionally preserve whitespace (Francesco Montorsi). | |
78041f2e VZ |
724 | - Added wxBookCtrl::ChangeSelection() and wxTextCtrl::ChangeValue() to provide |
725 | event-free alternatives to SetSelection() and SetValue() functions; see the | |
726 | "Events generated by the user vs programmatically generated events" paragraph | |
049e9de7 | 727 | in the "Event handling overview" topic for more info. |
d1af8e2d | 728 | |
e63f19ba VZ |
729 | All (GUI): |
730 | ||
3306aec1 JS |
731 | - Support for right-to-left text layout (started by Diaa Sami during Google Summer of |
732 | Code, with a lot of help from Tim Kosse and others). | |
049e9de7 JS |
733 | - wxAnimationCtrl added (Francesco Montorsi). |
734 | - Added wxAboutBox() function for displaying the standard about dialog. | |
3306aec1 JS |
735 | - Added wxID_PAGE_SETUP standard id. |
736 | - Added wxSize::IncBy() and DecBy() methods. | |
049e9de7 | 737 | - Added wxTextCtrl::IsEmpty(). |
3306aec1 JS |
738 | - Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for |
739 | consistency with wxRichTextCtrl. | |
740 | - wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API, | |
741 | fixed some attribute bugs and added wxRichTextStyleComboCtrl. | |
049e9de7 JS |
742 | - Added wxWindow::IsDoubleBuffered(). |
743 | - Added wxHL_ALIGN_* flags to wxHyperlinkCtrl (Francesco Montorsi). | |
744 | - Added wxGauge::Pulse() and wxProgressDialog::UpdatePulse() (Francesco Montorsi). | |
e63f19ba | 745 | |
916eecaa VZ |
746 | wxMSW: |
747 | ||
3306aec1 | 748 | - Implemented wxComboBox::SetEditable(). |
a0020fcd | 749 | - wxSemaphore::Post() returns wxSEMA_OVERFLOW as documented (Christian Walther) |
3306aec1 JS |
750 | - Fixed a bug whereby static controls didn't use the correct text colour if the |
751 | parent's background colour had been set (most noticeable when switching to a | |
752 | high-contrast theme). | |
049e9de7 | 753 | - Respect wxBU_EXACTFIT style in wxToggleButton (Alexander Borovsky). |
916eecaa | 754 | |
95768535 MW |
755 | wxMac: |
756 | ||
757 | - Add parameter to the --enable-universal_binary configure option for the path | |
758 | to the SDK. | |
759 | ||
ab73fe8d VZ |
760 | wxGTK: |
761 | ||
3306aec1 JS |
762 | - Automatically use stock items for menu items with standard ids. |
763 | - Setting cursor now works for all controls. | |
049e9de7 | 764 | - Implemented right-to-left support. |
ae6a64b6 | 765 | - Implemented left indentation and tab stops support in wxTextCtrl (Tim Kosse). |
049e9de7 | 766 | - Fixed wxHTML rendering of underlined text of multiple words (Mart Raudsepp). |
ab73fe8d | 767 | |
b48f51ca VZ |
768 | wxUniv: |
769 | ||
049e9de7 | 770 | - Added wxTLW::UseNativeDecorations() and UseNativeDecorationsByDefault(). |
b48f51ca | 771 | |
e63f19ba | 772 | |
254e8e29 VZ |
773 | 2.7.0 |
774 | ----- | |
775 | ||
42d0df00 VZ |
776 | All: |
777 | ||
7f0d9d71 JS |
778 | - Added positional parameters support to wxVsnprintf() (Francesco Montorsi). |
779 | - wx(F)File, wxTextFile and wxInputStreams recognize Unicode BOM now. | |
780 | - Many fixes for UTF-16/32 handling in Unicode builds. | |
b83d533a | 781 | - wxLaunchDefaultBrowser() now supports wxBROWSER_NEW_WINDOW flag. |
3af9f2de | 782 | - Added wxStandardPaths::GetResourcesDir() and GetLocalizedResourcesDir() |
7f0d9d71 | 783 | - Added wxStandardPaths::GetDocumentsDir() (Ken Thomases). |
b83d533a | 784 | - Added wxStringTokenizer::GetLastDelimiter(); improved documentation. |
7f0d9d71 JS |
785 | - Fixed wxTextFile in Unicode build. |
786 | - Added possibility to specify dependencies for a wxModule. | |
c6bb9255 MW |
787 | - Speed improvements to wxRegEx when matching is done in a loop such as |
788 | during a search and replace. | |
789 | - Fix regerror and regfree name conficts when built-in regex and system regex | |
790 | are both used in the same program. | |
a5fa20cb JS |
791 | - Basic authentication supported added to wxHTTP. |
792 | - wxCondition::WaitTimeout() now returns correct value when timeout occurs. | |
793 | - Fixed occasional wxThread cleanup crash. | |
794 | - Bug in wxLogStream::DoLogString in Unicode builds fixed. | |
795 | - Added support for memo fields to wxODBC. | |
796 | - Fixed Unicode builds using SunPro compiler by defining__WCHAR_TYPE__. | |
797 | - wxFileName now also looks for TMPDIR on Unix. | |
798 | - Fixed build error in list.h with VC++ 2005. | |
799 | - Fixed wxODBC buffer overflow problem in Unicode builds. | |
2decc3bd | 800 | - Fixed wxSocketBase::InterruptWait on wxBase. |
b83d533a JS |
801 | - Important code cleanup (Paul Cornett). |
802 | - Added support for wxLongLong in wx stream classes (Mark Junker). | |
24f4fc23 | 803 | - wxSOCKET_REUSEADDR can be used with wxSocketClient. |
480abc8f | 804 | - Overloaded Connect() and SetLocal() methods for binding to local address/port. |
7f0d9d71 JS |
805 | - Albanian translation added (Besnik Bleta). |
806 | - Assert messages now show the function in which assert failed. | |
807 | - wxApp::OnAssertFailure() should now be used instead the old wxApp::OnAssert(). | |
808 | - Fixed several bugs in wxDateTime::ParseDate(). | |
968f291b | 809 | - The WXK*PRIOR and WXK*NEXT constants are now aliases for WXK*PAGEUP |
6fa9383b | 810 | and WXK*PAGEDOWN. If you have switch statements that use both |
968f291b | 811 | constants from a set then you need to remove the PRIOR/NEXT |
6fa9383b | 812 | versions in order to eliminate compiler errors. |
44c930eb JG |
813 | - Fixed bug where wxDateTime::Now() would sometimes return an incorrect value |
814 | the first time it was called. | |
7f0d9d71 JS |
815 | - Added wxString::rbegin() and rend(). |
816 | - Added wxString::EndsWith(). | |
635f2bad KH |
817 | - wxSocket::_Read continues reading from socket after exhausting pushback buffer. |
818 | Previously, only the buffer would be returned, even if more data was requested. | |
7f0d9d71 JS |
819 | - Added wxPowerEvent (currently MSW-only). |
820 | - Make wx-config compatible with Bourne shells. | |
3306aec1 JS |
821 | - Fixed wxDb::Open(wxDbConnectInf) when using connection string (Hellwolf Misty). |
822 | - Fixed crash in wxDb::Open() in Unicode build (Massimiliano Marretta). | |
823 | - Fixed wxTimeSpan::Format() for negative time spans. | |
824 | - Optionally count repeating wxLog messages instead of logging all (Lauri Nurmi). | |
42d0df00 | 825 | |
c6ece595 VZ |
826 | All (GUI): |
827 | ||
3306aec1 | 828 | - New AUI (Advanced User Interface) library for docking windows and much more. |
7f0d9d71 | 829 | - Added wxComboCtrl and wxOwnerDrawnComboBox (Jaakko Salli). |
03a37db9 | 830 | - Added wxTreebook (uses a wxTreeCtrl to control pages). |
7f0d9d71 JS |
831 | - Added wxColour/Dir/File/Font/PickerCtrls (Francesco Montorsi). |
832 | - Added wxDC::GradientFillLinear/Concentric(). | |
833 | - Added wxHyperlinkCtrl (Francesco Montorsi). | |
834 | - Added clipboard events (wxEVT_COMMAND_TEXT_COPY/CUT/PASTE). | |
835 | - Allow to reorder wxGrid columns by drag-and-drop (Santiago Palacios). | |
836 | - Added wxRadioBox::SetItemToolTip(). | |
837 | - Added support for CMYK JPEG images loading (Robert Wruck). | |
838 | - Added wxListCtrl::GetSubItemRect() and subitem hit testing (Agron Selimaj). | |
839 | - Added wxKeyEvent::GetModifiers(). | |
5d7836c4 | 840 | - Added wxDialog::SetEscapeId(). |
f7c40316 | 841 | - wxItemContainerImmutable::FindString unified (affects wxRadioBox, wxListBox, |
5d7836c4 JS |
842 | wxComboBox and wxChoice). |
843 | - wxWindow::Fit() now works correctly for frames and dialogs too. | |
844 | - Added access to the border size between pages and controller in book | |
845 | based controls (wxBookCtrlBase::Get/SetInternalBorder). | |
846 | - Added initial wxRichTextCtrl implementation. | |
d8fd7acb WS |
847 | - All book based controls (notebook, treebook etc.) share now the same |
848 | options for orientation (wxBK_TOP, wxBK_DEFAULT, ...) instead of duplicated | |
849 | wxLB_TOP, wxNB_TOP, wxCHB_TOP, wxTBK_TOP. | |
3db52265 JS |
850 | - Added parent window parameter to wxHelpController constructor |
851 | and added SetParentWindow/GetParentWindow. | |
60104cba | 852 | - wxMultiChoiceDialog uses now wxCheckListBox if possible, wxListBox if not. |
b83d533a | 853 | - Added wxBitmapButton::SetHoverBitmap(). |
60fef964 WS |
854 | - Access to titles through Get/SetTitle is available now only for top level |
855 | windows (wxDialog, wxFrame). | |
b83d533a | 856 | - Fixed memory leak of pending events in wxEvtHandler. |
7f0d9d71 | 857 | - Added wxRadioBox::IsItemEnabled/Shown(). |
3d941982 | 858 | - Added space after list item number in wxHTML. |
3c115835 | 859 | - Implemented <sub> and <sup> handling in wxHTML (based on patch |
b83d533a | 860 | by Sandro Sigala). |
f14d6dd1 | 861 | - Added caption parameter to wxGetFontFromUser and wxGetColourFromUser. |
7dd40b6f | 862 | - Added wxGetMouseState function. |
c3e5d4e2 JS |
863 | - Added wxHtmlHelpWindow, wxHtmlHelpDialog and wxHtmlModalHelp classes, |
864 | allowing HTML help to be embedded in an application. | |
a5fa20cb JS |
865 | - wxCalendarCtrl positioning and hit-testing fixes for dimensions other than |
866 | best size. | |
d9170b47 | 867 | - wxCalendarCtrl colour schema changed and adjusted to system settings. |
7f0d9d71 | 868 | - wxImage::Mirror() and GetSubBitmap() now support alpha (Mickey Rose). |
a5fa20cb JS |
869 | - More checking of image validity before loading into wxImage. |
870 | - Added wxImage::ConvertToGreyscale. | |
871 | - Added ability to use templates with static event tables | |
b83d533a JS |
872 | with BEGIN_EVENT_TABLE_TEMPLATEn() macros. |
873 | - Added play, pause, and state change events to wxMediaCtrl. | |
a5fa20cb | 874 | - Added double-buffering to wxVListBox and fixed a scrolling issue. |
fd0d619f | 875 | - Added wxToolbook (uses a wxToolBar to control pages). |
cc8bc5aa JS |
876 | - Added SetSheetStyle to wxPropertySheetDialog and allowed it to |
877 | behave like a Mac OS X settings dialog. | |
7cc1ad29 JS |
878 | - Added <disabled> XRC tag for wxToolBar elements and <bg> for wxToolBar itself. |
879 | - Fixed centering of top level windows on secondary displays. | |
880 | - Implemented wxDisplay::GetFromWindow() for platforms other than MSW. | |
b83d533a | 881 | - UpdateUI handler can now show/hide the window too (Ronald Weiss). |
0f30d8e3 | 882 | - More than one filter allowed in in wxDocTemplate filter. |
b83d533a JS |
883 | - Added wxListBox::HitTest(). |
884 | - Added wxDisplay::GetClientArea(). | |
894b93d3 | 885 | - Indices and counts in wxControlWithItems derived API are unsigned. |
bc55e31b VS |
886 | - Added support for links to wxHtmlListBox; use code has to override |
887 | wxHtmlListBox::OnLinkClicked() to take advantage of it. | |
7f0d9d71 | 888 | - Added an easier to use wxMenu::AppendSubMenu(). |
40989e46 | 889 | - wxString <-> wxColour conversions in wxColour class (Francesco Montorsi). |
7f0d9d71 JS |
890 | - Fixed bug with ignoring blank lines in multiline wxGrid cell labels. |
891 | - Added wxTextAttr::Merge() (Marcin Simonides). | |
892 | - Added wxTB_NO_TOOLTIPS style (Igor Korot). | |
893 | - Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz). | |
70934138 | 894 | - Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz) |
6b8f5d30 | 895 | - Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix. |
7f0d9d71 JS |
896 | - Made it possible to associate context help to a region of a window. |
897 | - Added support for tabs in wxRichTextCtrl (Ashish More). | |
d8766675 | 898 | - Fixed problem with zoom setting in print preview. |
3b2cb431 | 899 | - Moved wxRichTextCtrl from the advanced library to its own. |
9804d540 | 900 | - wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls. |
07880314 | 901 | - Added wxTopLevelWindow::SetTransparent and CanSetTransparent, with |
50f3c41d | 902 | implementations (so far) for wxMSW and wxMac. |
41ae85f8 | 903 |