]>
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 | ||
20 | ||
9b9d4651 VZ |
21 | - no initialization/cleanup can be done in wxApp/~wxApp because they are |
22 | now called much earlier/later than before; please move any exiting code | |
23 | from there to wxApp::OnInit()/OnExit() | |
fba61bdf | 24 | - also, OnExit() is not called if OnInit() fails |
527bbb39 | 25 | - finally the program exit code is OnRun() return value, not OnExit() one |
26ab89ad | 26 | - wxTheApp can't be assigned to any longer, use wxApp::SetInstance() instead |
32b38f99 | 27 | - wxFileType::GetIcon() returns wxIconLocation, not wxIcon |
bfdc04a9 | 28 | - wxColourDatabase is not a wxList any more, use AddColour to add new colours |
5da0803c | 29 | - wxWindow::Clear() is now called ClearBackground() |
480e5897 | 30 | - pointer returned by wxFont::GetNativeFontInfo() must not be deleted now |
bfdc04a9 | 31 | - wxMouseEvent::Moving() doesn't return true if mouse is being dragged any more |
bfdc04a9 VZ |
32 | - (most) controls now inherit parents colours by default, override |
33 | ShouldInheritColours() to return false if you don't want this to happen | |
dfcb9d7c | 34 | - wxApp::SendIdleEvent() now takes 2 arguments |
d366db96 MB |
35 | - wxTabView::GetLayers() changed return type from wxList& to wxTabLayerList& |
36 | (when WXWIN_COMPATIBILITY_2_4 == 0) | |
6e76b35d | 37 | - wxID_SEPARATOR (id used for the menu separators) value changed from -1 to -2 |
25959b95 | 38 | - wxGetNumberFromUser() is now in separate wx/numdlg.h, not wx/textdlg.h |
d99957b6 VZ |
39 | - wxChoice and wxCombobox now handle their size in the same way as in all the |
40 | other ports under MSW, new code is actually correct but different from weird | |
41 | stuff they were doing before so the behaviour of your programs might change | |
1e6d9c20 VS |
42 | - wxTaskBarIcon objects must now be destroyed before the application can exit. |
43 | Previously, the application terminated if there were no top level windows; | |
44 | now it terminates if there are no top level windows or taskbar icons left. | |
4c68a102 VS |
45 | - wxZlibInputStream is not by default compatible with the output of the |
46 | 2.4.x version of wxZlibOutputStream. However, there is a compatibilty mode, | |
47 | switched on by passing wxZLIB_24COMPATIBLE to the constructor. | |
6e86701b MB |
48 | - when WXWIN_COMPATIBILITY_2_4 == 0 wxHashTable uses a new implementation |
49 | not using wxList keyed interface (the same used when wxUSE_STL == 1), | |
50 | the only incompatibility being that Next() returns a wxHashTable::Node* | |
51 | instead of a wxNode*. | |
55e9fa68 VZ |
52 | - non-const wxDC methods GetBackground(), GetBrush(), GetFont() and GetPen() |
53 | don't exist any more, please fix your code -- it never worked correctly | |
54 | anyhow if you modified the objects returned by these methods so you should | |
55 | simply switch to using const methods. | |
e1633ef9 VS |
56 | - EVT_XXX macros are now type-safe; code that uses wrong type for event |
57 | handler's argument will no longer compile. | |
9e152a55 WS |
58 | - Identical functionality of wxFileDialog::ParseWildcard and |
59 | wxGenericDirCtrl::ParseFilter is now accessible in ::wxParseWildcard | |
1e6d9c20 | 60 | |
5e2ab1ea | 61 | |
09c6a817 | 62 | |
9b9d4651 VZ |
63 | DEPRECATED METHODS SINCE 2.4.x |
64 | ============================== | |
09c6a817 | 65 | |
fc2171bd | 66 | Deprecated methods may still be used but will disappear in future wxWidgets |
09c6a817 VZ |
67 | versions, please update your code to not use them. |
68 | ||
7af6b69e | 69 | - wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount() |
09c6a817 VZ |
70 | - wxSizer::Remove(wxWindow *), use Detach() instead [it is more clear] |
71 | - wxSizer::Set/GetOption(): use Set/GetProportion() instead | |
72 | - wxKeyEvent::KeyCode(): use GetKeyCode instead | |
73 | - wxList::Number, First, Last, Nth: use GetCount, GetFirst/Last, Item instead | |
74 | - wxNode::Next, Previous, Data: use GetNext, GetPrevious, GetData instead | |
75 | - wxListBase::operator wxList&(): use typesafe lists instead | |
ba8c1601 MB |
76 | - wxTheFontMapper: use wxFontMapper::Get() instead |
77 | - wxStringHashTable: use wxHashMap instead | |
78 | - wxHashTableLong: use wxHashMap instead | |
fc2171bd | 79 | - wxArrayString::GetStringArray: use wxCArrayString or alternative wxWidgets |
584ad2a3 | 80 | methods taking wxArrayString |
ba8c1601 | 81 | - wxArrayString::Remove(index, count): use RemoveAt instead |
df3b5898 | 82 | - wxTreeItemId conversion to long is deprecated and shouldn't be used |
207e6243 VZ |
83 | - wxTreeCtrl::GetFirst/NextChild() 2nd argument now has type wxTreeItemIdValue |
84 | and not long, please change declarations of "cookie"s in your code | |
85 | accordingly -- otherwise your code won't work on 64 bit platforms | |
35821d8f VZ |
86 | - [MSW only] wxWindow::GetUseCtl3D(), GetTransparentBackground() and |
87 | SetTransparent() as well as wxNO_3D and wxUSER_COLOURS styles | |
080a7b20 | 88 | - wxList keyed interface: use wxHashMap instead |
dfcb9d7c | 89 | - wxColourDatabase::FindColour(): use Find() instead (NB: different ret type) |
d366db96 MB |
90 | - wxHashTable::Next: use wxHashTable::Node* or |
91 | wxHashTable::compatibility_iterator to store the return | |
92 | value | |
4a3990e2 | 93 | - wxWave class; use wxSound instead |
ba443432 JS |
94 | - The wxHIDE_READONLY flag for wxFileDialog was not implemented |
95 | and has now been removed | |
6bba4b8a | 96 | - wxTaskBarIcon::OnXXX() virtual methods: use events instead |
dfcb9d7c | 97 | |
7af6b69e | 98 | |
d643b80e VZ |
99 | OTHER CHANGES |
100 | ============= | |
101 | ||
33d4eef0 VS |
102 | 2.5.3 |
103 | ----- | |
104 | ||
00bcc185 VS |
105 | All: |
106 | ||
107 | - number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten) | |
108 | ||
dae73d74 VS |
109 | All (GUI): |
110 | ||
111 | - added wxTaskBarIcon::CreatePopupMenu which is now recommended way | |
112 | of showing popup menu; calling wxTaskBarIcon::PopupMenu directly | |
113 | is discouraged | |
24d70590 JS |
114 | - Added ..._CMD_... variants for wxGrid event table entry macros |
115 | taking window identifiers | |
5f6cfda7 JS |
116 | - Added wxWindowBase::Navigate for programmatic navigation to the next |
117 | control. | |
118 | - On most platforms, wxTextCtrl::OnChar now inserts a tab character if | |
119 | wxTE_PROCESS_TAB is set, or navigates to the next control if not. | |
dae73d74 | 120 | |
33d4eef0 VS |
121 | Unix: |
122 | ||
123 | - wxTaskBarIcon now supports freedesktop.org System Tray protocol | |
0a8d9df6 | 124 | - security fixes to wxSingleInstanceChecker |
33d4eef0 | 125 | |
bbce0c0c VS |
126 | wxGTK: |
127 | ||
f40fdaa3 | 128 | - fixed many rendering artifacts and wrong colours with lots of GTK+ themes |
dae73d74 | 129 | - implemented wxColourDialog as native dialog |
1a4088e1 | 130 | - wxTreeCtrl::GetCount() counts root as well now (compatible with MSW) |
bbce0c0c | 131 | |
f8ab089a MB |
132 | wxMotif: |
133 | ||
134 | - added 3 state checkbox | |
135 | ||
a0f428c6 WS |
136 | wxWinCE: |
137 | ||
138 | - added automatized but customizable handling of native SmartPhone menus | |
139 | ||
33d4eef0 | 140 | |
a1037371 VZ |
141 | 2.5.2 |
142 | ----- | |
143 | ||
3c2544bb JS |
144 | All: |
145 | ||
dcbb88f0 VZ |
146 | - Hindi translation added (Dhananjaya Sharma) |
147 | - Brazilian Portuguese translation added (E. A. Tacao) | |
5232d996 VZ |
148 | - wxDynamicCast() now uses static_cast<wxObject *> internally and so using it |
149 | with anything not deriving from wxObject will fail at compile time (instead | |
150 | of run-time) now | |
bdcade0a MB |
151 | - when wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set, |
152 | wxHashMap/wxHashSet are just typedefs for them. This makes impossible | |
153 | to forward declare these classes. | |
f6d74279 | 154 | |
3c2544bb JS |
155 | All (GUI): |
156 | ||
157 | - wxHtmlWindow now delays image scaling until rendering, | |
158 | resulting in much better display of scaled images | |
e1983ab5 VZ |
159 | - Added UpdateSize to wxSplitterWindow to allow layout while hidden |
160 | - implemented Freeze/Thaw() for wxGenericTreeCtrl (Kevin Hock) | |
15ad38c3 | 161 | - support for KOI8-U encoding added (Yuriy Tkachenko) |
8f61ba28 | 162 | - The old wxADJUST_MINSIZE behaviour is now the default behaviour for |
ec5cadfe RD |
163 | sizer items that are windows. This means that GetAdjustedBestSize |
164 | will now be called by default to determine the minimum size that a | |
165 | window in a sizer should have. If you want to still use the initial | |
166 | size (and not the BestSize) then use the wxFIXED_MINSIZE flag. When | |
167 | windows are added to a sizer their initial size is made the window's | |
168 | min size using SetSizeHints, and calls to wxSizer::SetItemMinSize | |
169 | are also forwarded to SetSizeHints for window items. | |
8f61ba28 | 170 | - added wxRegEx::GetMatchCount() |
2d814c19 | 171 | - it is now possible to display images in wxHtmlListBox |
3c2544bb | 172 | |
a1037371 | 173 | wxMSW: |
3c2544bb | 174 | |
a1037371 | 175 | - wxWindow::Freeze()/Thaw() can now be nested |
3c2544bb JS |
176 | - Added wxSP_NO_XP_THEME style to wxSplitterWindow to switch off |
177 | XP theming (some applications look bad without 3D borders) | |
4e86e9cd | 178 | - wxMenuBar::GetLabelTop() doesn't include '&'s in the label any more |
9a85c87d VZ |
179 | - wxRegConf couldn't read global settings without admin privileges and didn't |
180 | even try to do it by default -- now it does | |
1e6d9c20 VS |
181 | - wxTaskBarIcon must be explicitly destroyed now, otherwise the application |
182 | won't exit even though there are no top level windows | |
54bcff35 | 183 | - wxFileName::GetModificationTime() works with opened files too now |
bf5d9fa4 VZ |
184 | - wxDC::GetClippingBox() now works even for clipping regions created by Windows |
185 | - fixed wxFileDataObject in Unicode build (Alex D) | |
89b67477 | 186 | - subdindented paragraphs support (Tim Kosse) |
a1037371 | 187 | |
c663fbea VS |
188 | wxGTK: |
189 | ||
190 | - added support for wxTE_RIGHT and wxTE_CENTRE styles under GTK2 (Mart Raudsepp) | |
191 | ||
cf9df191 VZ |
192 | wxMotif: |
193 | ||
194 | - removed wxMenuItem::DeleteSubMenu() | |
e04b7e8e MB |
195 | - wxButtons use Motif default size, which is smaller than it used to be |
196 | and closer to wxMSW/wxGTK look. This can be disabled by setting | |
197 | motif.largebuttons system option to 1 (see wxSystemOptions). | |
cf9df191 | 198 | |
e8ba218b VZ |
199 | wxUniv/X11: |
200 | ||
201 | - implemented DrawRoundedRectangle() (clawghoul) | |
202 | ||
ca16b7a9 VS |
203 | wxHTML: |
204 | ||
5b2b456f | 205 | - improved tables and lists layout algorithms (Tim Kosse) |
c5448f38 | 206 | - <div> handling fix (Xavier Nodet) |
ca16b7a9 | 207 | |
a9a76b2f | 208 | Unix: |
33d4eef0 | 209 | |
a9a76b2f | 210 | - fixed priorities of mailcap entries (David Hart) |
1d8864ac | 211 | - added "wx-config --libs=std,<extra>" syntax (i.e. support for "std") |
a9a76b2f | 212 | |
a21c0aaa | 213 | wxODBC: |
33d4eef0 | 214 | |
c4839ccf | 215 | - Full Unicode support is now available |
a21c0aaa GT |
216 | - BLOB support is working |
217 | ||
a1037371 | 218 | |
1d95f44a JS |
219 | 2.5.1 |
220 | ----- | |
11ebea16 | 221 | |
2e622163 | 222 | All: |
de07d200 | 223 | |
3a818b15 | 224 | Content-type: text/html ]>