X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bac0b3d573930c4f07daa8240b94e55196f12b14..cd5e9298159e58f57e05f3b76c9d4a45e1eefe12:/docs/changes.txt diff --git a/docs/changes.txt b/docs/changes.txt index 522a682064..4fd6357921 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -1,14 +1,988 @@ +wxWindows 2 Change Log +---------------------- +INCOMPATIBLE CHANGES SINCE 2.2.x +================================ -Generic wxWindows 2.0 Change Log --------------------------------- +wxBase: -Note: for platform-specific changes, see wx/docs/XXX/changes.txt -where XXX is one of msw, motif, xt, gtk, mac. +- wxArray::Remove(size_t) has been removed to fix compilation problems + under 64 bit architectures, please replace it with RemoveAt() in your + code. + +- wxArray macros have been changed to fix runtime problems under 64 bit + architectures and as a side effect of this WX_DEFINE_ARRAY() can only be + used now for the pointer types, WX_DEFINE_ARRAY_INT should be used for the + arrays containing non-pointers. + +- wxObject::CopyObject() and Clone() methods were removed because they + simply don't make sense for all objects + +- wxEvent now has a pure virtual Clone() method which must be implemented + by all derived classes, if you have user-defined event classes please + add "wxEvent *Clone() const { return new MyEvent(*this); }" line to them + +- wxCondition now must be used with a mutex, please read the (updated) class + documentation for details and revise your code accordingly: this change was + unfortunately needed as the old class didn't behave correctly in all cases + +- small change to wxStopWatch::Pause() semantics, please see the documentation + + +All (GUI): + +- the event type constants are not constants any more but are dynamically + allocated during run-time which means that they can't be used as case labels + in the switch()es, you must rewrite them to use if()s instead + + You may also define WXWIN_COMPATIBILITY_EVENT_TYPES to get the old behaviour + but this is strongly discouraged, please consider changing your codei + instead! + +- wxDialog does not derive from wxPanel any longer - if you were using it in + your code, please update it. The quick fix for the most cases is to replace + the occurences of wxPanel with wxWindow. + +- wxYES_NO is now wxYES | wxNO and the manifest values of both wxYES and wxNO + have changed (to fix some unfortunate clashes), please check your code to + ensure that no tests for wxYES or wxNO are broken: for example, the following + will *NOT* work any longer: + + if ( flags & wxYES_NO ) + ... do something ... + if ( flags & wxYES ) + ... do something else ... + +- wxGLCanvas now derives directly from wxWindow, not wxScrolledWindow + +- wxGridCellAttrProvider class API changed, you will need to update your code + if you derived any classes from it + +- wxImage::ComputeHistogram()'s signature changed to + unsigned long ComputeHistogram(wxImageHistogram&) const + +- wxEvtHandler cannot be copied/assigned any longer - this never worked but + now it results in compile-time error instead of run-time crashes + +- WXK_NUMLOCK and WXK_SCROLL keys no longer result in EVT_CHAR() events, + they only generate EVT_KEY_DOWN/UP() ones + +- the dialogs use wxApp::GetTopWindow() as the parent implicitly if the + parent specified is NULL, use wxDIALOG_NO_PARENT style to prevent this + from happening + + +wxMSW: + +- build system changed: setup.h is not a static file in include/wx any more + but is created as part of the build process under lib//wx/include + where is of the form (msw|univ)[dll][u][d]. You'll need to update + the include path in your make/project files appropriately. Furthermore, + xpm.lib is no longer used by wxMSW, it was superseded by the wxXPMDecoder + class. You'll need to remove all references to xpm.lib from your + make/project files. + +- child frames appear in the taskbar by default now, use wxFRAME_NO_TASKBAR + style to avoid it, wxFRAME_FLOAT_ON_PARENT style is now obsolete and has no + effect + +- all overloads of wxDC::SetClippingRegion() combine the given region with the + previously selected one instead of replacing it + +- wxGetHomeDir() uses HOME environment variable and if it is set will not + return the programs directory any longer but its value (this function has + never been meant to return the programs directory anyhow) + +- wxHTML apps don't need to include wx/html/msw/wxhtml.rc in resources file + anymore. The file was removed from wxMSW + + +Unix ports: + +- You should use `wx-config --cxxflags` in your makefiles instead of + `wx-config --cflags` for compiling C++ files. CXXFLAGS contains CFLAGS + and the compiler flags for C++ files only, CFLAGS should still be used + to compile pure C files. + + +OTHER CHANGES +============= + +2.3.3 +----- + +wxBase: + +- wxSemaphore class added, many fixed to wxCondition and wxThread (K.S. Sreeram) +- fixes to the command line parsing error and usage messages +- modified wxFileName::CreateTempFileName() to open the file atomically + (if possible) and, especially, not to leak the file descriptors under Unix +- memory leak in wxHTTP fixed (Dimitri) +- fixes to AM_PATH_WXCONFIG autoconf macro +- added wxHashMap class that replaces type-unsafe wxHashTable and is modelled + after (non standard) STL hash_map +- wxLocale now works in Unicode mode +- wxLocale can now load message catalogs in arbitrary encoding +- fixed the bug related to the redrawing on resize introduced in 2.3.2 +- added static wxFontMapper::Get() accessor (use of wxTheFontMapper is now + deprecated) + +Unix (Base/GUI): + +- wxWindows may be built using BSD and Solaris (and possibly other) make + programs and not only GNU make +- wxTCP-based IPC classes now support communicating over Unix domain sockets + +All (GUI): + +- it is now possible to set the icons of different sizes for frames (e.g. a + small and big ones) using the new wxIconBundle class +- implemented radio menu items and radio toolbar buttons +- added possibility to show text in the toolbar buttons +- added wxArtProvider class that can be used to customize the look of standard + wxWindows dialogs +- significantly improved native font support +- wxImage::ComputeHistogram() now uses wxImageHistogram instead of type-unsafe + wxHashTable +- added IFF image handler +- fixed using custom renderers in wxGrid which was broken in 2.3.2 +- support for multiple images in one file added to wxImage (TIFF, GIF and ICO formats) +- support for CUR and ANI files in wxImage added (Chris Elliott) +- wxTextCtrl::GetRange() added +- added wxGetFontFromUser() convenience function +- added EVT_MENU_OPEN and EVT_MENU_CLOSE events +- added Hungarian translations (Janos Vegh) +- added wxImage::SaveFile(filename) method (Chris Elliott) +- added wxImage::FloodFill and implemented wxWindowDC::DoFloodFill method + for GTK+, Mac, MGL, X11, Motif ports (Chris Elliott) +- added (platform-dependent) scan code to wxKeyEvent (Bryce Denney) +- added wxTextCtrl::EmulateKeyPress() + +wxMSW: + +- small appearance fixes for native look under Windows XP +- refresh the buttons properly when the window is resized (Hans Van Leemputten) +- huge (40*) speed up in wxMask::Create() +- changing wxWindows styles also changes the underlying Windows window style +- wxTreeCtrl supports wxTR_HIDE_ROOT style (George Policello) +- fixed flicker in wxTreeCtrl::SetItemXXX() +- fixed redraw problems in dynamically resized wxStaticText +- improvements to wxWindows applications behaviour when the system colours + are changed +- fixed wxProgressDialog for ranges > 65535 +- wxFontEnumerator now returns all fonts, not only TrueType ones +- bugs in handling wxFrame styles (border/caption related) fixed +- showing a dialog from EVT_RADIOBUTTON handler doesn't lead to an infinite + recursion any more +- wxTextCtrl with wxTE_RICH flag scrolls to the end when text is appended to it +- the separators are not seen behind the controls added to the toolbar any more +- wxLB_SORT style can be used with wxCheckListBox +- wxWindowDC and wxClientDC::GetSize() works correctly now +- Added wxTB_NODIVIDER and wxTB_NOALIGN so native toolbar can be used in FL +- Multiline labels in buttons are now supoprted (simply use "\n" in the label) + +wxGTK: + +- wxDirDialog now presents the file system in standard Unix way +- wxButton now honours wxBU_EXACTFIT +- wxStaticBox now honours wxALIGN_XXX styles +- added support for non alphanumeric simple character accelerators ('-', '=') +- new behaviour for wxWindow::Refresh() as it now produces a delayed refresh. + Call the new wxWindow::Update() to force an immediate update +- support for more SGI hardware (12-bit mode among others) +- fixed wxDC::Blit() to honour source DC's logical coordinates +- implemented wxIdleEvent::RequestMore() for simple background tasks + (unlike thread work) +- implemented wxChoice::Delete() + +wxHTML: + +- fixed wxHtmlHelpController's cache files handling on big endian machines +- added blocking and redirecting capabilities to wxHtmlWindow via + wxHtmlWindow::OnOpeningURL() +- fixed alignment handling in tables +- fixed handling to be case insensitive + +2.3.2 +----- + +New port: wxUniv for Win32/GTK+ is now included in the distribution. + +wxBase: + +- wxRegEx class added +- wxGetDiskSpace() function added (Jonothan Farr, Markus Fieber) +- wxTextBuffer and wxTextFile(wxStream) added (Morten Hanssen) +- more fixes to wxMBConv classes. Conversion to and from wchar_t now works with + glibc 2.2 as well as with glibc 2.1. Unix version now checks for iconv()'s + capabilities at runtime instead of in the configure script. + +All (GUI): + +- support for virtual list control added +- column images in report mode of the list control +- wxFindReplaceDialog added (based on work of Markus Greither) +- wxTextCtrl::SetMaxLength() added (wxMSW/wxGTK) +- polygon support in wxRegion (Klaas Holwerda) +- wxStreamToTextRedirector to allow easily redirect cout to wxTextCtrl added +- fixed bug with using wxExecute() to capture huge amounts of output +- new wxCalendarCtrl styles added (Søren Erland Vestø) +- wxWizard changes: loading from WXR support, help button (Robert Cavanaugh) +- wxDirSelector() added (Paul A. Thiessen) +- wxGrid cell editing veto support (Roger Gammans) +- wxListCtrl ITEM_FOCUSED event added +- support for ICO files in wxImage added (Chris Elliott) + +wxMSW: + +- support for the DBCS fonts (CP 932, 936, 949, 950) (Nathan Cook) +- new library naming convention under VC++ -- please change your application + project files + +wxGTK: + +- fixed popup menu positioning bug + +wxHTML: + +- new HTML parser with correct parsing of character entities and fixes + to tags parsing +- added support for animated GIFs + +2.3.1 +----- + +wxBase: + +- Fixes for gcc 3.0 +- Fixed new charset detection code +- ODBC Informix fixes (submitted by Roger Gammans) +- Added ODBC date support to wxVariant +- Added wxDir::Traverse +- Added wxSingleInstanceChecker class +- Removed redundant wxDebugContext functions using C++ streams, + so now standard stream usage should be unnecessary + +All (GUI): + +- Added wxDbGrid class for displaying ODBC tables +- Added EVT_GRID_EDITOR_CREATED and wxGridEditorCreatedEvent so the + user code can get access to the edit control when it is created, (to + push on a custom event handler for example) +- Added wxTextAttr class and SetStyle, SetDefaultStyle and + GetDefaultStyle methods to wxTextCtrl +- Added wxSingleInstanceChecker +- Improvements to Tex2RTF +- Added Paul and Roger Gammans' grid controls +- Bug in wxDocument::Save logic corrected, whereby Save didn't save when not + first-time saved +- Fixed memory leak in textcmn.cpp +- Various wxXML enhancements +- Removed wxCLIP_CHILDREN style from wxSplitterWindow +- Fixed memory leak in DoPrint, htmprint.cpp +- Fixed calendar sample bug with using wxCommandEvent::GetInt() + instead of GetId() +- Added wxDbGrid combining wxODBC classes with wxGrid +- Added more makefiles and project files for contrib hierarchy + +wxMSW: + +- Fixed wxApp::ProcessMessage so controls don't lose their + accelerators when the accelerators are redefined elsewhere +- Accelerators consisting of simple keystrokes (without control, + alt or shift) now work +- Compile fixes for Watcom C++ added +- Compile fixes for Cygwin 1.0 added +- Use SetForegroundWindow() in wxWindow::Raise() instead of BringWindowToTop() +- Replaced wxYield() call in PopupMenu() by a much safer + wxYieldForCommandsOnly() - fixes tree ctrl popup menu bug and other ones +- Enter processing in wxSpinCtrl fixed +- Fixed bug in determining the best listbox size +- Fix for wxFrame's last focus bug +- We now send iconize events +- Fixed wxFrame::SetClientSize() with toolbar bug +- Added mousewheel processing +- Added wxSystemSettings::Get/SetOption so we can configure + wxWindows at run time; used this to implement no-maskblt option + in wxDC +- Fixed bug when using MDIS_ALLCHILDSTYLES style: so now MDI + child frame styles are honoured + +wxGTK: + +- Fixed slider rounding bug +- Added code to set wxFont's default encoding to wxLocale::GetSystemEncoding() +- We now send iconize events +- Fix for discrepancies between wxNotebookEvent and wxNotebook + GetSelection() results + +2.3.0 +----- + +wxBase: + +- fixed problem with wxURL when using static version of the library +- wxZipFSHandler::FindFirst() and FindNext() now correctly list directories +- wxMimeTypesManager now can create file associations too (Chris Elliott) +- wxCopyFile() respects the file permissions (Roland Scholz) +- wxFTP::GetFileSize() added (Søren Erland Vestø) +- wxDateTime::IsSameDate() bug fixed +- wxTimeSpan::Format() now behaves more as expected, see docs +- wxLocale now provides much more convenient API for setting language and + detecting current system language. New API is more abstracted and truly + cross-platform, independent of underlying C runtime library. + +All (GUI): + +- new wxToggleButton class (John Norris, Axel Schlueter) +- wxCalendarCtrl not highlighting the date with time part bug fixed +- wxADJUST_MINSIZE sizer flag added +- FindOrCreateBrush/Pen() bug fix for invalid colour values +- new wxXPMHandler for reading and writing XPM images +- added new (now recommended) API for conversion between wxImage and wxBitmap + (wxBitmap::ConvertToImage() and wxBitmap::wxBitmap(wxImage&) instead of + wxImage methods and ctor) +- ODBC classes now support DB2, Interbase, and Pervasive SQL +- ODBC documentation complete!! +- ODBC classes have much Unicode support added, but not complete +- ODBC experimental BLOB support added, but not completely tested +- ODBC NULL column support completed (Roger/Paul Gammans) +- ODBC All "char *" and char arrays removed and replaced with wxString use + +wxMSW: + +- threads: bug in wxCondition::Broadcast fixed (Pieter van der Meulen) +- fixed bug in MDI children flags (mis)handling +- it is possible to compile wxCHMHelpController with compilers + other than Visual C++ now and hhctrl.ocx is loaded at runtime + +wxGTK: + +- added support for wchar_t (wxUSE_WCHAR_T) under Unix + +wxHTML: + +- mew feature, wxHtmlProcessor for on-the-fly modification of HTML markup +- visual enhancements to contents panel of wxHtmlHelpController + +2.2.0 +----- + +wxBase: + +- Fixed bug with directories with trailing (back)slashes in wxPathExists +- wxString: added wxArrayString::operator==() and !=() +- Fixes for wxCmdLineParser +- Added wxGetLocalTimeMillis +- Completed Czech translations +- Some stream corrections +- added missing consts to wxPoint operators +- wxDateTime ParseFormat fixes +- wxFile::Open(write_append) will create file if it doesn't exist +- small fixes to MIME mailcap test command handling, more MIME tests in the sample + +All (GUI): + +- wxGenericDragImage now allows virtual image drawing, and + flicker-free dragging is now possible +- Added wxPrinter::GetLastError +- Fixed wxLogGui reentrancy problem +- Paper names now translated +- wxGrid fixes +- Generic validator now caters for more cases (integers in + wxTextCtrl, strings in wxChoice, wxComboBox) +- Fixed crash when docview On... functions return FALSE. Show + error message when an non-existent filename is typed into the Open + File dialog. +- Corrected Baltic font encoding handling +- wxImage: enhanced TIFF code, added new platform-independent BMP + writing code +- wxKeyEvent::GetKeyCode() and HasModifiers() added and documented +- Fixed wxPropertyForm crashes in sample +- wxWizard now calls TransferDataFromWindow() before calling + wxWizardPage::GetNext() fixing an obvious bug + +wxMSW: + +- wxWindow::GetCharWidth/Height now calculated accurately. + This will affect all .wxr dialog resources, so for + backward compatibility, please set + wxDIALOG_UNIT_COMPATIBILITY to 1 in setup.h +- wxListCtrl: set item text in LIST_ITEM_ACTIVATED events +- wxTextCtrl: implemented setting colours for rich edit controls +- wxColour now accepts both grey and gray +- BC++ DLL compilation fixed +- Watcom C++ makefiles improved for JPEG and TIFF compilation +- Fixed submenu accelerator bug +- Fixed dialog focus bug (crash if the previous window to have + the focus was destroyed before the dialog closed) +- Too-small default wxTextCtrl height fixed +- fixed "missing" initial resize of wxMDIChildFrame +- wxFrame restores focus better +- Now ignore wxTHICK_FRAME in wxWindow constructor: only relevant to + frames anddialogs, interferes with other window styles otherwise + (sometimes you'd get a thick frame in a subwindow) +- wxTextCtrl insertion point set to the beginning of the control by SetValue +- Fix so wxMDIParentFrame is actually shown when Show(TRUE) is called. +- wxFileDialog: adjusts struct size if there's an error (struct + sizes can be different on different versions of Windows) +- wxImageList::GetSize() documented and added to wxMSW +- fixed default dialog style to make them non resizeable again +- fixed wxFrame::IsShown() which always returned TRUE before + +wxGTK: + +- Please see docs/gtk/changes.txt. + +wxMotif: + +- Small compilation fixes + +Documentation: + +- wxCaret documented + +2.1.16 +------ + +wxBase: + +All (GUI): + +wxMSW: + +- Various bug fixes +- Added wxCHMHelpController, for invoking MS HTML Help + files. This works under VC++ only +- Modal dialog handling improved +- Printer dialog now modal + +wxGTK: + +- Various bug fixes + +wxMotif: + +- Various bug fixes + +2.1.15 +------ + +Documentation: + +- Added docs/tech for technical notes + +File hierarchy: + +- Started new contrib hierarchy that mirrors + the main lib structure; moved OGL and MMedia into it + +wxBase: + +- wxSocket support +- wxDateTime replaces and extends old wxDate and wxTime classes (still + available but strongly deprecated) with many new features +- wxLongLong class provides support for (signed) 64 bit integers +- wxCmdLineParser class for parsing the command line (supporting short and + long options, switches and parameters of different types) +- it is now possible to build wxBase under Win32 (using VC++ only so far) + and BeOS (without thread support yet) +- wxThread class modified to support both detached and joinable threads, also + added new GetCPUCount() and SetConcurrency() functions (useful under Solaris + only so far) +- wxDir class for enumerating files in a directory +- wxLog functions are now (more) MT-safe +- wxStopWatch class, timer functions have more chances to return correct + results for your platform (use ANSI functions where available) +- wxString::ToLong, ToULong, ToDouble methods and Format() static one added +- buffer overflows in wxString and wxLog classes fixed (if snprintf() function + is available) +- wxArray::RemoveAt() replaces deprecated wxArray::Remove(index) + +all (GUI): + +- Added wxImage::Rotate. +- new wxCalendarCtrl class for picking a date interactively +- wxMenu(Bar)::Insert() and Remove() functions for dynamic menu menagament +- wxToolBar supports arbitrary controls (not only buttons) and can be + dynamically changed (Delete/Insert functions) +- vertical toolbars supported by MSW and GTK native wxToolBar classes +- wxTreeCtrl and wxListCtrl allow setting colour/fonts for individual items +- "file open" dialog allows selecting multiple files at once (contributed by + John Norris) +- wxMimeTypesManager uses GNOME/KDE MIME database to get the icons for the + MIME types if available (Unix only) +- wxDC::DrawRotatedText() (based on contribution by Hans-Joachim Baader) +- TIFF support added (libtiff required and included in the distribution) +- PCX files can now be written (256 and 24 bits) +- validators may work recursively if wxWS_EX_VALIDATE_RECURSIVELY is set +- wxScrolledWindow now has keyboard interface +- wxTextEntryDialog may be used for entering passwords (supports wxTE_PASSWORD) +- added wxEncodingConverter and improved wxFontMapper + for dealing with convertions between different encodings, + charsets support in wxLocale and wxHTML +- wxDragImage class added +- samples/help improved to show standard and advanced HTML help + controllers, as well as native help +- moved wxTreeLayout class to main lib + +wxMSW: + +- wxFrame::MakeFullScreen added. +- support for enhanced metafiles added, support for copying/pasting metafiles + (WMF and enhanced ones) fixed/added. +- implemented setting colours for push buttons +- wxStatusBar95 may be now used in dialogs, panels (not only frames) and can be + positioned along the top of the screen and not only at the bottom +- wxTreeCtrl::IsVisible() bug fixed (thanks to Gary Chessun) +- loading/saving big (> 32K) files in wxTextCtrl works +- tooltips work with wxRadioBox +- wxBitmap/wxIcon may be constructed from XPM included into a program, as in + Unix ports +- returning FALSE from OnPrintPage() aborts printing +- VC++ makefiles and project files made (mostly) consistent +- wxSetCursorEvent added + +wxGTK: + +- wxFontMapper endless recursion bug (on some systems) fixed +- wxGTK synthesizes wxActivateEvents +- UpdateUI handlers may be used with wxTextCtrl + +wxMotif: + +- wxMenu::Enable works +- wxToolBar bugs fixed +- OGL samples made to work again + +wxHTML: + +- almost complete rewrite of wxHtmlHelpController, + including faster search, bookmarks, printing, setup dialog + and cross-platform binary compatible .cached files for faster + loading of large helpbooks, case insensitive search + splitted into 3 parts: wxHtmlHelpData, Frame and Controller +- added support for charsets and tag +- added support for font faces and justified paragraphs, + taken some steps to prepare wxHTML for frames +- added dynamic pushing/poping of wxHtmlParser tag handlers +- improved HTML printing +- added extensive table of HTML characters substitutions (  etc.) +- fixed wxHtmlWindow flickering, several minor bugfixes +- added some tags:
, , , , , , + fixed handling of relative and absolute font sizes in + + +NOTE: for changes after wxWindows 2.1.0 b4, please see the CVS +change log. + +2.1.0, b4, May 9th 1999 +----------------------- + +wxGTK: + +- JPEG support added. +- Many fixes and changes not thought worth mentioning in this file :-) + +wxMSW: + +- wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added; + SetTabSize added. +- JPEG support added. +- Fixes for Cygwin compilation. +- Added wxGA_SMOOTH and wxFRAME_FLOAT_ON_PARENT styles. +- Many fixes people didn't tell this file about. + +wxMotif: + + +General: + +- Some changes for Unicode support, including wxchar.h/cpp. + + +2.0.1 (release), March 1st 1999 +------------------------------- + +wxGTK: + +- wxGLCanvas fixes. +- Slider/spinbutton fixes. + +wxMSW: + +- Fixed problems with in dialogs/panels. +- Fixed window cursor setting. +- Fixed toolbar sizing and edge-clipping problems. +- Some makefile fixes. + +wxMotif: + +- None. + +General: + +- Added wxUSE_SOCKETS. +- More topic overviews. +- Put wxPrintPaperType, wxPrintPaperDatabase into + prntbase.h/cpp for use in non-PostScript situations + (e.g. Win16 wxPageSetupDialog). + + +Beta 5, February 18th 1999 +-------------------------- + +wxGTK: + +- wxExecute improved. + +wxMSW: + +- Fixed wxWindow::IsShown (::IsWindowVisible doesn't behave as + expected). +- Changed VC++ makefiles (.vc) so that it's possible to have + debug/release/DLL versions of the library available simultaneously, + with names wx.lib, wx_d.lib, wx200.lib(dll), wx200_d.lib(dll). +- Added BC++ 5 IDE files and instructions. +- Fixed wxChoice, wxComboBox constructor bugs (m_noStrings initialisation). +- Fixed focus-related crash. + +wxMotif: + +- Cured asynchronous wxExecute crash. +- Added repaint event handlers to wxFrame, wxMDIChildFrame. + +General: + +- wxLocale documented. +- Added include filenames to class reference. +- wxHelpController API changed: SetBrowser becomes SetViewer, + DisplaySection works for WinHelp, help sample compiles under Windows + (though doesn't display help yet). + +Beta 4, February 12th 1999 +-------------------------- + +wxGTK: + +- Miscellaneous fixes. + +wxMSW: + +- Makefiles for more compilers and samples; Cygwin makefiles + rationalised. +- Added VC++ project file for compiling wxWindows as DLL. + +wxMotif: + +- Added OnEraseBackground invocation. +- Added wxRETAINED implementation for wxScrolledWindow. +- Cured scrolling display problem by adding XmUpdateDisplay. +- Tried to make lex-ing in the makefile more generic (command line + syntax should apply to both lex and flex). +- Changed file selector colours for consistency (except for buttons: + crashes for some reason). +- Fixed wxMotif version of wxImage::ConvertToBitmap (used new instead + of malloc, which causes memory problems). + +General: + +- Further doc improvements. +- wxGenericValidator added. +- Added wxImageModule to image.cpp, so adds/cleans up standard handlers + automatically. + +Beta 3, January 31st 1999 +------------------------- + +wxGTK: + +- wxClipboard/DnD API changes (still in progress). +- wxToolTip class added. +- Miscellaneous fixes. + +wxMSW: + +- wxRegConfig DeleteAll bug fixed. +- Makefiles for more compilers. +- TWIN32 support added. +- Renamed VC++ makefiles from .nt to .vc, and + factored out program/library settings. +- Fixed wxIniConfig bug. + +wxMotif: + +- A few more colour fixes. +- wxGLCanvas and OpenGL samples working. +- Some compiler warnings fixed. +- wxChoice crash fix. +- Dialog Editor starting to work on Motif. + +General: + +- wxBusyCursor class added. +- Added samples/dde. +- More doc improvements, incl. expanding docs/html/index.htm. + +Beta 2, January 1999 +-------------------- + +wxGTK: + +wxMSW: + +- 16-bit BC++ compilation/linking works albeit without the resource system. + +wxMotif: + +- Cured wxScreenDC origin problem so e.g. sash window sash is drawn at + the right place. +- Cured some widget table clashes. +- Added thread support (Robert). +- wxPoem sample now works. + +General: + +- Rearranged documentation a bit. +- Sash window uses area of first frame/dialog to paint over when drawing + the dragged sash, not just the sash window itself (it clipped to the right + or below). +- Made resource sample use the correct Cancel button id. +- Moved wxProp to main library (generic directory), created proplist + sample. +- Added bombs and fractal samples. + +Beta 1, December 24th 1998 +-------------------------- + +wxGTK: + +- Various + +wxMSW, wxMotif: not in sync with this release. + + +Alpha 18, December 29th 1998 +---------------------------- + +wxMSW: + +- Win16 support working again (VC++ 1.5) +- Win16 now uses generic wxNotebook, wxListCtrl, + wxTreeCtrl -- more or less working now, although + a little work on wxNotebook is still needed. + Under 16-bit Windows, get assertion when you click + on a tab. +- Wrote 16-bit BC++ makefiles: samples don't yet link. +- Added CodeWarrior support to distribution courtesy + of Stefan Csomor. + +wxMotif: + +- Cured scrolling problem: scrollbars now show/hide themselves + without (permanently) resizing the window. +- Removed some commented-out lines in wxScrolledWindow::AdjustScrollbars + that disabled scrollbar paging. +- Set background colour of drawing area in wxWindow, so e.g. wxListCtrl + colours correctly. +- Removed major bug whereby dialogs were unmanaged automatically + when any button was pressed. +- Fixed colours of wxWindow scrollbars, made list and text controls + have a white background. +- Fixed dialog colour setting. +- Added settable fonts and colours for wxMenu/wxMenuBar. Now + they have sensible colours by default. +- Fixed a bug in wxStaticBox. +- Cured wxTreeCtrl bug: now works pretty well! +- Debugged DrawEllipticArc (a ! in the wrong place). +- Added SetClippingRegion( const wxRegion& region ). +- Added wxPoint, wxSize, wxRect versions of SetSize etc. + +Alpha 17, November 22nd 1998 +---------------------------- + +wxMSW: + +- More documentation updates, especially for + wxLayoutWindow classes and debugging facilities. +- Changed wxDebugContext to use wxDebugLog instead + of wxTrace. +- Now supports VC++ 6.0, and hopefully BC++ 5.0. + However, DLL support may be broken for BC++ since + VC++ 6 required changing of WXDLLEXPORT keyword + position. +- Numerous miscellaneous changes. + +wxMotif: + +- Reimplemented MDI using wxNotebook instead of the MDI widgets, which + were too buggy (probably not design for dynamic addition/removal of + child frames). +- Some improvements to the wxNotebook implementation. +- wxToolBar now uses a bulletin board instead of a form, in an attempt + to make it possible to add ordinary wxControls to a toolbar. +- Cured problem with not being able to use global memory operators, + by defining two more global operators, so that the delete will match + the debugging implementation. +- Added wxUSE_DEBUG_NEW_ALWAYS so we can distinguish between using + global memory operators (usually OK) and #defining new to be + WXDEBUG_NEW (sometimes it might not be OK). +- Added time.cpp to makefile; set wxUSE_DATETIME to 1. +- Added a parent-existance check to popup menu code to make it not crash. +- Added some optimization in wxWindow::SetSize to produce less flicker. + It remains to be seen whether this produces any resize bugs. + +It's a long time since I updated this file. Previously done: + +- wxFrame, wxDialog done. +- wxScrolledWindow done (but backing pixmap not used at present). +- wxBitmap done though could be tidied it up at some point. +- Most basic controls are there, if not rigorously tested. +- Some MDI support (menus appear on child frames at present). +- wxNotebook almost done. +- wxToolBar done (horizontal only, which would be easy to extend + to vertical toolbars). + +More recently: + +- Colour and font changing done (question mark over what happens + to scrollbars). +- Accelerators done (for menu items and buttons). Also event loop + tidied up in wxApp so that events are filtered through ProcessXEvent. +- wxWindow::GetUpdateRegion should now work. + +Alpha 16, September 8th 1998 +---------------------------- + +wxMSW: + +- Added wxSashWindow, wxSashLayoutWindow classes, and sashtest + sample. +- Guilhem's socket classes added, plus wxsocket sample. +- A few more makefiles added. +- GnuWin32/BC++ compatibility mods. +- Further doc updates. +- wxProp updates for correct working with wxGTK. + +wxMotif: + +- First start at Motif port. +- Made makefiles for wxMotif source directory and minimal sample. +- First go at wxApp, wxWindow, wxDialog, wxPen, wxBrush, wxFont, + wxColour, wxButton, wxCheckBox, wxTextCtrl, wxStaticText, + wxMenu, wxMenuItem, wxMenuBar + +Alpha 15, August 31st 1998 +-------------------------- + +wxMSW: + +- wxBitmap debugged. +- wxDC::GetDepth added. +- Contribution added whereby wxBitmap will be + converted to DC depth if they don't match. +- wxConfig API improved, documentation updated. +- Printing classes name conventions cleaned up. +- wxUpdateUIEvent now derives from wxCommandEvent + so event can travel up the window hierachy. + +Alpha 14, July 31st 1998 +------------------------ + +wxMSW: + +- Toolbar API has been simplified, and now + wxFrame::GetClientArea returns the available client + area when toolbar, status bar etc. have been accounted for. + wxFrame::CreateToolBar added in line with CreateStatusBar. +- Documentation updates, incl. for wxToolBar. +- New wxAcceleratorTable class plus wxFrame::SetAcceleratorTable. +- Various additions from other folk, e.g. streams, wxConfig + changes, wxNotebook. +- Added wxDocMDIParentFrame, wxDocMDIChildFrame for doc/view. + +Alpha 13, July 8th 1998 +----------------------- + +wxMSW: + +- Implemented wxPoint as identical to POINT on Windows, and + altered wxDC wxPoint functions to use wxPoint directly in + Windows functions, for efficiency. +- Cured wxASSERT bug in wxStatusBar95. +- #ifdefed out some bits in oleutils.cpp for compilers that + don't support it. +- Added some operators to wxPoint, wxSize. +- Added inline wxDC functions using wxPoint, wxSize, wxRect. + +Alpha 12, July 7th 1998 +----------------------- + +wxMSW: + +- Added wxApp::GetComCtl32Version, and wxTB_FLAT style, so can + have flat toolbars on Win98 or Win95 with IE >= 3 installed. + +Alpha 11, July 3rd 1998 +----------------------- + +wxMSW: + +- Added thread.h, thread.cpp. +- Changed Enabled, Checked to IsEnabled, IsChecked in wxMenu, + wxMenuBar. +- Changed wxMenuItem::SetBackColor to SetBackgroundColour, + SetTextColor to SetTextColour, and added or made public several + wxMenuItem accessors. +- Added two overloads to wxRegion::Contains. Added + wxRegion::IsEmpty for a more consistent naming convention. +- Added Vadim's wxDataObject and wxDropSource. +- ENTER/LEAVE events now work. +- Cured wxMemoryDC bug where the DC wasn't being deleted. +- Cured wxGauge SetSize major bugginess. +- Cured problem where if a GDI object was created on the stack, + then went out of scope, then another object was selected into + the DC, GDI objects would leak. This is because the assignment + to e.g. wxDC::m_pen would delete the GDI object without it first + being selected out of the DC. Cured by selecting the old DC object + first, then doing the assignment. +- Split up wxGaugeMSW, wxGauge95, wxSliderMSW, wxSlider95 +- Various other bug fixes and additions. + +Generic: + +- Major work on Dialog Editor (still plenty to go). +- Expanded documentation a bit more. + +Alpha 10, May 7th 1998 +---------------------- + +wxMSW: + +- Added desiredWidth, desiredHeight parameters to wxBitmapHandler + and wxIcon functions so that you can specify what size of + icon should be loaded. Probably will remain a Windows-specific thing. +- wxStatusBar95 now works for MDI frames. +- Toolbars in MDI frames now behave normally. They still + require application-supplied positioning code though. +- Changed installation instructions, makefiles and batch files + for compiling with Gnu-Win32/Mingw32/EGCS. Also timercmn.cpp + change to support Mingw32/EGCS. Bison now used by default. Alpha 9, April 27th 1998 ------------------------ +wxMSW: + +- Cured bug in wxStatusBar95 that caused a crash if multiple + fields were used. +- Added Gnu-Win32 b19/Mingw32 support by changing resource + compilation and pragmas. +- Cured wxMenu bug introduced in alpha 8 - didn't respond to + commands because VZ changed the id setting in wxMenu::MSWCommand. + +Generic: + - Corrected some bugs, such as the wxModule compilation problem. - Added Gnu-Win32 b19/Mingw32 support by changing resource compilation and pragmas. @@ -17,6 +991,32 @@ Alpha 9, April 27th 1998 Alpha 8, April 17th 1998 ------------------------ +wxMSW: + +- Added IsNull to wxGDIObject to check if the ref data is present or not. +- Added PNG handler and sample - doesn't work for 16-bit PNGs for + some reason :-( +- Added wxJoystick class and event handling, and simple demo. +- Added simple wxWave class. Needs Stop() function. +- Added wxModule (module.h/module.cpp) to allow definition + of modules to be initialized and cleaned up on wxWindows + startup/exit. +- Start of Mingw32 compatibility (see minimal and dialogs samples + makefile.m95 files, and install.txt). +- Note: Windows printing has stopped working... will investigate. +VADIM'S CHANGES: +- Updated wxString: bug fixes, added wxArrayString, some + compatibility functions. +- Updated log.h/cpp, added wxApp::CreateLogTarget. +- file.h: new wxTempFile class. +- defs.h: added wxSB_SIZE_GRIP for wxStatusBar95 +- statbr95: wxStatusBar95 control. +- registry.h/cpp: wxRegKey class for Win95 registry. +- listbox.cpp: corrected some bugs with owner-drawn listboxes. +- wxConfig and wxFileConfig classes. + +Generic: + - Added src/other/png, src/other/zlib directories. - Added samples/png. - IMPORTANT: Changed 'no id' number from 0 to -1, in wxEVT_ macros. @@ -27,6 +1027,27 @@ Alpha 8, April 17th 1998 Alpha 7, March 30th 1998 ------------------------ +wxMSW: + +- Added tab classes, tab sample. +- Now can return FALSE from OnInit and windows will be + cleaned up properly before exit. +- Improved border handling so panels don't get borders + automatically. +- Debugged MDI activation from Window menu. +- Changes to memory debug handling, including checking for + memory leaks on application exit - but see issues.txt for + unresolved issues. +- Added wxTaskBarIcon (taskbar.cpp/h, plus samples/taskbar) + to allow maintenance of an icon in the Windows 95 taskbar + tray area. +- Got MFC sample working (MFC and wxWindows in the same + application), partly by tweaking ntwxwin.mak settings. +- Got DLL compilation working again (VC++). +- Changed wxProp/Dialog Editor filenames. + +Generic: + - Added tab classes, tab sample. - Revised memory.cpp, memory.h slightly; memory.h now #defines new to WXDEBUG_NEW in DEBUG mode. Windows implementation app.cpp @@ -44,6 +1065,36 @@ Alpha 7, March 30th 1998 Alpha 6, March 10th 1998 ------------------------ +wxMSW: + +- Found stack error bug - stopped unwanted OnIdle recursion. +- Removed bug in wxTreeCtrl::InsertItem I added in alpha 5. +- Changed exit behaviour in wxApp/wxFrame/wxDialog. Now will + check if the number of top-level windows is zero before + exiting. Also, wxApp::GetTopWindow will return either + m_topWindow or the first member of wxTopLevelWindows, so you + don't have to call wxApp::SetTopWindow. +- Added dynarray.h/dynarray.cpp (from Vadim). +- Added first cut at OLE drag and drop (from Vadim). dnd sample + added. Drop target only at this stage. See src/msw/ole/*.cpp, + wx/include/msw/ole/*.h. WIN32 only because of UUID usage. + Doesn't work with GnuWin32 - no appropriate headers e.g. for + IUnknown. + Doesn't work with BC++ either - crashes on program startup. +- Added Vadim's owner-draw modifications - will probably remain + Windows-only. This enhances wxMenu, wxListBox. See ownerdrw sample. +- Added wxLB_OWNERDRAW for owner-draw listboxes. +- Vadim's wxCheckListBox derives from wxListBox. See checklst sample. + Doesn't entirely work for WIN16. +- Vadim has added wxMenuItem as a separate file menuitem.cpp. It + can also be used as an argument to wxMenu::Append, not just for + internal implementation. +- Some #ifdefs done for MINGW32 compilation (just alter OPTIONS + in makeg95.env, together with mingw32.bat). However, resource + binding is not working yet so most apps with dialogs crash. + +Generic: + - Added Vadim's dynarray.h, dynarray.cpp. - Added Vadim's menuitem.cpp. - Added Windows-specific wxCheckListBox, @@ -53,6 +1104,23 @@ Alpha 6, March 10th 1998 Alpha 5, 14th February 1998 -------------------------- +wxMSW: + +- GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE + DISTRIBUTIONS. This change log will therefore now refer to + the Windows-specific code only. See docs/changes.txt for generic + changes. +- Removed Windows-specific reference counting system (GDI + resources were cleaned up in idle time) - minimal + advantages now we have a wxWin reference counting system. +- Added missing WXDLLEXPORT keywords so DLL compilation works + again. +- Removed most warnings for GnuWin32 compilation. +- Added wxRegion/wxRegionIterator, but haven't yet used it in + e.g. wxDC. + +Generic: + - GENERIC AND MSW-SPECIFIC CODE NOW TREATED AS TWO SEPARATE DISTRIBUTIONS. This change log will therefore now refer to the generic code only. See docs/msw/changes.txt for Windows-specific @@ -85,6 +1153,8 @@ Alpha 5, 14th February 1998 Alpha 4, 31st January 1998 -------------------------- +All: + - Changed wxDC functions to take longs instead of floats. GetSize now takes integer pointers, plus a version that returns a wxSize. - const keyword added to various wxDC functions. @@ -138,6 +1208,8 @@ Alpha 4, 31st January 1998 Alpha 3, September 1997 ----------------------- +All: + - wxListCtrl, wxTreeCtrl, wxImageList classes done. - Instigated new file hierarchy, split files and classes up more logically. - PrologIO and some other utils now put into core library. @@ -147,6 +1219,8 @@ Alpha 3, September 1997 Alpha 2, 30th April 1997 ------------------------ +All: + - EVT_... macros now have at least one argument, for conformance with MetroWerks compiler. - Added ids to .wxr file format. @@ -166,6 +1240,8 @@ Alpha 2, 30th April 1997 Alpha 1, 5th April 1997 ----------------------- +Generic: + At this point, the following has been achieved: - A lot, but not all, of the code has been revamped for better