]> git.saurik.com Git - wxWidgets.git/blob - docs/changes.txt
328513bbda125824e524c4d94554295b14459054
[wxWidgets.git] / docs / changes.txt
1 ----------------------------
2 wxWindows 2.5/2.6 Change Log
3 ----------------------------
4
5 INCOMPATIBLE CHANGES SINCE 2.4.x
6 ================================
7
8 OTHER CHANGES
9 =============
10
11 2.5.0
12 -----
13
14 All:
15
16 - added wxDateSpan::operator==() and !=() (Lukasz Michalski)
17 - use true/false throughout the library instead of TRUE/FALSE
18 - wxStopWatch::Start() resumes the stop watch if paused, as per the docs
19 - added wxDirTraverser::OnOpenError() to customize the error handling
20 - added wxArray::SetCount()
21 - wxFile, wxFFile, wxTextFile and wxTempFile now all use UTF-8 encoding
22 by default in Unicode mode
23 - bug in wxDateTime with timezones on systems with tm_gmtoff in struct tm fixed
24 - added wx/math.h (John Labenski)
25 - added Catalan translations (Pau Bosch i Crespo)
26 - fixed bug with deleting entries at root level in wxFileConfig
27
28 wxBase:
29
30 - added Watcom makefiles
31
32 All GUI ports:
33
34 - added alpha channel support to wxImage
35 - added wxCLOSE_BOX style for dialogs and frames
36 - added wxSplitterWindow handler to XRC
37 - added proportion to wxFlexGridSizer::AddGrowableRow/Col (Maxim Babitski)
38 - added wxFlexGridSizer::SetFlexibleDirection() (Szczepan Holyszewski)
39 - implemented GetEditControl for wxGenericTreeCtrl (Peter Stieber)
40 - improved contrib/utils/convertrc parsing (David J. Cooke)
41 - fixed handling of URLs and filenames in wxFileSystem
42 - implemented alignment for wxGrid bool editor and renderer
43 - support wxListCtrl columns alignment for all platforms and not just MSW
44 - added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
45 - WXR resources can now be used in Unicode builds
46 - it is now possible to use several wxFileHistory objects in the same menu
47 by giving them different base IDs (Dimitri Schoolwerth)
48
49 - changed to type-safe wxSizerItemList for wxSizer child items
50 Deprecated:
51 wxSizer::Remove( wxWindow* )
52 - it does not function as Remove would usually be expected to
53 and destroy the window, use Detach instead
54 wxSizer::GetOption(),
55 wxSizer::SetOption()
56 - wxSizer 'option' parameter was renamed 'proportion' to better
57 reflect its action, use Get/SetProportion instead
58 wxKeyEvent::KeyCode()
59 - use GetKeyCode instead
60 wxList:: Number, First, Last, Nth
61 - use typesafe GetCount, GetFirst, GetLast, Item instead
62 wxNode:: Next, Previous, Data
63 - use typesafe Get* instead
64 wxListBase::operator wxList&()
65 - use typesafe lists instead
66 - Added wxTLW::SetShape with implementations for wxMSW and wxGTK (so
67 far).
68
69
70 Unix:
71
72 - fixed compilation on systems with zlib installed but < 1.1.3 version
73 - fixed compilation on Solaris 7 with large files support enabled
74
75 wxGTK:
76
77 - added support for label mnemonics to GTK+2 build (Michael Moss)
78 - added native wxMessageDialog implementation for GTK+2 build
79 - fixed wxMenu::Remove (John Skiff and Benjamin Williams)
80 - made wxTextCtrl::EmulateKeyPress() work for Delete and Backspace
81 - fixed wxTopLevelWindow::ShowFullScreen to work with kwin, IceWM and
82 window managers that support _NET_WM_STATE_FULLSCREEN
83 - added wxEVT_MENU_OPEN event generation
84 - fixed bug in generic file selector causing incomplete file extensions to
85 be appended to filenames with no extension
86
87 wxMSW:
88
89 - possibility to use DIBs for wxBitmap implementation (Derry Bryson)
90 - wxStaticBitmap doesn't stretch its bitmap any longer (like other ports)
91 - support for accelerator keys in the owner drawn menus (Derry Bryson)
92 - wxCaret::SetSize() doesn't hide the caret any longer as it used to
93 - wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
94 - fixed bug with wxTR_EDIT_LABELS not workign with wxTR_MULTIPLE
95 - fixes for compilation with OpenWatcom compiler
96 - fixed wxStaticText best size calculation (was wrong by '&' width)
97 - fixed calling wxFrame::Maximize(FALSE) before the window is shown
98 - all libraries built with makefile.g95 have a _min or _cyg suffix
99 (for MinGW and Cygwin)
100
101 wxMotif:
102
103 - made wxFileDialog behaviour with complex wildcards more sensible (it still
104 does not support all the features other ports do); refer to wxFileDialog
105 documentation for a detailed explanation
106 - implemented wxWakeUpIdle
107 - for Motif 2.0, used the native combobox widget instead of the GPL'd
108 xmcombo; xmcombo is still used for Motif 1.x and Lesstif when compiled
109 with Motif 1.x compatibility
110 - implemented wxToggleButton
111 - wxRadioBox and wxStaticBox now use the default shadow (border) style
112 instead of a sunken border
113
114 wxUniv:
115
116 - controls in toolbars now supported
117
118 wxHTML:
119
120 - added SetFonts to HTML printing classes (Adrian Philip Look)
121
122
123 OLD CHANGES
124 ===========
125
126 INCOMPATIBLE CHANGES SINCE 2.2.x
127 ================================
128
129 Please take a few minutes to read the following list, especially
130 paying attention to the most important changes which are marked
131 with '!' in the first column.
132
133 Also please note that you should ensure that WXWIN_COMPATIBILITY_2_2
134 is defined to 1 if you wish to retain maximal compatibility with 2.2
135 series -- however you are also strongly encouraged to try to compile
136 your code without this define as it won't be default any longer in
137 2.6 release.
138
139 NB: if you want to build your program with different major versions
140 of wxWindows you will probably find the wxCHECK_VERSION() macro
141 (see the documentation) useful.
142
143
144 wxBase:
145
146 ! wxArray<T>::Remove(size_t) has been removed to fix compilation problems
147 under 64 bit architectures, please replace it with RemoveAt() in your
148 code.
149
150 ! wxArray<T> macros have been changed to fix runtime problems under 64 bit
151 architectures and as a side effect of this WX_DEFINE_ARRAY() can only be
152 used now for the pointer types, WX_DEFINE_ARRAY_INT should be used for the
153 arrays containing non-pointers.
154
155 - wxObject::CopyObject() and Clone() methods were removed because they
156 simply don't make sense for all objects
157
158 - wxEvent now has a pure virtual Clone() method which must be implemented
159 by all derived classes, if you have user-defined event classes please
160 add "wxEvent *Clone() const { return new MyEvent(*this); }" line to them
161
162 - small change to wxStopWatch::Pause() semantics, please see the documentation
163
164 - unlikely but possible incompatibility: the definition of TRUE has changed
165 from "1" to "(bool)1" (and the same thing for FALSE), so the code which
166 could be erroneously compiled previously such as doing "return FALSE" from
167 a function returning a pointer would stop compiling now (but this change
168 is not supposed to have any effects on valid code)
169
170 - another minor change: wxApp::OnAssert() has a new "cond" argument, you
171 must modify YourApp::OnAssert() signature if you were using it to override
172 the default assert handling.
173
174 All (GUI):
175
176 ! the event type constants are not constants any more but are dynamically
177 allocated during run-time which means that they can't be used as case labels
178 in the switch()es, you must rewrite them to use if()s instead
179
180 You may also define WXWIN_COMPATIBILITY_EVENT_TYPES to get the old behaviour
181 but this is strongly discouraged, please consider changing your code
182 instead!
183
184 ! wxDialog does not derive from wxPanel any longer - if you were using it in
185 your code, please update it. The quick fix for the most cases is to replace
186 the occurrences of wxPanel with wxWindow.
187
188 ! if you handle (and don't skip) EVT_KEY_DOWN, the EVT_CHAR event is not
189 generated at all, so you must call event.Skip() in your OnKeyDown() if
190 you want to get OnChar() as well
191
192 - in general, the key events sent for the various non ASCII key combinations
193 have been changed to make them consistent over all supported platforms,
194 please see the wxKeyEvent documentation for details
195
196 - wxYES_NO is now wxYES | wxNO and the manifest values of both wxYES and wxNO
197 have changed (to fix some unfortunate clashes), please check your code to
198 ensure that no tests for wxYES or wxNO are broken: for example, the following
199 will *NOT* work any longer:
200
201 if ( flags & wxYES_NO )
202 ... do something ...
203 if ( flags & wxYES )
204 ... do something else ...
205
206 - static wxWizard::Create() doesn't exist any more, the wizards are created
207 in the same way as all the other wxWindow objects, i.e. by directly using
208 the ctor
209
210 - wxGLCanvas now derives directly from wxWindow, not wxScrolledWindow
211
212 - wxGridCellAttrProvider class API changed, you will need to update your code
213 if you derived any classes from it
214
215 - wxImage::ComputeHistogram()'s signature changed to
216 unsigned long ComputeHistogram(wxImageHistogram&) const
217
218 - wxEvtHandler cannot be copied/assigned any longer - this never worked but
219 now it results in compile-time error instead of run-time crashes
220
221 - WXK_NUMLOCK and WXK_SCROLL keys no longer result in EVT_CHAR() events,
222 they only generate EVT_KEY_DOWN/UP() ones
223
224 - the dialogs use wxApp::GetTopWindow() as the parent implicitly if the
225 parent specified is NULL, use wxDIALOG_NO_PARENT style to prevent this
226 from happening
227
228 - several obsolete synonyms are only retained in WXWIN_COMPATIBILITY_2_2 mode:
229 for example, use wxScrolledWindow::GetViewStart() now instead of ViewStart()
230 and GetCount() instead of Number() in many classes
231
232 - wxCmdLineParser does not use wxLog to output messages anymore.
233 to obtain the previous behaviour, add
234 wxMessageOutput::Set(new wxMessageOutputLog); to your program
235 (you will need to #include <wx/msgout.h>)
236
237 wxMSW:
238
239 ! build system changed: setup.h is not a static file in include/wx any more
240 but is created as part of the build process under lib/<toolkit>/wx
241 where <toolkit> is of the form (msw|univ)[dll][u][d]. You'll need to update
242 the include path in your make/project files appropriately. Furthermore,
243 xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder
244 class. You'll need to remove all references to xpm.lib from your
245 make/project files. Finally, the library names have changed as well and now
246 use the following consistent naming convention: wxmsw[ver][u][d].(lib|dll)
247 where 'u' appears for Unicode version, 'd' -- for the debug one and version
248 is only present for the DLLs builds.
249
250 - child frames appear in the taskbar by default now, use wxFRAME_NO_TASKBAR
251 style to avoid it
252
253 - all overloads of wxDC::SetClippingRegion() combine the given region with the
254 previously selected one instead of replacing it
255
256 - wxGetHomeDir() uses HOME environment variable and if it is set will not
257 return the programs directory any longer but its value (this function has
258 never been meant to return the programs directory anyhow)
259
260 - wxHTML apps don't need to include wx/html/msw/wxhtml.rc in resources file
261 anymore. The file was removed from wxMSW
262
263
264 Unix ports:
265
266 ! You should use `wx-config --cxxflags` in your makefiles instead of
267 `wx-config --cflags` for compiling C++ files. CXXFLAGS contains CFLAGS
268 and the compiler flags for C++ files only, CFLAGS should still be used
269 to compile pure C files.
270
271
272 wxThread and related classes:
273
274 - The thread-related classes have been heavily changed since 2.2.x versions
275 as the old code had many serious problems. This could have resulted in
276 semantical changes other than those mentioned here, please review use of
277 wxThread, wxMutex and wxCondition classes in your code.
278
279 ! wxCondition now *must* be used with a mutex, please read the (updated) class
280 documentation for details and revise your code accordingly: this change was
281 unfortunately needed as it was impossible to ensure the correct behaviour
282 (i.e. absense of race conditions) using the old API.
283
284 - wxMutex is not recursive any more in POSIX implementation (it hasn't been
285 recursive in 2.2.x but was in 2.3.1 and 2.3.2), please refer to the class
286 documentation for the discussion of the recursive mutexes.
287
288 - wxMutex::IsLocked() doesn't exist any more and should have never existed:
289 this is was unique example of a thread-unsafe-by-design method.
290
291
292 OTHER CHANGES
293 =============
294
295 2.4.0
296 -----
297
298 wxMSW:
299
300 - fixed loss of client data in wxChoice::SetString()
301
302 2.3.4
303 -----
304
305 All:
306
307 - added (partial) Indonesian translations (Bambang Purnomosidi D. P.)
308 - added wxSizer::Show()/Hide() (Carl Godkin)
309 - fixed bugs in wxDateTime::SetToWeekDay()/GetWeek()
310
311 Unix (Base/GUI):
312
313 - minor OpenBSD compilation/linking fixes, now builds OOB under OpenBSD 3.1
314 - don't include -I/usr/include nor -I/usr/local/include in wx-config output
315 - shared library symbols are now versioned on platforms that support it (Linux)
316
317 wxGTK:
318 - Further work for GTK 2.0 and Unicode support.
319 - Addition of native frame site grip.
320
321 wxX11:
322 - Unicode support through Pango library.
323
324 wxMSW:
325
326 - fixed crashes in wxListCtrl under XP
327 - added context menu for rich edit wxTextCtrl
328
329 wxHTML:
330
331 - fixed wxHTML to work in Unicode build
332
333 2.3.3
334 -----
335
336 wxBase:
337
338 - building wxBase with Borland C++ is now supported (Michael Fieldings)
339 - wxSemaphore class added, many fixed to wxCondition and wxThread (K.S. Sreeram)
340 - fixes to the command line parsing error and usage messages
341 - modified wxFileName::CreateTempFileName() to open the file atomically
342 (if possible) and, especially, not to leak the file descriptors under Unix
343 - memory leak in wxHTTP fixed (Dimitri)
344 - fixes to AM_PATH_WXCONFIG autoconf macro
345 - added wxHashMap class that replaces type-unsafe wxHashTable and is modelled
346 after (non standard) STL hash_map
347 - wxLocale now works in Unicode mode
348 - wxLocale can now load message catalogs in arbitrary encoding
349 - added wxShutdown() function (Marco Cavallini)
350 - added wxEXPLICIT macro
351 - IPC classes improved and memory leaks fixed (Michael Fielding).
352 Global buffer removed, duplication in docs removed
353 - debug new/free implementations made thread-safe
354
355 Unix (Base/GUI):
356
357 - wxWindows may be built using BSD and Solaris (and possibly other) make
358 programs and not only GNU make
359 - wxTCP-based IPC classes now support communicating over Unix domain sockets
360 - wxWindows may be built as a dynamic shared library under Darwin / Mac OS X
361 lazy linking issues have been solved by linking a single module (.o) into
362 the shared library (two step link using distrib/mac/shared-ld-sh)
363 - fixed thread priority setting under Linux
364
365 All (GUI):
366
367 - it is now possible to set the icons of different sizes for frames (e.g. a
368 small and big ones) using the new wxIconBundle class
369 - implemented radio menu items and radio toolbar buttons
370 - added possibility to show text in the toolbar buttons
371 - added wxArtProvider class that can be used to customize the look of standard
372 wxWindows dialogs
373 - significantly improved native font support
374 - wxImage::ComputeHistogram() now uses wxImageHistogram instead of type-unsafe
375 wxHashTable
376 - added IFF image handler
377 - fixed using custom renderers in wxGrid which was broken in 2.3.2
378 - support for multiple images in one file added to wxImage
379 (TIFF, GIF and ICO formats)
380 - support for CUR and ANI files in wxImage added (Chris Elliott)
381 - wxTextCtrl::GetRange() added
382 - added wxGetFontFromUser() convenience function
383 - added EVT_MENU_OPEN and EVT_MENU_CLOSE events
384 - added Hungarian translations (Janos Vegh)
385 - added wxImage::SaveFile(filename) method (Chris Elliott)
386 - added wxImage::FloodFill and implemented wxWindowDC::DoFloodFill method
387 for GTK+, Mac, MGL, X11, Motif ports (Chris Elliott)
388 - added (platform-dependent) scan code to wxKeyEvent (Bryce Denney)
389 - added wxTextCtrl::EmulateKeyPress()
390 - Added wxMouseCaptureChangedEvent
391 - Added custom character filtering to wxTextValidator
392 - wxTreeCtrl now supports incremental keyboard search
393 - wxMessageOutput class added
394 - wxHelpProvider::RemoveHelp added and called from ~wxWindowBase
395 so that erroneous help strings are no longer found as the hash
396 table fills up
397 - updated libpng from 1.0.3 to 1.2.4
398 - Added wxView::OnClosingDocument so the application can do cleanup.
399 - generic wxListCtrl renamed to wxGenericListCtrl, wxImageList
400 renamed to wxGenericImageList, so they can be used on wxMSW
401 (Rene Rivera).
402 - Added wxTreeEvent::IsEditCancelled so the application can tell
403 whether a label edit was cancelled.
404 - added static wxFontMapper::Get() accessor (use of wxTheFontMapper is now
405 deprecated)
406
407 wxMSW:
408
409 - small appearance fixes for native look under Windows XP
410 - fixed the bug related to the redrawing on resize introduced in 2.3.2
411 - fixed multiple bugs in wxExecute() with IO redirection
412 - refresh the buttons properly when the window is resized (Hans Van Leemputten)
413 - huge (40*) speed up in wxMask::Create()
414 - changing wxWindows styles also changes the underlying Windows window style
415 - wxTreeCtrl supports wxTR_HIDE_ROOT style (George Policello)
416 - fixed flicker in wxTreeCtrl::SetItemXXX()
417 - fixed redraw problems in dynamically resized wxStaticText
418 - improvements to wxWindows applications behaviour when the system colours
419 are changed
420 - choose implicit parent for the dialog boxes better
421 - fixed wxProgressDialog for ranges > 65535
422 - wxSpinButton and wxSpinCtrl now support full 32 bit range (if the version
423 of comctl32.dll installed on the system supports it)
424 - wxFontEnumerator now returns all fonts, not only TrueType ones
425 - bugs in handling wxFrame styles (border/caption related) fixed
426 - showing a dialog from EVT_RADIOBUTTON handler doesn't lead to an infinite
427 recursion any more
428 - wxTextCtrl with wxTE_RICH flag scrolls to the end when text is appended to it
429 - the separators are not seen behind the controls added to the toolbar any more
430 - wxLB_SORT style can be used with wxCheckListBox
431 - wxWindowDC and wxClientDC::GetSize() works correctly now
432 - Added wxTB_NODIVIDER and wxTB_NOALIGN so native toolbar can be used in FL
433 - Multiline labels in buttons are now supoprted (simply use "\n" in the label)
434 - Implemented wxMouseCaptureChangedEvent and made wxGenericDragImage check it
435 has the capture before release it.
436 - fixed bugs in multiple selection wxCheckListBox
437 - default button handling is now closer to expected
438 - setting tooltips for wxSlider now works
439 - disabling a parent window also disables all of its children (as in wxGTK)
440 - multiple events avoided in wxComboBox
441 - tooltip asserts avoided for read-only wxComboBox
442 - fixed a race condition during a thread exit and a join
443 - fixed a condition where a thread can hang during message/event processing
444 - increased space between wxRadioBox label and first radio button
445 - don't fail to register remaining window classes if one fails to register
446 - wxFontDialog effects only turned on if a valid colour was
447 provided in wxFontData
448 - Added wxTE_LEFT, wxTE_CENTRE and wxTE_RIGHT flags for text control alignment.
449 - Bitmap printing uses 24 bits now, not 8.
450
451 wxGTK:
452
453 - wxDirDialog now presents the file system in standard Unix way
454 - wxButton now honours wxBU_EXACTFIT
455 - wxStaticBox now honours wxALIGN_XXX styles
456 - added support for non alphanumeric simple character accelerators ('-', '=')
457 - new behaviour for wxWindow::Refresh() as it now produces a delayed refresh.
458 Call the new wxWindow::Update() to force an immediate update
459 - support for more SGI hardware (12-bit mode among others)
460 - fixed wxDC::Blit() to honour source DC's logical coordinates
461 - implemented wxIdleEvent::RequestMore() for simple background tasks
462 - implemented wxChoice::Delete()
463 - fixed bad memory leak in wxFileDialog (Chris Elliott)
464 - made internal GC pool dynamically growable
465 - added GTK+ 2 and Unicode support
466
467 wxMotif:
468
469 - improved colour settings return values (Ian Brown)
470 - improved border style handling for wxStaticText (Ian Brown)
471 - improved toolbar control alignment
472 - implemented wxSpinButton
473 - implemented wxCheckListBox
474 - fixed wxSpinCtrl and wxStaticLine when used with sizers
475 - wxStaticBitmap now shows transparent icons correctly
476
477 wxX11:
478
479 - added generic MDI implementation (Hans Van Leemputten)
480 - first cut at wxSocket support (not yet working)
481
482 wxMac:
483
484 - Many improvements
485
486 wxOS2:
487
488 - First alpha-quality release
489
490 wxHTML:
491
492 - fixed wxHtmlHelpController's cache files handling on big endian machines
493 - added blocking and redirecting capabilities to wxHtmlWindow via
494 wxHtmlWindow::OnOpeningURL()
495 - fixed alignment handling in tables
496 - fixed <font face="..."> handling to be case insensitive
497
498 2.3.2
499 -----
500
501 New port: wxUniv for Win32/GTK+ is now included in the distribution.
502
503 wxBase:
504
505 - wxRegEx class added
506 - wxGetDiskSpace() function added (Jonothan Farr, Markus Fieber)
507 - wxTextBuffer and wxTextFile(wxStream) added (Morten Hanssen)
508 - more fixes to wxMBConv classes. Conversion to and from wchar_t now works with
509 glibc 2.2 as well as with glibc 2.1. Unix version now checks for iconv()'s
510 capabilities at runtime instead of in the configure script.
511
512 All (GUI):
513
514 - support for virtual list control added
515 - column images in report mode of the list control
516 - wxFindReplaceDialog added (based on work of Markus Greither)
517 - wxTextCtrl::SetMaxLength() added (wxMSW/wxGTK)
518 - polygon support in wxRegion (Klaas Holwerda)
519 - wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added
520 - fixed bug with using wxExecute() to capture huge amounts of output
521 - new wxCalendarCtrl styles added (Søren Erland Vestø)
522 - wxWizard changes: loading from WXR support, help button (Robert Cavanaugh)
523 - wxDirSelector() added (Paul A. Thiessen)
524 - wxGrid cell editing veto support (Roger Gammans)
525 - wxListCtrl ITEM_FOCUSED event added
526 - support for ICO files in wxImage added (Chris Elliott)
527 - improvements to wxDragImage (Chuck Messenger)
528
529 wxMSW:
530
531 - support for the DBCS fonts (CP 932, 936, 949, 950) (Nathan Cook)
532 - new library naming convention under VC++ -- please change your application
533 project files
534
535 wxGTK:
536
537 - fixed popup menu positioning bug
538 - fixed the edit function for wxListCtrl (Chuck Messenger)
539 - fixed the key-hitting events for wxListCtrl and wxTreeCtrl, so they
540 correctly return the key which was pressed (Chuck Messenger)
541
542 wxMac:
543
544 - support for configuration and build under Mac OS X using the Apple Developer
545 Tools
546
547 wxHTML:
548
549 - new HTML parser with correct parsing of character entities and fixes
550 to tags parsing
551 - added support for animated GIFs
552
553 2.3.1
554 -----
555
556 wxBase:
557
558 - Fixes for gcc 3.0
559 - Fixed new charset detection code
560 - ODBC Informix fixes (submitted by Roger Gammans)
561 - Added ODBC date support to wxVariant
562 - Added wxDir::Traverse
563 - Added wxSingleInstanceChecker class
564 - Removed redundant wxDebugContext functions using C++ streams,
565 so now standard stream usage should be unnecessary
566
567 All (GUI):
568
569 - Added wxDbGrid class for displaying ODBC tables
570 - Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the
571 user code can get access to the edit control when it is created, (to
572 push on a custom event handler for example)
573 - Added wxTextAttr class and SetStyle, SetDefaultStyle and
574 GetDefaultStyle methods to wxTextCtrl
575 - Added wxSingleInstanceChecker
576 - Improvements to Tex2RTF
577 - Added Paul and Roger Gammans' grid controls
578 - Bug in wxDocument::Save logic corrected, whereby Save didn't save when not
579 first-time saved
580 - Fixed memory leak in textcmn.cpp
581 - Various wxXML enhancements
582 - Removed wxCLIP_CHILDREN style from wxSplitterWindow
583 - Fixed memory leak in DoPrint, htmprint.cpp
584 - Fixed calendar sample bug with using wxCommandEvent::GetInt()
585 instead of GetId()
586 - Added wxDbGrid combining wxODBC classes with wxGrid
587 - Added more makefiles and project files for contrib hierarchy
588
589 wxMSW:
590
591 - Fixed wxApp::ProcessMessage so controls don't lose their
592 accelerators when the accelerators are redefined elsewhere
593 - Accelerators consisting of simple keystrokes (without control,
594 alt or shift) now work
595 - Compile fixes for Watcom C++ added
596 - Compile fixes for Cygwin 1.0 added
597 - Use SetForegroundWindow() in wxWindow::Raise() instead of BringWindowToTop()
598 - Replaced wxYield() call in PopupMenu() by a much safer
599 wxYieldForCommandsOnly() - fixes tree ctrl popup menu bug and other ones
600 - Enter processing in wxSpinCtrl fixed
601 - Fixed bug in determining the best listbox size
602 - Fix for wxFrame's last focus bug
603 - We now send iconize events
604 - Fixed wxFrame::SetClientSize() with toolbar bug
605 - Added mousewheel processing
606 - Added wxSystemSettings::Get/SetOption so we can configure
607 wxWindows at run time; used this to implement no-maskblt option
608 in wxDC
609 - Fixed bug when using MDIS_ALLCHILDSTYLES style: so now MDI
610 child frame styles are honoured
611
612 wxGTK:
613
614 - Fixed slider rounding bug
615 - Added code to set wxFont's default encoding to wxLocale::GetSystemEncoding()
616 - We now send iconize events
617 - Fix for discrepancies between wxNotebookEvent and wxNotebook
618 GetSelection() results
619
620 2.3.0
621 -----
622
623 wxBase:
624
625 - fixed problem with wxURL when using static version of the library
626 - wxZipFSHandler::FindFirst() and FindNext() now correctly list directories
627 - wxMimeTypesManager now can create file associations too (Chris Elliott)
628 - wxCopyFile() respects the file permissions (Roland Scholz)
629 - wxFTP::GetFileSize() added (Søren Erland Vestø)
630 - wxDateTime::IsSameDate() bug fixed
631 - wxTimeSpan::Format() now behaves more as expected, see docs
632 - wxLocale now provides much more convenient API for setting language and
633 detecting current system language. New API is more abstracted and truly
634 cross-platform, independent of underlying C runtime library.
635
636 All (GUI):
637
638 - new wxToggleButton class (John Norris, Axel Schlueter)
639 - wxCalendarCtrl not highlighting the date with time part bug fixed
640 - wxADJUST_MINSIZE sizer flag added
641 - FindOrCreateBrush/Pen() bug fix for invalid colour values
642 - new wxXPMHandler for reading and writing XPM images
643 - added new (now recommended) API for conversion between wxImage and wxBitmap
644 (wxBitmap::ConvertToImage() and wxBitmap::wxBitmap(wxImage&) instead of
645 wxImage methods and ctor)
646 - ODBC classes now support DB2, Interbase, and Pervasive SQL
647 - ODBC documentation complete!!
648 - ODBC classes have much Unicode support added, but not complete
649 - ODBC experimental BLOB support added, but not completely tested
650 - ODBC NULL column support completed (Roger/Paul Gammans)
651 - ODBC All "char *" and char arrays removed and replaced with wxString use
652
653 wxMSW:
654
655 - threads: bug in wxCondition::Broadcast fixed (Pieter van der Meulen)
656 - fixed bug in MDI children flags (mis)handling
657 - it is possible to compile wxCHMHelpController with compilers
658 other than Visual C++ now and hhctrl.ocx is loaded at runtime
659
660 wxGTK:
661
662 - added support for wchar_t (wxUSE_WCHAR_T) under Unix
663
664 wxHTML:
665
666 - mew feature, wxHtmlProcessor for on-the-fly modification of HTML markup
667 - visual enhancements to contents panel of wxHtmlHelpController
668
669 2.2.0
670 -----
671
672 wxBase:
673
674 - Fixed bug with directories with trailing (back)slashes in wxPathExists
675 - wxString: added wxArrayString::operator==() and !=()
676 - Fixes for wxCmdLineParser
677 - Added wxGetLocalTimeMillis
678 - Completed Czech translations
679 - Some stream corrections
680 - added missing consts to wxPoint operators
681 - wxDateTime ParseFormat fixes
682 - wxFile::Open(write_append) will create file if it doesn't exist
683 - small fixes to MIME mailcap test command handling, more MIME tests in the sample
684
685 All (GUI):
686
687 - wxGenericDragImage now allows virtual image drawing, and
688 flicker-free dragging is now possible
689 - Added wxPrinter::GetLastError
690 - Fixed wxLogGui reentrancy problem
691 - Paper names now translated
692 - wxGrid fixes
693 - Generic validator now caters for more cases (integers in
694 wxTextCtrl, strings in wxChoice, wxComboBox)
695 - Fixed crash when docview On... functions return FALSE. Show
696 error message when an non-existent filename is typed into the Open
697 File dialog.
698 - Corrected Baltic font encoding handling
699 - wxImage: enhanced TIFF code, added new platform-independent BMP
700 writing code
701 - wxKeyEvent::GetKeyCode() and HasModifiers() added and documented
702 - Fixed wxPropertyForm crashes in sample
703 - wxWizard now calls TransferDataFromWindow() before calling
704 wxWizardPage::GetNext() fixing an obvious bug
705
706 wxMSW:
707
708 - wxWindow::GetCharWidth/Height now calculated accurately.
709 This will affect all .wxr dialog resources, so for
710 backward compatibility, please set
711 wxDIALOG_UNIT_COMPATIBILITY to 1 in setup.h
712 - wxListCtrl: set item text in LIST_ITEM_ACTIVATED events
713 - wxTextCtrl: implemented setting colours for rich edit controls
714 - wxColour now accepts both grey and gray
715 - BC++ DLL compilation fixed
716 - Watcom C++ makefiles improved for JPEG and TIFF compilation
717 - Fixed submenu accelerator bug
718 - Fixed dialog focus bug (crash if the previous window to have
719 the focus was destroyed before the dialog closed)
720 - Too-small default wxTextCtrl height fixed
721 - fixed "missing" initial resize of wxMDIChildFrame
722 - wxFrame restores focus better
723 - Now ignore wxTHICK_FRAME in wxWindow constructor: only relevant to
724 frames and dialogs, interferes with other window styles otherwise
725 (sometimes you'd get a thick frame in a subwindow)
726 - wxTextCtrl insertion point set to the beginning of the control by SetValue
727 - Fix so wxMDIParentFrame is actually shown when Show(TRUE) is called.
728 - wxFileDialog: adjusts struct size if there's an error (struct
729 sizes can be different on different versions of Windows)
730 - wxImageList::GetSize() documented and added to wxMSW
731 - fixed default dialog style to make them non resizeable again
732 - fixed wxFrame::IsShown() which always returned TRUE before
733
734 wxGTK:
735
736 - Please see docs/gtk/changes.txt.
737
738 wxMotif:
739
740 - Small compilation fixes
741
742 Documentation:
743
744 - wxCaret documented
745
746 2.1.16
747 ------
748
749 wxBase:
750
751 All (GUI):
752
753 wxMSW:
754
755 - Various bug fixes
756 - Added wxCHMHelpController, for invoking MS HTML Help
757 files. This works under VC++ only
758 - Modal dialog handling improved
759 - Printer dialog now modal
760
761 wxGTK:
762
763 - Various bug fixes
764
765 wxMotif:
766
767 - Various bug fixes
768
769 2.1.15
770 ------
771
772 Documentation:
773
774 - Added docs/tech for technical notes
775
776 File hierarchy:
777
778 - Started new contrib hierarchy that mirrors
779 the main lib structure; moved OGL and MMedia into it
780
781 wxBase:
782
783 - wxSocket support
784 - wxDateTime replaces and extends old wxDate and wxTime classes (still
785 available but strongly deprecated) with many new features
786 - wxLongLong class provides support for (signed) 64 bit integers
787 - wxCmdLineParser class for parsing the command line (supporting short and
788 long options, switches and parameters of different types)
789 - it is now possible to build wxBase under Win32 (using VC++ only so far)
790 and BeOS (without thread support yet)
791 - wxThread class modified to support both detached and joinable threads, also
792 added new GetCPUCount() and SetConcurrency() functions (useful under Solaris
793 only so far)
794 - wxDir class for enumerating files in a directory
795 - wxLog functions are now (more) MT-safe
796 - wxStopWatch class, timer functions have more chances to return correct
797 results for your platform (use ANSI functions where available)
798 - wxString::ToLong, ToULong, ToDouble methods and Format() static one added
799 - buffer overflows in wxString and wxLog classes fixed (if snprintf() function
800 is available)
801 - wxArray::RemoveAt() replaces deprecated wxArray::Remove(index)
802
803 all (GUI):
804
805 - Added wxImage::Rotate.
806 - new wxCalendarCtrl class for picking a date interactively
807 - wxMenu(Bar)::Insert() and Remove() functions for dynamic menu management
808 - wxToolBar supports arbitrary controls (not only buttons) and can be
809 dynamically changed (Delete/Insert functions)
810 - vertical toolbars supported by MSW and GTK native wxToolBar classes
811 - wxTreeCtrl and wxListCtrl allow setting colour/fonts for individual items
812 - "file open" dialog allows selecting multiple files at once (contributed by
813 John Norris)
814 - wxMimeTypesManager uses GNOME/KDE MIME database to get the icons for the
815 MIME types if available (Unix only)
816 - wxDC::DrawRotatedText() (based on contribution by Hans-Joachim Baader)
817 - TIFF support added (libtiff required and included in the distribution)
818 - PCX files can now be written (256 and 24 bits)
819 - validators may work recursively if wxWS_EX_VALIDATE_RECURSIVELY is set
820 - wxScrolledWindow now has keyboard interface
821 - wxTextEntryDialog may be used for entering passwords (supports wxTE_PASSWORD)
822 - added wxEncodingConverter and improved wxFontMapper
823 for dealing with conversions between different encodings,
824 charsets support in wxLocale and wxHTML
825 - wxDragImage class added
826 - samples/help improved to show standard and advanced HTML help
827 controllers, as well as native help
828 - moved wxTreeLayout class to main lib
829
830 wxMSW:
831
832 - wxFrame::MakeFullScreen added.
833 - support for enhanced metafiles added, support for copying/pasting metafiles
834 (WMF and enhanced ones) fixed/added.
835 - implemented setting colours for push buttons
836 - wxStatusBar95 may be now used in dialogs, panels (not only frames) and can be
837 positioned along the top of the screen and not only at the bottom
838 - wxTreeCtrl::IsVisible() bug fixed (thanks to Gary Chessun)
839 - loading/saving big (> 32K) files in wxTextCtrl works
840 - tooltips work with wxRadioBox
841 - wxBitmap/wxIcon may be constructed from XPM included into a program, as in
842 Unix ports
843 - returning FALSE from OnPrintPage() aborts printing
844 - VC++ makefiles and project files made (mostly) consistent
845 - wxSetCursorEvent added
846
847 wxGTK:
848
849 - wxFontMapper endless recursion bug (on some systems) fixed
850 - wxGTK synthesizes wxActivateEvents
851 - UpdateUI handlers may be used with wxTextCtrl
852
853 wxMotif:
854
855 - wxMenu::Enable works
856 - wxToolBar bugs fixed
857 - OGL samples made to work again
858
859 wxHTML:
860
861 - almost complete rewrite of wxHtmlHelpController,
862 including faster search, bookmarks, printing, setup dialog
863 and cross-platform binary compatible .cached files for faster
864 loading of large helpbooks, case insensitive search
865 split into 3 parts: wxHtmlHelpData, Frame and Controller
866 - added support for charsets and <meta> tag
867 - added support for font faces and justified paragraphs,
868 taken some steps to prepare wxHTML for frames
869 - added dynamic pushing/popping of wxHtmlParser tag handlers
870 - improved HTML printing
871 - added extensive table of HTML characters substitutions (&nbsp; etc.)
872 - fixed wxHtmlWindow flickering, several minor bugfixes
873 - added some tags: <address>, <code>, <kbd>, <samp>, <small>, <big>,
874 fixed handling of relative and absolute font sizes in <font size>
875
876
877 NOTE: for changes after wxWindows 2.1.0 b4, please see the CVS
878 change log.
879
880 2.1.0, b4, May 9th 1999
881 -----------------------
882
883 wxGTK:
884
885 - JPEG support added.
886 - Many fixes and changes not thought worth mentioning in this file :-)
887
888 wxMSW:
889
890 - wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added;
891 SetTabSize added.
892 - JPEG support added.
893 - Fixes for Cygwin compilation.
894 - Added wxGA_SMOOTH and wxFRAME_FLOAT_ON_PARENT styles.
895 - Many fixes people didn't tell this file about.
896
897 wxMotif:
898
899
900 General:
901
902 - Some changes for Unicode support, including wxchar.h/cpp.
903
904
905 2.0.1 (release), March 1st 1999
906 -------------------------------
907
908 wxGTK:
909
910 - wxGLCanvas fixes.
911 - Slider/spinbutton fixes.
912
913 wxMSW:
914
915 - Fixed problems with <return> in dialogs/panels.
916 - Fixed window cursor setting.
917 - Fixed toolbar sizing and edge-clipping problems.
918 - Some makefile fixes.
919
920 wxMotif:
921
922 - None.
923
924 General:
925
926 - Added wxUSE_SOCKETS.
927 - More topic overviews.
928 - Put wxPrintPaperType, wxPrintPaperDatabase into
929 prntbase.h/cpp for use in non-PostScript situations
930 (e.g. Win16 wxPageSetupDialog).
931
932
933 Beta 5, February 18th 1999
934 --------------------------
935
936 wxGTK:
937
938 - wxExecute improved.
939
940 wxMSW:
941
942 - Fixed wxWindow::IsShown (::IsWindowVisible doesn't behave as
943 expected).
944 - Changed VC++ makefiles (.vc) so that it's possible to have
945 debug/release/DLL versions of the library available simultaneously,
946 with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll).
947 - Added BC++ 5 IDE files and instructions.
948 - Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation).
949 - Fixed focus-related crash.
950
951 wxMotif:
952
953 - Cured asynchronous wxExecute crash.
954 - Added repaint event handlers to wxFrame, wxMDIChildFrame.
955
956 General:
957
958 - wxLocale documented.
959 - Added include filenames to class reference.
960 - wxHelpController API changed: SetBrowser becomes SetViewer,
961 DisplaySection works for WinHelp, help sample compiles under Windows
962 (though doesn't display help yet).
963
964 Beta 4, February 12th 1999
965 --------------------------
966
967 wxGTK:
968
969 - Miscellaneous fixes.
970
971 wxMSW:
972
973 - Makefiles for more compilers and samples; Cygwin makefiles
974 rationalised.
975 - Added VC++ project file for compiling wxWindows as DLL.
976
977 wxMotif:
978
979 - Added OnEraseBackground invocation.
980 - Added wxRETAINED implementation for wxScrolledWindow.
981 - Cured scrolling display problem by adding XmUpdateDisplay.
982 - Tried to make lex-ing in the makefile more generic (command line
983 syntax should apply to both lex and flex).
984 - Changed file selector colours for consistency (except for buttons:
985 crashes for some reason).
986 - Fixed wxMotif version of wxImage::ConvertToBitmap (used new instead
987 of malloc, which causes memory problems).
988
989 General:
990
991 - Further doc improvements.
992 - wxGenericValidator added.
993 - Added wxImageModule to image.cpp, so adds/cleans up standard handlers
994 automatically.
995
996 Beta 3, January 31st 1999
997 -------------------------
998
999 wxGTK:
1000
1001 - wxClipboard/DnD API changes (still in progress).
1002 - wxToolTip class added.
1003 - Miscellaneous fixes.
1004
1005 wxMSW:
1006
1007 - wxRegConfig DeleteAll bug fixed.
1008 - Makefiles for more compilers.
1009 - TWIN32 support added.
1010 - Renamed VC++ makefiles from .nt to .vc, and
1011 factored out program/library settings.
1012 - Fixed wxIniConfig bug.
1013
1014 wxMotif:
1015
1016 - A few more colour fixes.
1017 - wxGLCanvas and OpenGL samples working.
1018 - Some compiler warnings fixed.
1019 - wxChoice crash fix.
1020 - Dialog Editor starting to work on Motif.
1021
1022 General:
1023
1024 - wxBusyCursor class added.
1025 - Added samples/dde.
1026 - More doc improvements, incl. expanding docs/html/index.htm.
1027
1028 Beta 2, January 1999
1029 --------------------
1030
1031 wxGTK:
1032
1033 wxMSW:
1034
1035 - 16-bit BC++ compilation/linking works albeit without the resource system.
1036
1037 wxMotif:
1038
1039 - Cured wxScreenDC origin problem so e.g. sash window sash is drawn at
1040 the right place.
1041 - Cured some widget table clashes.
1042 - Added thread support (Robert).
1043 - wxPoem sample now works.
1044
1045 General:
1046
1047 - Rearranged documentation a bit.
1048 - Sash window uses area of first frame/dialog to paint over when drawing
1049 the dragged sash, not just the sash window itself (it clipped to the right
1050 or below).
1051 - Made resource sample use the correct Cancel button id.
1052 - Moved wxProp to main library (generic directory), created proplist
1053 sample.
1054 - Added bombs and fractal samples.
1055
1056 Beta 1, December 24th 1998
1057 --------------------------
1058
1059 wxGTK:
1060
1061 - Various
1062
1063 wxMSW, wxMotif: not in sync with this release.
1064
1065
1066 Alpha 18, December 29th 1998
1067 ----------------------------
1068
1069 wxMSW:
1070
1071 - Win16 support working again (VC++ 1.5)
1072 - Win16 now uses generic wxNotebook, wxListCtrl,
1073 wxTreeCtrl -- more or less working now, although
1074 a little work on wxNotebook is still needed.
1075 Under 16-bit Windows, get assertion when you click
1076 on a tab.
1077 - Wrote 16-bit BC++ makefiles: samples don't yet link.
1078 - Added CodeWarrior support to distribution courtesy
1079 of Stefan Csomor.
1080
1081 wxMotif:
1082
1083 - Cured scrolling problem: scrollbars now show/hide themselves
1084 without (permanently) resizing the window.
1085 - Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars
1086 that disabled scrollbar paging.
1087 - Set background colour of drawing area in wxWindow, so e.g. wxListCtrl
1088 colours correctly.
1089 - Removed major bug whereby dialogs were unmanaged automatically
1090 when any button was pressed.
1091 - Fixed colours of wxWindow scrollbars, made list and text controls
1092 have a white background.
1093 - Fixed dialog colour setting.
1094 - Added settable fonts and colours for wxMenu/wxMenuBar. Now
1095 they have sensible colours by default.
1096 - Fixed a bug in wxStaticBox.
1097 - Cured wxTreeCtrl bug: now works pretty well!
1098 - Debugged DrawEllipticArc (a ! in the wrong place).
1099 - Added SetClippingRegion( const wxRegion& region ).
1100 - Added wxPoint, wxSize, wxRect versions of SetSize etc.
1101
1102 Alpha 17, November 22nd 1998
1103 ----------------------------
1104
1105 wxMSW:
1106
1107 - More documentation updates, especially for
1108 wxLayoutWindow classes and debugging facilities.
1109 - Changed wxDebugContext to use wxDebugLog instead
1110 of wxTrace.
1111 - Now supports VC++ 6.0, and hopefully BC++ 5.0.
1112 However, DLL support may be broken for BC++ since
1113 VC++ 6 required changing of WXDLLEXPORT keyword
1114 position.
1115 - Numerous miscellaneous changes.
1116
1117 wxMotif:
1118
1119 - Reimplemented MDI using wxNotebook instead of the MDI widgets, which
1120 were too buggy (probably not design for dynamic addition/removal of
1121 child frames).
1122 - Some improvements to the wxNotebook implementation.
1123 - wxToolBar now uses a bulletin board instead of a form, in an attempt
1124 to make it possible to add ordinary wxControls to a toolbar.
1125 - Cured problem with not being able to use global memory operators,
1126 by defining two more global operators, so that the delete will match
1127 the debugging implementation.
1128 - Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using
1129 global memory operators (usually OK) and #defining new to be
1130 WXDEBUG_NEW (sometimes it might not be OK).
1131 - Added time.cpp to makefile; set wxUSE_DATETIME to 1.
1132 - Added a parent-existence check to popup menu code to make it not crash.
1133 - Added some optimization in wxWindow::SetSize to produce less flicker.
1134 It remains to be seen whether this produces any resize bugs.
1135
1136 It's a long time since I updated this file. Previously done:
1137
1138 - wxFrame, wxDialog done.
1139 - wxScrolledWindow done (but backing pixmap not used at present).
1140 - wxBitmap done though could be tidied it up at some point.
1141 - Most basic controls are there, if not rigorously tested.
1142 - Some MDI support (menus appear on child frames at present).
1143 - wxNotebook almost done.
1144 - wxToolBar done (horizontal only, which would be easy to extend
1145 to vertical toolbars).
1146
1147 More recently:
1148
1149 - Colour and font changing done (question mark over what happens
1150 to scrollbars).
1151 - Accelerators done (for menu items and buttons). Also event loop
1152 tidied up in wxApp so that events are filtered through ProcessXEvent.
1153 - wxWindow::GetUpdateRegion should now work.
1154
1155 Alpha 16, September 8th 1998
1156 ----------------------------
1157
1158 wxMSW:
1159
1160 - Added wxSashWindow, wxSashLayoutWindow classes, and sashtest
1161 sample.
1162 - Guilhem's socket classes added, plus wxsocket sample.
1163 - A few more makefiles added.
1164 - GnuWin32/BC++ compatibility mods.
1165 - Further doc updates.
1166 - wxProp updates for correct working with wxGTK.
1167
1168 wxMotif:
1169
1170 - First start at Motif port.
1171 - Made makefiles for wxMotif source directory and minimal sample.
1172 - First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont,
1173 wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText,
1174 wxMenu, wxMenuItem, wxMenuBar
1175
1176 Alpha 15, August 31st 1998
1177 --------------------------
1178
1179 wxMSW:
1180
1181 - wxBitmap debugged.
1182 - wxDC::GetDepth added.
1183 - Contribution added whereby wxBitmap will be
1184 converted to DC depth if they don't match.
1185 - wxConfig API improved, documentation updated.
1186 - Printing classes name conventions cleaned up.
1187 - wxUpdateUIEvent now derives from wxCommandEvent
1188 so event can travel up the window hierarchy.
1189
1190 Alpha 14, July 31st 1998
1191 ------------------------
1192
1193 wxMSW:
1194
1195 - Toolbar API has been simplified, and now
1196 wxFrame::GetClientArea returns the available client
1197 area when toolbar, status bar etc. have been accounted for.
1198 wxFrame::CreateToolBar added in line with CreateStatusBar.
1199 - Documentation updates, incl. for wxToolBar.
1200 - New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable.
1201 - Various additions from other folk, e.g. streams, wxConfig
1202 changes, wxNotebook.
1203 - Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view.
1204
1205 Alpha 13, July 8th 1998
1206 -----------------------
1207
1208 wxMSW:
1209
1210 - Implemented wxPoint as identical to POINT on Windows, and
1211 altered wxDC wxPoint functions to use wxPoint directly in
1212 Windows functions, for efficiency.
1213 - Cured wxASSERT bug in wxStatusBar95.
1214 - #ifdefed out some bits in oleutils.cpp for compilers that
1215 don't support it.
1216 - Added some operators to wxPoint, wxSize.
1217 - Added inline wxDC functions using wxPoint, wxSize, wxRect.
1218
1219 Alpha 12, July 7th 1998
1220 -----------------------
1221
1222 wxMSW:
1223
1224 - Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can
1225 have flat toolbars on Win98 or Win95 with IE >= 3 installed.
1226
1227 Alpha 11, July 3rd 1998
1228 -----------------------
1229
1230 wxMSW:
1231
1232 - Added thread.h, thread.cpp.
1233 - Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu,
1234 wxMenuBar.
1235 - Changed wxMenuItem::SetBackColor to SetBackgroundColour,
1236 SetTextColor to SetTextColour, and added or made public several
1237 wxMenuItem accessors.
1238 - Added two overloads to wxRegion::Contains. Added
1239 wxRegion::IsEmpty for a more consistent naming convention.
1240 - Added Vadim's wxDataObject and wxDropSource.
1241 - ENTER/LEAVE events now work.
1242 - Cured wxMemoryDC bug where the DC wasn't being deleted.
1243 - Cured wxGauge SetSize major bugginess.
1244 - Cured problem where if a GDI object was created on the stack,
1245 then went out of scope, then another object was selected into
1246 the DC, GDI objects would leak. This is because the assignment
1247 to e.g. wxDC::m_pen would delete the GDI object without it first
1248 being selected out of the DC. Cured by selecting the old DC object
1249 first, then doing the assignment.
1250 - Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95
1251 - Various other bug fixes and additions.
1252
1253 Generic:
1254
1255 - Major work on Dialog Editor (still plenty to go).
1256 - Expanded documentation a bit more.
1257
1258 Alpha 10, May 7th 1998
1259 ----------------------
1260
1261 wxMSW:
1262
1263 - Added desiredWidth, desiredHeight parameters to wxBitmapHandler
1264 and wxIcon functions so that you can specify what size of
1265 icon should be loaded. Probably will remain a Windows-specific thing.
1266 - wxStatusBar95 now works for MDI frames.
1267 - Toolbars in MDI frames now behave normally. They still
1268 require application-supplied positioning code though.
1269 - Changed installation instructions, makefiles and batch files
1270 for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp
1271 change to support Mingw32/EGCS. Bison now used by default.
1272
1273 Alpha 9, April 27th 1998
1274 ------------------------
1275
1276 wxMSW:
1277
1278 - Cured bug in wxStatusBar95 that caused a crash if multiple
1279 fields were used.
1280 - Added Gnu-Win32 b19/Mingw32 support by changing resource
1281 compilation and pragmas.
1282 - Cured wxMenu bug introduced in alpha 8 - didn't respond to
1283 commands because VZ changed the id setting in wxMenu::MSWCommand.
1284
1285 Generic:
1286
1287 - Corrected some bugs, such as the wxModule compilation problem.
1288 - Added Gnu-Win32 b19/Mingw32 support by changing resource
1289 compilation and pragmas.
1290 - Changed SIZEOF to WXSIZEOF.
1291
1292 Alpha 8, April 17th 1998
1293 ------------------------
1294
1295 wxMSW:
1296
1297 - Added IsNull to wxGDIObject to check if the ref data is present or not.
1298 - Added PNG handler and sample - doesn't work for 16-bit PNGs for
1299 some reason :-(
1300 - Added wxJoystick class and event handling, and simple demo.
1301 - Added simple wxWave class. Needs Stop() function.
1302 - Added wxModule (module.h/module.cpp) to allow definition
1303 of modules to be initialized and cleaned up on wxWindows
1304 startup/exit.
1305 - Start of Mingw32 compatibility (see minimal and dialogs samples
1306 makefile.m95 files, and install.txt).
1307 - Note: Windows printing has stopped working... will investigate.
1308 VADIM'S CHANGES:
1309 - Updated wxString: bug fixes, added wxArrayString, some
1310 compatibility functions.
1311 - Updated log.h/cpp, added wxApp::CreateLogTarget.
1312 - file.h: new wxTempFile class.
1313 - defs.h: added wxSB_SIZE_GRIP for wxStatusBar95
1314 - statbr95: wxStatusBar95 control.
1315 - registry.h/cpp: wxRegKey class for Win95 registry.
1316 - listbox.cpp: corrected some bugs with owner-drawn listboxes.
1317 - wxConfig and wxFileConfig classes.
1318
1319 Generic:
1320
1321 - Added src/other/png, src/other/zlib directories.
1322 - Added samples/png.
1323 - IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros.
1324 Porters, please check particularly your wxTreeCtrl and wxListCtrl
1325 header files.
1326 - Added modules.h/cpp, config.cpp, fileconf.cpp, textfile.cpp/h.
1327
1328 Alpha 7, March 30th 1998
1329 ------------------------
1330
1331 wxMSW:
1332
1333 - Added tab classes, tab sample.
1334 - Now can return FALSE from OnInit and windows will be
1335 cleaned up properly before exit.
1336 - Improved border handling so panels don't get borders
1337 automatically.
1338 - Debugged MDI activation from Window menu.
1339 - Changes to memory debug handling, including checking for
1340 memory leaks on application exit - but see issues.txt for
1341 unresolved issues.
1342 - Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar)
1343 to allow maintenance of an icon in the Windows 95 taskbar
1344 tray area.
1345 - Got MFC sample working (MFC and wxWindows in the same
1346 application), partly by tweaking ntwxwin.mak settings.
1347 - Got DLL compilation working again (VC++).
1348 - Changed wxProp/Dialog Editor filenames.
1349
1350 Generic:
1351
1352 - Added tab classes, tab sample.
1353 - Revised memory.cpp, memory.h slightly; memory.h now #defines
1354 new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp
1355 now checks for leaks on exit. Added memcheck sample.
1356 See src/msw/issues.txt for more details.
1357 - resource.h, resource.cpp changed to make wxDefaultResourceTable
1358 a pointer. Now initialize resource system with
1359 wxInitializeResourceSystem and wxCleanUpResourceSystem, to
1360 allow better control of memory.
1361 - wxString now derives from wxObject, to enable memory leak
1362 checking.
1363 - Added some #include fixes in various files, plus changed
1364 float to long in wxToolBar files.
1365
1366 Alpha 6, March 10th 1998
1367 ------------------------
1368
1369 wxMSW:
1370
1371 - Found stack error bug - stopped unwanted OnIdle recursion.
1372 - Removed bug in wxTreeCtrl::InsertItem I added in alpha 5.
1373 - Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will
1374 check if the number of top-level windows is zero before
1375 exiting. Also, wxApp::GetTopWindow will return either
1376 m_topWindow or the first member of wxTopLevelWindows, so you
1377 don't have to call wxApp::SetTopWindow.
1378 - Added dynarray.h/dynarray.cpp (from Vadim).
1379 - Added first cut at OLE drag and drop (from Vadim). dnd sample
1380 added. Drop target only at this stage. See src/msw/ole/*.cpp,
1381 wx/include/msw/ole/*.h. WIN32 only because of UUID usage.
1382 Doesn't work with GnuWin32 - no appropriate headers e.g. for
1383 IUnknown.
1384 Doesn't work with BC++ either - crashes on program startup.
1385 - Added Vadim's owner-draw modifications - will probably remain
1386 Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample.
1387 - Added wxLB_OWNERDRAW for owner-draw listboxes.
1388 - Vadim's wxCheckListBox derives from wxListBox. See checklst sample.
1389 Doesn't entirely work for WIN16.
1390 - Vadim has added wxMenuItem as a separate file menuitem.cpp. It
1391 can also be used as an argument to wxMenu::Append, not just for
1392 internal implementation.
1393 - Some #ifdefs done for MINGW32 compilation (just alter OPTIONS
1394 in makeg95.env, together with mingw32.bat). However, resource
1395 binding is not working yet so most apps with dialogs crash.
1396
1397 Generic:
1398
1399 - Added Vadim's dynarray.h, dynarray.cpp.
1400 - Added Vadim's menuitem.cpp.
1401 - Added Windows-specific wxCheckListBox,
1402 owner-draw wxListBox, and drag-and-drop
1403 (see docs/msw/changes.txt).
1404
1405 Alpha 5, 14th February 1998
1406 --------------------------
1407
1408 wxMSW:
1409
1410 - GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
1411 DISTRIBUTIONS. This change log will therefore now refer to
1412 the Windows-specific code only. See docs/changes.txt for generic
1413 changes.
1414 - Removed Windows-specific reference counting system (GDI
1415 resources were cleaned up in idle time) - minimal
1416 advantages now we have a wxWin reference counting system.
1417 - Added missing WXDLLEXPORT keywords so DLL compilation works
1418 again.
1419 - Removed most warnings for GnuWin32 compilation.
1420 - Added wxRegion/wxRegionIterator, but haven't yet used it in
1421 e.g. wxDC.
1422
1423 Generic:
1424
1425 - GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE
1426 DISTRIBUTIONS. This change log will therefore now refer to
1427 the generic code only. See docs/msw/changes.txt for Windows-specific
1428 changes.
1429 - Readmes, change logs and installation files now go in
1430 platform-specific directories under docs, e.g. docs/msw,
1431 docs/gtk.
1432 - Added DECLARE_APP and IMPLEMENT_APP macros so wxApp object gets
1433 created dynamically, not as a global object.
1434 - Put wxColour into wx/msw/colour.h, src/msw/colour.cpp.
1435 - Changed names of some include/wx/generic headers to be
1436 consistent and to conform to gcc pragma conventions. Also
1437 changed choicesg.cpp to choicdgg.cpp.
1438 - Added gcc pragmas.
1439 - Added gtk inclusion in include/wx headers.
1440 - Added consistent file headings to source and headers.
1441 - Removed lang.cpp, lang.h and references to wxSTR_... variables;
1442 added a few references to wxTransString.
1443 - Added operator to wxTransString that converts automatically
1444 to wxString, so we can say e.g. wxMessageBox(wxTransString("Hello"), ...).
1445 - samples/internat now works (minimally).
1446 - Added wxMouseEvent::GetPosition and
1447 wxMouseEvent::GetLogicalPosition, both returning wxPoints.
1448 - Made wxSize and wxRect contain longs not ints.
1449 - Cured some memory leaks (thanks Vadim).
1450 - Tidied up OnIdle and introduced RequestMore/MoreRequested so
1451 will only keep processing OnIdle if it returns TRUE from
1452 MoreRequested.
1453
1454 Alpha 4, 31st January 1998
1455 --------------------------
1456
1457 All:
1458
1459 - Changed wxDC functions to take longs instead of floats. GetSize now takes
1460 integer pointers, plus a version that returns a wxSize.
1461 - const keyword added to various wxDC functions.
1462 - Under Windows, wxDC no longer has any knowledge of whether
1463 an associated window is scrolled or not. Instead, the device
1464 origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
1465 - wxScrolledWindow applications can optionally override the virtual OnDraw
1466 function instead of using the OnPaint event handler. The wxDC passed to
1467 OnDraw will be translated by PrepareDC to reflect scrolling.
1468 When drawing outside of OnDraw, must call PrepareDC explicitly.
1469 - wxToolBarBase/wxToolBarSimple similarly changed to allow for
1470 scrolling toolbars.
1471 - Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
1472 to help printing with multiple pages.
1473 - IPC classes given base classes (wxConnectionBase etc.) which
1474 define the API used by different implementations. DDE
1475 implementation updated to use these base classes.
1476 - wxHelpInstance now separated into wxHelpControllerBase (base
1477 for all implementations), wxWinHelpController (uses standard
1478 WinHelp), wxXLPHelpController (talks to wxHelp by DDE or
1479 TCP/IP). There will be others eventually, such as
1480 wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
1481 - Added Vadim Zeitlin's wxString class plus
1482 internationalization code (gettext simulation, wxLocale, etc.).
1483 New files from Vadim:
1484 include\wx\string.h
1485 include\wx\debug.h
1486 include\wx\file.h
1487 include\wx\log.h
1488 include\wx\intl.h
1489 src\common\string.cpp
1490 src\common\log.cpp
1491 src\common\intl.cpp
1492 src\common\file.cpp
1493 No longer use GNU wxString files.
1494 - Split off file-related functions into include\wx\filefn.h and
1495 src\common\filefn.cpp.
1496 - Borland C++ support (WIN32) for main library and
1497 samples, using makefile.b32 files.
1498 - Preparation done for allowing BC++ to compile wxWin as a DLL,
1499 including changes to defs.h.
1500 - wxIntPoint removed, wxPoint is now int, and wxRealPoint
1501 introduced.
1502 - Added wxShowEvent (generated when window is being shown or
1503 hidden).
1504 - Got minimal, docview, mdi samples working for 16-bit VC++ and
1505 cured 16-bit problem with wxTextCtrl (removed global memory
1506 trick).
1507 - Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
1508
1509 Alpha 3, September 1997
1510 -----------------------
1511
1512 All:
1513
1514 - wxListCtrl, wxTreeCtrl, wxImageList classes done.
1515 - Instigated new file hierarchy, split files and classes up more logically.
1516 - PrologIO and some other utils now put into core library.
1517 - Revamped print/preview classes, added wxPageSetupDialog.
1518 - Started documentation.
1519
1520 Alpha 2, 30th April 1997
1521 ------------------------
1522
1523 All:
1524
1525 - EVT_... macros now have at least one argument, for conformance
1526 with MetroWerks compiler.
1527 - Added ids to .wxr file format.
1528 - Got Dialog Editor compiled and running again but need
1529 to extend functionality to be in line with new controls.
1530 Added dialoged\test app to allow dynamic loading of .wxr files
1531 for testing purposes.
1532 - Rewrote wxBitmap to allow installable file type
1533 handlers.
1534 - Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
1535 - Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
1536 fully).
1537 - Added back wxRadioBox.
1538 - Tidied up wx_main.cpp, wxApp class, putting PenWin code in
1539 a separate file.
1540
1541 Alpha 1, 5th April 1997
1542 -----------------------
1543
1544 Generic:
1545
1546 At this point, the following has been achieved:
1547
1548 - A lot, but not all, of the code has been revamped for better
1549 naming conventions, protection of data members, and use of
1550 wxString instead of char *.
1551 - Obsolete functionality deleted (e.g. default wxPanel layout,
1552 old system event system) and code size reduced.
1553 - Class hierarchy changed (see design doc) - base classes such
1554 as wxbWindow now removed.
1555 - No longer includes windows.h in wxWin headers, by using stand-in
1556 Windows types where needed e.g. WXHWND.
1557 - PrologIO revised.
1558 - wxScrolledWindow, wxStatusBar and new MDI classes added.
1559 MDI is now achieved using separate classes, not window styles.
1560 - wxSystemSettings added, and made use of to reflect standard
1561 Windows settings.
1562 - SetButtonFont/SetLabelFont replaced by SetFont; font and colour
1563 settings mucho rationalised.
1564 - All windows are now subclassed with the same window proc to make
1565 event handling far more consistent. Old internal wxWnd and derived
1566 classes removed.
1567 - API for controls revised, in particular addition of
1568 wxValidator parameters and removal of labels for some controls.
1569 - 1 validator written: see examples/validate.
1570 - Event table system introduced (see most samples and
1571 wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
1572 made more flexible, with Push/PopEventHandler allowing a chain
1573 of event handlers.
1574 - wxRadioBox removed - will be added back soon.
1575 - Toolbar class hierarchy revised:
1576 wxToolBarBase
1577 wxToolBarSimple (= old wxToolBar)
1578 wxToolBar95 (= old wxButtonBar under Win95
1579 wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
1580 - Constraint system debugged somewhat (sizers now work properly).
1581 - wxFileDialog, wxDirDialog added; other common dialogs now
1582 have class equivalents. Generic colour and font dialogs
1583 rewritten to not need obsolete panel layout.
1584 - .wxr resource system partially reinstated, though needs
1585 an integer ID for controls. Hopefully the resource system
1586 will be replaced by something better and more efficient
1587 in the future.
1588 - Device contexts no longer stored with window and accessed
1589 with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
1590 variables instead.
1591 - wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
1592 determines whether labels are shown. Other Win95-specific flags
1593 introduced, e.g. for showing ticks.
1594 - Styles introduced for dealing with 3D effects per window, for
1595 any window: all Win95 3D effects supported, plus transparent windows.
1596 - Major change to allow 3D effect support without CTL3D, under
1597 Win95.
1598 - Bitmap versions of button and checkbox separated out into new
1599 classes, but unimplemented as yet because I intend to remove
1600 the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
1601 - utils/wxprop classes working (except maybe wxPropertyFormView)
1602 in preparation for use in Dialog Editor.
1603 - GNU-WIN32 compilation verified (a month or so ago).
1604
1605