]>
Commit | Line | Data |
---|---|---|
c4839ccf JS |
1 | ------------------------ |
2 | wxWidgets 2.5 Change Log | |
3 | ------------------------ | |
d643b80e VZ |
4 | |
5 | INCOMPATIBLE CHANGES SINCE 2.4.x | |
6 | ================================ | |
7 | ||
e441e1f4 VZ |
8 | Please take a few minutes to read the following list, especially |
9 | paying attention to the most important changes which are marked | |
10 | with '!' in the first column. | |
11 | ||
12 | Also please note that you should ensure that WXWIN_COMPATIBILITY_2_4 | |
13 | is defined to 1 if you wish to retain maximal compatibility with 2.4 | |
14 | series. | |
15 | ||
16 | ! windows are no longer fully repainted when resized, use new style | |
44db04e4 | 17 | wxFULL_REPAINT_ON_RESIZE to force this (wxNO_FULL_REPAINT_ON_RESIZE still |
e441e1f4 VZ |
18 | exists but doesn't do anything any more, this behaviour is default now) |
19 | ||
a2bd1520 | 20 | ! wxWindow::m_font and m_backgroundColour/m_foregroundColour are no longer |
495f877d RD |
21 | always set, use GetFont(), GetBack/ForegroundColour() to access |
22 | them, and they will be dynamically determined if necessary. | |
23 | ||
24 | ||
25 | ! The Sizers have had some fundamental internal changes in the 2.5.2 | |
26 | and 2.5.3 releases intended to make them do more of the "Right | |
27 | Thing" but also be as backwards compatible as possible. First a bit | |
28 | about how things used to work: | |
29 | ||
30 | * The size that a window had when Add()ed to the sizer was assumed | |
31 | to be its minimal size, and that size would always be used by | |
32 | default when calculating layout size and positions, and the | |
33 | sizer itself would keep track of that minimal size. | |
34 | ||
35 | * If the window item was Add()ed with the wxADJUST_MINSIZE flag | |
36 | then when layout was calculated the item's GetBestSize would be | |
37 | used to reset the minimal size that the sizer used. | |
38 | ||
39 | The main thrust of the new Sizer changes was to make behaviour like | |
40 | wxADJUST_MINSIZE be the default, and also to push the tracking of | |
41 | the minimal size to the window itself (since it knows its own needs) | |
42 | instead of having the sizer take care of it. Consequently these | |
43 | changes were made: | |
44 | ||
45 | * The wxFIXED_MINSIZE flag was added to allow for the old | |
46 | behaviour. When this flag is used the size a window has when | |
47 | Add()ed to the sizer will be treated as its minimal size and it | |
48 | will not be readjusted on each layout. | |
49 | ||
50 | * The min size stored in wxWindow and settable with SetSizeHints or | |
51 | SetMinSize will by default be used by the sizer (if it was set) | |
52 | as the minimal size of the sizer item. If the minsize was not | |
53 | set (or was only partially set) then the window's best size is | |
54 | fetched and it is used instead of (or blended with) the minsize. | |
55 | wxWindow:GetBestFittingSize was added to facilitate getting the | |
56 | size to be used by the sizers. | |
57 | ||
58 | * The best size of a window is cached so it doesn't need to | |
59 | recaculated on every layout. wxWindow::InvalidateBestSize was | |
60 | added and should be called (usually just internally in control | |
61 | methods) whenever something is done that would make the best | |
62 | size change. | |
63 | ||
64 | * All wxControls were changed to set the minsize to what is passed | |
65 | to the constructor or Create method, and also to set the real | |
66 | size of the control to the blending of the minsize and bestsize. | |
67 | wxWindow::SetBestFittingSize was added to help with this, | |
68 | although most controls don't need to call it directly because it | |
69 | is called indirectly via the SetInitialSize called in the base | |
70 | classes. | |
71 | ||
72 | At this time, the only situation known not to work the same as | |
73 | before is the following: | |
74 | ||
f5e0b4bc WS |
75 | win = new SomeWidget(parent); |
76 | win->SetSize(SomeNonDefaultSize); | |
77 | sizer->Add(win); | |
495f877d RD |
78 | |
79 | In this case the old code would have used the new size as the | |
80 | minimum, but now the sizer will use the default size as the minimum | |
81 | rather than the size set later. It is an easy fix though, just move | |
82 | the specification of the size to the constructor (assuming that | |
83 | SomeWidget will set its minsize there like the rest of the controls | |
84 | do) or call SetMinSize instead of SetSize. | |
85 | ||
86 | In order to fit well with this new scheme of things, all wxControls | |
87 | or custom controls should do the following things. (Depending on | |
88 | how they are used you may also want to do the same thing for | |
89 | non-control custom windows.) | |
90 | ||
91 | * Either override or inherit a meaningful DoGetBestSize method | |
92 | that calculates whatever size is "best" for the control. Once | |
93 | that size is calculated then there should normally be a call to | |
94 | CacheBestSize to save it for later use, unless for some reason | |
95 | you want the best size to be recalculated on every layout. | |
96 | ||
97 | * Any method that changes the attributes of the control such that | |
98 | the best size will change should call InvalidateBestSize so it | |
99 | will be recalculated the next time it is needed. | |
100 | ||
101 | * The control's constructor and/or Create method should ensure | |
102 | that the minsize is set to the size passed in, and that the | |
103 | control is sized to a blending of the min size and best size. | |
104 | This can be done by calling SetBestFittingSize. | |
105 | ||
a2bd1520 | 106 | |
e441e1f4 | 107 | |
9b9d4651 VZ |
108 | - no initialization/cleanup can be done in wxApp/~wxApp because they are |
109 | now called much earlier/later than before; please move any exiting code | |
110 | from there to wxApp::OnInit()/OnExit() | |
fba61bdf | 111 | - also, OnExit() is not called if OnInit() fails |
527bbb39 | 112 | - finally the program exit code is OnRun() return value, not OnExit() one |
26ab89ad | 113 | - wxTheApp can't be assigned to any longer, use wxApp::SetInstance() instead |
32b38f99 | 114 | - wxFileType::GetIcon() returns wxIconLocation, not wxIcon |
bfdc04a9 | 115 | - wxColourDatabase is not a wxList any more, use AddColour to add new colours |
5da0803c | 116 | - wxWindow::Clear() is now called ClearBackground() |
480e5897 | 117 | - pointer returned by wxFont::GetNativeFontInfo() must not be deleted now |
bfdc04a9 | 118 | - wxMouseEvent::Moving() doesn't return true if mouse is being dragged any more |
bfdc04a9 VZ |
119 | - (most) controls now inherit parents colours by default, override |
120 | ShouldInheritColours() to return false if you don't want this to happen | |
dfcb9d7c | 121 | - wxApp::SendIdleEvent() now takes 2 arguments |
d366db96 MB |
122 | - wxTabView::GetLayers() changed return type from wxList& to wxTabLayerList& |
123 | (when WXWIN_COMPATIBILITY_2_4 == 0) | |
6e76b35d | 124 | - wxID_SEPARATOR (id used for the menu separators) value changed from -1 to -2 |
25959b95 | 125 | - wxGetNumberFromUser() is now in separate wx/numdlg.h, not wx/textdlg.h |
d99957b6 VZ |
126 | - wxChoice and wxCombobox now handle their size in the same way as in all the |
127 | other ports under MSW, new code is actually correct but different from weird | |
128 | stuff they were doing before so the behaviour of your programs might change | |
1e6d9c20 VS |
129 | - wxTaskBarIcon objects must now be destroyed before the application can exit. |
130 | Previously, the application terminated if there were no top level windows; | |
131 | now it terminates if there are no top level windows or taskbar icons left. | |
4c68a102 VS |
132 | - wxZlibInputStream is not by default compatible with the output of the |
133 | 2.4.x version of wxZlibOutputStream. However, there is a compatibilty mode, | |
134 | switched on by passing wxZLIB_24COMPATIBLE to the constructor. | |
6e86701b MB |
135 | - when WXWIN_COMPATIBILITY_2_4 == 0 wxHashTable uses a new implementation |
136 | not using wxList keyed interface (the same used when wxUSE_STL == 1), | |
137 | the only incompatibility being that Next() returns a wxHashTable::Node* | |
138 | instead of a wxNode*. | |
55e9fa68 | 139 | - non-const wxDC methods GetBackground(), GetBrush(), GetFont() and GetPen() |
90287048 VS |
140 | as well as wxWindow methods GetFont() and GetCursor() don't exist any more, |
141 | please fix your code -- it never worked correctly anyhow if you modified the | |
142 | objects returned by these methods so you should simply switch to using const | |
143 | methods. | |
87fb0be4 | 144 | - wxWindow::GetFont() now returns wxFont object instead of reference |
e1633ef9 VS |
145 | - EVT_XXX macros are now type-safe; code that uses wrong type for event |
146 | handler's argument will no longer compile. | |
daf32463 WS |
147 | - Identical functionality of wxFileDialog::ParseWildcard, |
148 | wxGenericDirCtrl::ParseFilter, Motif and MSW parsing native dialogs | |
149 | is now accessible in ::wxParseCommonDialogsFilter | |
0f9dff88 | 150 | - wxNotebookSizer and wxBookCtrlSizer are now deprecated -- they are no longer |
adbf2d73 VS |
151 | needed, you can treat wxNotebook as any other control and put it directly |
152 | into the sizer that was wxNotebookSizer's parent sizer in old code. | |
6294ac2e VZ |
153 | - wxFile methods now return wxFileOffset which may be a 64 bit integer type, |
154 | even on 32 bit platforms, instead of off_t and so the return value of | |
155 | wxFile::Length(), for example, shouldn't be assigned to off_t variable any | |
156 | more (the compiler might warn you about this). | |
0d01dd51 VZ |
157 | - wxListItem::m_data is now of type wxUIntPtr, not long, for compatibility |
158 | with 64 bit systems | |
5e2ab1ea | 159 | |
09c6a817 | 160 | |
9b9d4651 VZ |
161 | DEPRECATED METHODS SINCE 2.4.x |
162 | ============================== | |
09c6a817 | 163 | |
fc2171bd | 164 | Deprecated methods may still be used but will disappear in future wxWidgets |
09c6a817 VZ |
165 | versions, please update your code to not use them. |
166 | ||
7af6b69e | 167 | - wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount() |
09c6a817 VZ |
168 | - wxSizer::Remove(wxWindow *), use Detach() instead [it is more clear] |
169 | - wxSizer::Set/GetOption(): use Set/GetProportion() instead | |
170 | - wxKeyEvent::KeyCode(): use GetKeyCode instead | |
171 | - wxList::Number, First, Last, Nth: use GetCount, GetFirst/Last, Item instead | |
172 | - wxNode::Next, Previous, Data: use GetNext, GetPrevious, GetData instead | |
173 | - wxListBase::operator wxList&(): use typesafe lists instead | |
ba8c1601 MB |
174 | - wxTheFontMapper: use wxFontMapper::Get() instead |
175 | - wxStringHashTable: use wxHashMap instead | |
176 | - wxHashTableLong: use wxHashMap instead | |
fc2171bd | 177 | - wxArrayString::GetStringArray: use wxCArrayString or alternative wxWidgets |
584ad2a3 | 178 | methods taking wxArrayString |
ba8c1601 | 179 | - wxArrayString::Remove(index, count): use RemoveAt instead |
df3b5898 | 180 | - wxTreeItemId conversion to long is deprecated and shouldn't be used |
207e6243 VZ |
181 | - wxTreeCtrl::GetFirst/NextChild() 2nd argument now has type wxTreeItemIdValue |
182 | and not long, please change declarations of "cookie"s in your code | |
183 | accordingly -- otherwise your code won't work on 64 bit platforms | |
35821d8f VZ |
184 | - [MSW only] wxWindow::GetUseCtl3D(), GetTransparentBackground() and |
185 | SetTransparent() as well as wxNO_3D and wxUSER_COLOURS styles | |
080a7b20 | 186 | - wxList keyed interface: use wxHashMap instead |
dfcb9d7c | 187 | - wxColourDatabase::FindColour(): use Find() instead (NB: different ret type) |
d366db96 MB |
188 | - wxHashTable::Next: use wxHashTable::Node* or |
189 | wxHashTable::compatibility_iterator to store the return | |
190 | value | |
4a3990e2 | 191 | - wxWave class; use wxSound instead |
ba443432 JS |
192 | - The wxHIDE_READONLY flag for wxFileDialog was not implemented |
193 | and has now been removed | |
6bba4b8a | 194 | - wxTaskBarIcon::OnXXX() virtual methods: use events instead |
8e254d94 | 195 | - obsolete and not used wxUSE_GENERIC_DIALOGS_IN_MSW has been removed |
b4e0b521 | 196 | - wxDbTable::wxDbTable with wxChar* deprecated, same with wxString& instead |
dfcb9d7c | 197 | |
7af6b69e | 198 | |
d643b80e VZ |
199 | OTHER CHANGES |
200 | ============= | |
201 | ||
33d4eef0 VS |
202 | 2.5.3 |
203 | ----- | |
204 | ||
00bcc185 VS |
205 | All: |
206 | ||
6294ac2e | 207 | - support for huge (>2 Gb) files (Tim Kosse) |
00bcc185 | 208 | - number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten) |
0c2a5de2 | 209 | - fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem) |
8cc00d5f | 210 | - fixed bug in wxDateTime::Set(jdn) when DST was in effect |
051aa330 | 211 | - fixed fatal bug in wxString when wxUSE_STL==1 (Kurt Granroth) |
dbea9b70 VS |
212 | - support msgids in charsets other than C and languages other than English |
213 | (based on patch by Stefan Kowski) | |
08873d36 | 214 | - added wxMicroSleep() and wxMilliSleep() replacing deprecated wxUsleep() |
bfa7bf7d | 215 | - basic UDP sockets support (Lenny Maiorani) |
2c622d71 | 216 | - fixed wxDateTime::GetWeekDayName() for some dates (Daniel Kaps) |
14236c1b | 217 | - deprecated wxDateTime::SetToTheWeek() in favour of SetToWeekOfYear() |
e2454588 VZ |
218 | - active mode support in wxFTP (Randall Fox) |
219 | - sped up wxHTTP and wxFTP | |
121fa06a | 220 | - added wxStringInput/OutputStreams |
a121d720 | 221 | - added wxFileConfig::Save(wxOutputStream) |
06386448 | 222 | - fixed wxString's behavior with inserted null characters |
00bcc185 | 223 | |
dae73d74 VS |
224 | All (GUI): |
225 | ||
a24de76b | 226 | - added wxWindow::MoveBefore/AfterInTabOrder() to change tab navigation order |
607667fd RN |
227 | - added wxTaskBarIcon::CreatePopupMenu which is now the recommended way |
228 | of showing a popup menu; calling wxTaskBarIcon::PopupMenu directly | |
dae73d74 | 229 | is discouraged |
a24de76b | 230 | - added ..._CMD_...(id) variants for wxGrid event table entry macros |
857069f0 | 231 | - added wxWindow::Navigate for programmatic navigation to the next control |
0d9b2c16 VZ |
232 | - wxTextCtrl::OnChar now inserts a tab character if wxTE_PROCESS_TAB is set |
233 | - added wxKeyEvent::GetUnicodeKey() | |
a2bd1520 | 234 | - added wxKeyEvent::CmdDown() and wxMouseEvent::CmdDown() |
8158e0e1 | 235 | - implemented wxListCtrl::FindItem() for non-MSW (Robin Stoll) |
c2919ab3 | 236 | - added status bar fields styles support (Tim Kosse) |
857069f0 DS |
237 | - added convenience functions wxSizer::AddSpacer() and |
238 | wxSizer::AddStretchSpacer() (as well as Prepend and Insert variants) | |
fd945da0 | 239 | - added samples/splash |
401e3b6e | 240 | - added support for stock buttons |
dc92adaf | 241 | - added wxTopLevelWindow::RequestUserAttention() |
8b2bac62 WS |
242 | - support for comma in contrib gizmo wxLEDNumberCtrl (Grant Likely) |
243 | - recursive wxSizer::Show for subsizer and return value if element was found | |
f5e0b4bc | 244 | - added wxChoicebook control |
2c5ef4e2 | 245 | - smoother time estimation updates in wxProgressDialog (Christian Sturmlechner) |
f5de33e9 | 246 | - the XRC contrib library was moved to the core |
1f30c176 | 247 | - wx(Choice/List/Note)book controls send CHANG(ED/ING) events in SetSelection |
544229d1 | 248 | - it is now possible to create a wxFont with given size in pixels (d2walter) |
6b30a44e | 249 | - added wxTopLevelWindow::IsActive() |
a121d720 VZ |
250 | - wxSystemSettings::GetMetric now returns -1 for metrics that are not |
251 | supported, instead of zero. | |
dae73d74 | 252 | |
33d4eef0 VS |
253 | Unix: |
254 | ||
255 | - wxTaskBarIcon now supports freedesktop.org System Tray protocol | |
0a8d9df6 | 256 | - security fixes to wxSingleInstanceChecker |
8708fa76 | 257 | - wx-config script was modified to allow choosing from multiple installed |
224bf05c VZ |
258 | builds of wxWidgets and to return flags/libs for selected libraries only |
259 | - wx-config has new --version-full option | |
33d4eef0 | 260 | |
06386448 | 261 | wxCocoa: |
3da9181e | 262 | |
06386448 RN |
263 | - added Unicode compatability layer for OSX 10.2 |
264 | - fixed so that wxCocoa runs in OSX 10.2 | |
265 | - Tooltips now supported | |
266 | - wxSound now supported | |
267 | - wxDisplay now supported | |
268 | - Some stock cursors now supported | |
3da9181e | 269 | |
2006289b | 270 | wxMac: |
607667fd | 271 | |
06386448 RN |
272 | - fixed MLTE text control GetLineText and GetLineLength on OSX |
273 | - added OSX wxTaskBarIcon implementation for the OSX Dock | |
274 | - added Unicode compatability layer for OSX 10.2 | |
275 | - wxGetKeyState now works with nearly all wx key codes | |
607667fd | 276 | |
bbce0c0c VS |
277 | wxGTK: |
278 | ||
692c9b86 VZ |
279 | - wxGTK uses GTK+ 2.x by default now, you have to pass --disable-gtk2 to |
280 | configure if you want to use GTK+ 1.2 | |
f40fdaa3 | 281 | - fixed many rendering artifacts and wrong colours with lots of GTK+ themes |
dae73d74 | 282 | - implemented wxColourDialog as native dialog |
692c9b86 | 283 | - implemented wxTextCtrl::HitTest() (GTK+ >= 2) |
1ce52aa6 | 284 | - implemented wxTextCtrl::ScrollLines() and ScrollPages for GTK+ 2.x |
1a4088e1 | 285 | - wxTreeCtrl::GetCount() counts root as well now (compatible with MSW) |
4dcccda6 | 286 | - added support for wxCHK_3STATE style (GTK2 only) |
1dbeee57 | 287 | - implemented text underlining under GTK2 |
2be125e6 | 288 | - implemented wxFRAME_NO_TASKBAR style (GTK >= 2.2) |
44fd6f72 VS |
289 | - implemented support for wxSYS_DCLICK_?, wxSYS_DRAG_? and wxSYS_CURSOR_? |
290 | in wxSystemSettings::GetMetric (Mart Raudsepp) | |
d8e1fe80 VS |
291 | - implemented wxTopLevel::IsMaximized() for GTK+2 and WMs that implement |
292 | freedesktop.org's wm-spec (Mart Raudsepp) | |
fe51e08c | 293 | - wxEVT_CONTEXT_MENU is now generated for right mouse press, not release |
feac7937 | 294 | - implemented alpha channel support in wxBitmap |
b5ab476a VS |
295 | - added native GTK+2 wxArtProvider implementation with ability to load |
296 | icons from icon theme in addition to recognized stock art | |
e1ff9329 | 297 | - fixed crash on 64 bit platforms (Paul Cornett) |
bbce0c0c | 298 | |
f8ab089a MB |
299 | wxMotif: |
300 | ||
0d9b2c16 | 301 | - added support for wxCHK_3STATE style (3 state checkbox) |
f8ab089a | 302 | |
60c315ca VS |
303 | wxMSW: |
304 | ||
305 | - fixed UNC paths handling in wxFileSystem (Daniel Nash) | |
0d9b2c16 | 306 | - set wxKeyEvent::m_uniChar in Unicode build |
92661f97 | 307 | - support for alpha channel in toolbar bitmaps (Jurgen Doornik) |
0b11099d | 308 | - wxFileDialog can now be moved and centered (Randall Fox) |
885ebd2b | 309 | - restored (and improved) possibility to use wx with MFC broken in 2.5.2 |
4a82116e | 310 | - fixed wxTextCtrl::SetMaxLength for rich edit controls |
4bd1f746 | 311 | - fixed flat style for toolbars under XP, Windows Classic style |
b61d8079 | 312 | - fixed truncation of transferred data in wxConnection under unicode build |
f499e614 | 313 | - wxChoice and wxComboBox dropdown background can be set now too (Adrian Lupei) |
4bc0f25e | 314 | - fixed wxMaximizeEvent generation in wxFrame |
13bcc348 | 315 | - don't send duplicate EVT_COMBOBOX events whenever selection changes any more |
60090256 | 316 | - implemented support for selecting printer bin (Steven Van Ingelgem) |
6e2fef03 | 317 | - fixed wxListCtrl::SetSingleStyle() which was broken since a few releases |
2006289b | 318 | - fixed print setup problem (always uses default printer) in Unicode build |
60c315ca | 319 | |
3cd2f0bd VZ |
320 | wxUniv/X11: |
321 | ||
322 | - fixed fatal crash when opening a menu | |
323 | ||
a0f428c6 WS |
324 | wxWinCE: |
325 | ||
5b33ae84 WS |
326 | - added native WinCE driven smartphone wxTextCtrl implementation using spinners |
327 | - added native WinCE driven smartphone wxChoice implementation using spinners | |
328 | - added automatized but customizable handling of native WinCE driven smartphone menus | |
4a82116e | 329 | - fixed wxRadioBox and wxStaticBox |
a0f428c6 | 330 | |
91fa114d VS |
331 | wxHTML: |
332 | ||
333 | - added support for nested index entries and index entries pointing to more | |
334 | than one page to wxHtmlHelpController | |
335 | ||
33d4eef0 | 336 | |
a1037371 VZ |
337 | 2.5.2 |
338 | ----- | |
339 | ||
3c2544bb JS |
340 | All: |
341 | ||
dcbb88f0 VZ |
342 | - Hindi translation added (Dhananjaya Sharma) |
343 | - Brazilian Portuguese translation added (E. A. Tacao) | |
5232d996 VZ |
344 | - wxDynamicCast() now uses static_cast<wxObject *> internally and so using it |
345 | with anything not deriving from wxObject will fail at compile time (instead | |
346 | of run-time) now | |
bdcade0a MB |
347 | - when wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set, |
348 | wxHashMap/wxHashSet are just typedefs for them. This makes impossible | |
349 | to forward declare these classes. | |
f6d74279 | 350 | |
3c2544bb JS |
351 | All (GUI): |
352 | ||
353 | - wxHtmlWindow now delays image scaling until rendering, | |
354 | resulting in much better display of scaled images | |
e1983ab5 VZ |
355 | - Added UpdateSize to wxSplitterWindow to allow layout while hidden |
356 | - implemented Freeze/Thaw() for wxGenericTreeCtrl (Kevin Hock) | |
15ad38c3 | 357 | - support for KOI8-U encoding added (Yuriy Tkachenko) |
8f61ba28 | 358 | - The old wxADJUST_MINSIZE behaviour is now the default behaviour for |
ec5cadfe RD |
359 | sizer items that are windows. This means that GetAdjustedBestSize |
360 | will now be called by default to determine the minimum size that a | |
361 | window in a sizer should have. If you want to still use the initial | |
362 | size (and not the BestSize) then use the wxFIXED_MINSIZE flag. When | |
363 | windows are added to a sizer their initial size is made the window's | |
364 | min size using SetSizeHints, and calls to wxSizer::SetItemMinSize | |
365 | are also forwarded to SetSizeHints for window items. | |
8f61ba28 | 366 | - added wxRegEx::GetMatchCount() |
2d814c19 | 367 | - it is now possible to display images in wxHtmlListBox |
3c2544bb | 368 | |
a1037371 | 369 | wxMSW: |
3c2544bb | 370 | |
a1037371 | 371 | - wxWindow::Freeze()/Thaw() can now be nested |
3c2544bb JS |
372 | - Added wxSP_NO_XP_THEME style to wxSplitterWindow to switch off |
373 | XP theming (some applications look bad without 3D borders) | |
4e86e9cd | 374 | - wxMenuBar::GetLabelTop() doesn't include '&'s in the label any more |
9a85c87d VZ |
375 | - wxRegConf couldn't read global settings without admin privileges and didn't |
376 | even try to do it by default -- now it does | |
1e6d9c20 VS |
377 | - wxTaskBarIcon must be explicitly destroyed now, otherwise the application |
378 | won't exit even though there are no top level windows | |
54bcff35 | 379 | - wxFileName::GetModificationTime() works with opened files too now |
bf5d9fa4 VZ |
380 | - wxDC::GetClippingBox() now works even for clipping regions created by Windows |
381 | - fixed wxFileDataObject in Unicode build (Alex D) | |
89b67477 | 382 | - subdindented paragraphs support (Tim Kosse) |
a1037371 | 383 | |
c663fbea VS |
384 | wxGTK: |
385 | ||
386 | - added support for wxTE_RIGHT and wxTE_CENTRE styles under GTK2 (Mart Raudsepp) | |
387 | ||
cf9df191 VZ |
388 | wxMotif: |
389 | ||
390 | - removed wxMenuItem::DeleteSubMenu() | |
e04b7e8e MB |
391 | - wxButtons use Motif default size, which is smaller than it used to be |
392 | and closer to wxMSW/wxGTK look. This can be disabled by setting | |
393 | motif.largebuttons system option to 1 (see wxSystemOptions). | |
cf9df191 | 394 | |
e8ba218b VZ |
395 | wxUniv/X11: |
396 | ||
397 | - implemented DrawRoundedRectangle() (clawghoul) | |
398 | ||
ca16b7a9 VS |
399 | wxHTML: |
400 | ||
5b2b456f | 401 | - improved tables and lists layout algorithms (Tim Kosse) |
c5448f38 | 402 | - <div> handling fix (Xavier Nodet) |
ca16b7a9 | 403 | |
a9a76b2f | 404 | Unix: |
33d4eef0 | 405 | |
a9a76b2f | 406 | - fixed priorities of mailcap entries (David Hart) |
1d8864ac | 407 | - added "wx-config --libs=std,<extra>" syntax (i.e. support for "std") |
a9a76b2f | 408 | |
a21c0aaa | 409 | wxODBC: |
33d4eef0 | 410 | |
c4839ccf | 411 | - Full Unicode support is now available |
a21c0aaa GT |
412 | - BLOB support is working |
413 | ||
a1037371 | 414 | |
1d95f44a JS |
415 | 2.5.1 |
416 | ----- | |
11ebea16 | 417 | |
2e622163 | 418 | All: |
de07d200 | 419 | |
3a818b15 | 420 | Content-type: text/html ]>