93e0db9a80
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2237 lines
87 KiB
Plaintext
2237 lines
87 KiB
Plaintext
------------------------
|
||
wxWidgets 2.5 Change Log
|
||
------------------------
|
||
|
||
INCOMPATIBLE CHANGES SINCE 2.4.x
|
||
================================
|
||
|
||
Please take a few minutes to read the following list, especially
|
||
paying attention to the most important changes which are marked
|
||
with '!' in the first column.
|
||
|
||
Also please note that you should ensure that WXWIN_COMPATIBILITY_2_4
|
||
is defined to 1 if you wish to retain maximal compatibility with 2.4
|
||
series.
|
||
|
||
! windows are no longer fully repainted when resized, use new style
|
||
wxFULL_REPAINT_ON_RESIZE to force this (wxNO_FULL_REPAINT_ON_RESIZE still
|
||
exists but doesn't do anything any more, this behaviour is default now)
|
||
|
||
! wxWindow::m_font and m_backgroundColour/m_foregroundColour are no longer
|
||
always set, use GetFont(), GetBack/ForegroundColour() to access
|
||
them, and they will be dynamically determined if necessary.
|
||
|
||
|
||
! The Sizers have had some fundamental internal changes in the 2.5.2
|
||
and 2.5.3 releases intended to make them do more of the "Right
|
||
Thing" but also be as backwards compatible as possible. First a bit
|
||
about how things used to work:
|
||
|
||
* The size that a window had when Add()ed to the sizer was assumed
|
||
to be its minimal size, and that size would always be used by
|
||
default when calculating layout size and positions, and the
|
||
sizer itself would keep track of that minimal size.
|
||
|
||
* If the window item was Add()ed with the wxADJUST_MINSIZE flag
|
||
then when layout was calculated the item's GetBestSize would be
|
||
used to reset the minimal size that the sizer used.
|
||
|
||
The main thrust of the new Sizer changes was to make behaviour like
|
||
wxADJUST_MINSIZE be the default, and also to push the tracking of
|
||
the minimal size to the window itself (since it knows its own needs)
|
||
instead of having the sizer take care of it. Consequently these
|
||
changes were made:
|
||
|
||
* The wxFIXED_MINSIZE flag was added to allow for the old
|
||
behaviour. When this flag is used the size a window has when
|
||
Add()ed to the sizer will be treated as its minimal size and it
|
||
will not be readjusted on each layout.
|
||
|
||
* The min size stored in wxWindow and settable with SetSizeHints or
|
||
SetMinSize will by default be used by the sizer (if it was set)
|
||
as the minimal size of the sizer item. If the minsize was not
|
||
set (or was only partially set) then the window's best size is
|
||
fetched and it is used instead of (or blended with) the minsize.
|
||
wxWindow:GetBestFittingSize was added to facilitate getting the
|
||
size to be used by the sizers.
|
||
|
||
* The best size of a window is cached so it doesn't need to
|
||
recaculated on every layout. wxWindow::InvalidateBestSize was
|
||
added and should be called (usually just internally in control
|
||
methods) whenever something is done that would make the best
|
||
size change.
|
||
|
||
* All wxControls were changed to set the minsize to what is passed
|
||
to the constructor or Create method, and also to set the real
|
||
size of the control to the blending of the minsize and bestsize.
|
||
wxWindow::SetBestFittingSize was added to help with this,
|
||
although most controls don't need to call it directly because it
|
||
is called indirectly via the SetInitialSize called in the base
|
||
classes.
|
||
|
||
At this time, the only situation known not to work the same as
|
||
before is the following:
|
||
|
||
win = new SomeWidget(parent);
|
||
win->SetSize(SomeNonDefaultSize);
|
||
sizer->Add(win);
|
||
|
||
In this case the old code would have used the new size as the
|
||
minimum, but now the sizer will use the default size as the minimum
|
||
rather than the size set later. It is an easy fix though, just move
|
||
the specification of the size to the constructor (assuming that
|
||
SomeWidget will set its minsize there like the rest of the controls
|
||
do) or call SetMinSize instead of SetSize.
|
||
|
||
In order to fit well with this new scheme of things, all wxControls
|
||
or custom controls should do the following things. (Depending on
|
||
how they are used you may also want to do the same thing for
|
||
non-control custom windows.)
|
||
|
||
* Either override or inherit a meaningful DoGetBestSize method
|
||
that calculates whatever size is "best" for the control. Once
|
||
that size is calculated then there should normally be a call to
|
||
CacheBestSize to save it for later use, unless for some reason
|
||
you want the best size to be recalculated on every layout.
|
||
|
||
* Any method that changes the attributes of the control such that
|
||
the best size will change should call InvalidateBestSize so it
|
||
will be recalculated the next time it is needed.
|
||
|
||
* The control's constructor and/or Create method should ensure
|
||
that the minsize is set to the size passed in, and that the
|
||
control is sized to a blending of the min size and best size.
|
||
This can be done by calling SetBestFittingSize.
|
||
|
||
|
||
|
||
- no initialization/cleanup can be done in wxApp/~wxApp because they are
|
||
now called much earlier/later than before; please move any exiting code
|
||
from there to wxApp::OnInit()/OnExit()
|
||
- also, OnExit() is not called if OnInit() fails
|
||
- finally the program exit code is OnRun() return value, not OnExit() one
|
||
- wxTheApp can't be assigned to any longer, use wxApp::SetInstance() instead
|
||
- wxFileType::GetIcon() returns wxIconLocation, not wxIcon
|
||
- wxColourDatabase is not a wxList any more, use AddColour to add new colours
|
||
- wxWindow::Clear() is now called ClearBackground()
|
||
- pointer returned by wxFont::GetNativeFontInfo() must not be deleted now
|
||
- wxMouseEvent::Moving() doesn't return true if mouse is being dragged any more
|
||
- (most) controls now inherit parents colours by default, override
|
||
ShouldInheritColours() to return false if you don't want this to happen
|
||
- wxApp::SendIdleEvent() now takes 2 arguments
|
||
- wxTabView::GetLayers() changed return type from wxList& to wxTabLayerList&
|
||
(when WXWIN_COMPATIBILITY_2_4 == 0)
|
||
- wxID_SEPARATOR (id used for the menu separators) value changed from -1 to -2
|
||
- wxGetNumberFromUser() is now in separate wx/numdlg.h, not wx/textdlg.h
|
||
- wxChoice and wxCombobox now handle their size in the same way as in all the
|
||
other ports under MSW, new code is actually correct but different from weird
|
||
stuff they were doing before so the behaviour of your programs might change
|
||
- wxTaskBarIcon objects must now be destroyed before the application can exit.
|
||
Previously, the application terminated if there were no top level windows;
|
||
now it terminates if there are no top level windows or taskbar icons left.
|
||
- wxZlibInputStream is not by default compatible with the output of the
|
||
2.4.x version of wxZlibOutputStream. However, there is a compatibilty mode,
|
||
switched on by passing wxZLIB_24COMPATIBLE to the constructor.
|
||
- when WXWIN_COMPATIBILITY_2_4 == 0 wxHashTable uses a new implementation
|
||
not using wxList keyed interface (the same used when wxUSE_STL == 1),
|
||
the only incompatibility being that Next() returns a wxHashTable::Node*
|
||
instead of a wxNode*.
|
||
- non-const wxDC methods GetBackground(), GetBrush(), GetFont() and GetPen()
|
||
as well as wxWindow methods GetFont() and GetCursor() don't exist any more,
|
||
please fix your code -- it never worked correctly anyhow if you modified the
|
||
objects returned by these methods so you should simply switch to using const
|
||
methods.
|
||
- wxWindow::GetFont() now returns wxFont object instead of reference
|
||
- EVT_XXX macros are now type-safe; code that uses wrong type for event
|
||
handler's argument will no longer compile.
|
||
- Identical functionality of wxFileDialog::ParseWildcard,
|
||
wxGenericDirCtrl::ParseFilter, Motif and MSW parsing native dialogs
|
||
is now accessible in ::wxParseCommonDialogsFilter
|
||
- wxNotebookSizer and wxBookCtrlSizer are now deprecated -- they are no longer
|
||
needed, you can treat wxNotebook as any other control and put it directly
|
||
into the sizer that was wxNotebookSizer's parent sizer in old code.
|
||
- wxFile methods now return either wxFileOffset or wxFileSize_t which may be a
|
||
64 bit integer type, even on 32 bit platforms, instead of off_t and so the
|
||
return value of wxFile::Length(), for example, shouldn't be assigned to off_t
|
||
variable any more (the compiler might warn you about this)
|
||
- wxListItem::m_data is now of type wxUIntPtr, not long, for compatibility
|
||
with 64 bit systems
|
||
|
||
|
||
DEPRECATED METHODS SINCE 2.4.x
|
||
==============================
|
||
|
||
Deprecated methods may still be used but will disappear in future wxWidgets
|
||
versions, please update your code to not use them.
|
||
|
||
- wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount()
|
||
- wxSizer::Remove(wxWindow *), use Detach() instead [it is more clear]
|
||
- wxSizer::Set/GetOption(): use Set/GetProportion() instead
|
||
- wxKeyEvent::KeyCode(): use GetKeyCode instead
|
||
- wxList::Number, First, Last, Nth: use GetCount, GetFirst/Last, Item instead
|
||
- wxNode::Next, Previous, Data: use GetNext, GetPrevious, GetData instead
|
||
- wxListBase::operator wxList&(): use typesafe lists instead
|
||
- wxTheFontMapper: use wxFontMapper::Get() instead
|
||
- wxStringHashTable: use wxHashMap instead
|
||
- wxHashTableLong: use wxHashMap instead
|
||
- wxArrayString::GetStringArray: use wxCArrayString or alternative wxWidgets
|
||
methods taking wxArrayString
|
||
- wxArrayString::Remove(index, count): use RemoveAt instead
|
||
- wxTreeItemId conversion to long is deprecated and shouldn't be used
|
||
- wxTreeCtrl::GetFirst/NextChild() 2nd argument now has type wxTreeItemIdValue
|
||
and not long, please change declarations of "cookie"s in your code
|
||
accordingly -- otherwise your code won't work on 64 bit platforms
|
||
- [MSW only] wxWindow::GetUseCtl3D(), GetTransparentBackground() and
|
||
SetTransparent() as well as wxNO_3D and wxUSER_COLOURS styles
|
||
- wxList keyed interface: use wxHashMap instead
|
||
- wxColourDatabase::FindColour(): use Find() instead (NB: different ret type)
|
||
- wxHashTable::Next: use wxHashTable::Node* or
|
||
wxHashTable::compatibility_iterator to store the return
|
||
value
|
||
- wxWave class; use wxSound instead
|
||
- The wxHIDE_READONLY flag for wxFileDialog was not implemented
|
||
and has now been removed
|
||
- wxTaskBarIcon::OnXXX() virtual methods: use events instead
|
||
- obsolete and not used wxUSE_GENERIC_DIALOGS_IN_MSW has been removed
|
||
- wxDbTable::wxDbTable with wxChar* deprecated, same with wxString& instead
|
||
|
||
|
||
OTHER CHANGES
|
||
=============
|
||
|
||
2.5.4
|
||
-----
|
||
|
||
Unix:
|
||
|
||
- wxPuts() now correctly outputs trailing new line in Unicode build
|
||
|
||
2.5.3
|
||
-----
|
||
|
||
All:
|
||
|
||
- support for huge (>2 Gb) files (Tim Kosse)
|
||
- number of fixes to wxPluginManager (Rick Brice, Hans Van Leemputten)
|
||
- fixed memory leak in wxURL when using a proxy (Steven Van Ingelgem)
|
||
- fixed bug in wxDateTime::Set(jdn) when DST was in effect
|
||
- fixed fatal bug in wxString when wxUSE_STL==1 (Kurt Granroth)
|
||
- support msgids in charsets other than C and languages other than English
|
||
(based on patch by Stefan Kowski)
|
||
- added wxMicroSleep() and wxMilliSleep() replacing deprecated wxUsleep()
|
||
- basic UDP sockets support (Lenny Maiorani)
|
||
- fixed wxDateTime::GetWeekDayName() for some dates (Daniel Kaps)
|
||
- deprecated wxDateTime::SetToTheWeek() in favour of SetToWeekOfYear()
|
||
- active mode support in wxFTP (Randall Fox)
|
||
- sped up wxHTTP and wxFTP
|
||
- added wxStringInput/OutputStreams
|
||
- added wxFileConfig::Save(wxOutputStream)
|
||
- fixed wxString's behavior with inserted null characters
|
||
|
||
All (GUI):
|
||
|
||
- added wxWindow::MoveBefore/AfterInTabOrder() to change tab navigation order
|
||
- added wxTaskBarIcon::CreatePopupMenu which is now the recommended way
|
||
of showing a popup menu; calling wxTaskBarIcon::PopupMenu directly
|
||
is discouraged
|
||
- added ..._CMD_...(id) variants for wxGrid event table entry macros
|
||
- added wxWindow::Navigate for programmatic navigation to the next control
|
||
- wxTextCtrl::OnChar now inserts a tab character if wxTE_PROCESS_TAB is set
|
||
- added wxKeyEvent::GetUnicodeKey()
|
||
- added wxKeyEvent::CmdDown() and wxMouseEvent::CmdDown()
|
||
- implemented wxListCtrl::FindItem() for non-MSW (Robin Stoll)
|
||
- added status bar fields styles support (Tim Kosse)
|
||
- added convenience functions wxSizer::AddSpacer() and
|
||
wxSizer::AddStretchSpacer() (as well as Prepend and Insert variants)
|
||
- added samples/splash
|
||
- added support for stock buttons
|
||
- added wxTopLevelWindow::RequestUserAttention()
|
||
- support for comma in contrib gizmo wxLEDNumberCtrl (Grant Likely)
|
||
- recursive wxSizer::Show for subsizer and return value if element was found
|
||
- added wxChoicebook control
|
||
- smoother time estimation updates in wxProgressDialog (Christian Sturmlechner)
|
||
- the XRC contrib library was moved to the core
|
||
- wx(Choice/List/Note)book controls send CHANG(ED/ING) events in SetSelection
|
||
- it is now possible to create a wxFont with given size in pixels (d2walter)
|
||
- added wxTopLevelWindow::IsActive()
|
||
- wxSystemSettings::GetMetric now returns -1 for metrics that are not
|
||
supported, instead of zero.
|
||
|
||
Unix:
|
||
|
||
- wxTaskBarIcon now supports freedesktop.org System Tray protocol
|
||
- security fixes to wxSingleInstanceChecker
|
||
- wx-config script was modified to allow choosing from multiple installed
|
||
builds of wxWidgets and to return flags/libs for selected libraries only
|
||
- wx-config has new --version-full option
|
||
|
||
wxCocoa:
|
||
|
||
- added Unicode compatability layer for OSX 10.2
|
||
- fixed so that wxCocoa runs in OSX 10.2
|
||
- Tooltips now supported
|
||
- wxSound now supported
|
||
- wxDisplay now supported
|
||
- Some stock cursors now supported
|
||
|
||
wxMac:
|
||
|
||
- fixed MLTE text control GetLineText and GetLineLength on OSX
|
||
- added OSX wxTaskBarIcon implementation for the OSX Dock
|
||
- added Unicode compatability layer for OSX 10.2
|
||
- wxGetKeyState now works with nearly all wx key codes
|
||
|
||
wxGTK:
|
||
|
||
- wxGTK uses GTK+ 2.x by default now, you have to pass --disable-gtk2 to
|
||
configure if you want to use GTK+ 1.2
|
||
- fixed many rendering artifacts and wrong colours with lots of GTK+ themes
|
||
- implemented wxColourDialog as native dialog
|
||
- implemented wxTextCtrl::HitTest() (GTK+ >= 2)
|
||
- implemented wxTextCtrl::ScrollLines() and ScrollPages for GTK+ 2.x
|
||
- wxTreeCtrl::GetCount() counts root as well now (compatible with MSW)
|
||
- added support for wxCHK_3STATE style (GTK2 only)
|
||
- implemented text underlining under GTK2
|
||
- implemented wxFRAME_NO_TASKBAR style (GTK >= 2.2)
|
||
- implemented support for wxSYS_DCLICK_?, wxSYS_DRAG_? and wxSYS_CURSOR_?
|
||
in wxSystemSettings::GetMetric (Mart Raudsepp)
|
||
- implemented wxTopLevel::IsMaximized() for GTK+2 and WMs that implement
|
||
freedesktop.org's wm-spec (Mart Raudsepp)
|
||
- wxEVT_CONTEXT_MENU is now generated for right mouse press, not release
|
||
- implemented alpha channel support in wxBitmap
|
||
- added native GTK+2 wxArtProvider implementation with ability to load
|
||
icons from icon theme in addition to recognized stock art
|
||
- fixed crash on 64 bit platforms (Paul Cornett)
|
||
|
||
wxMotif:
|
||
|
||
- added support for wxCHK_3STATE style (3 state checkbox)
|
||
|
||
wxMSW:
|
||
|
||
- fixed UNC paths handling in wxFileSystem (Daniel Nash)
|
||
- set wxKeyEvent::m_uniChar in Unicode build
|
||
- support for alpha channel in toolbar bitmaps (Jurgen Doornik)
|
||
- wxFileDialog can now be moved and centered (Randall Fox)
|
||
- restored (and improved) possibility to use wx with MFC broken in 2.5.2
|
||
- fixed wxTextCtrl::SetMaxLength for rich edit controls
|
||
- fixed flat style for toolbars under XP, Windows Classic style
|
||
- fixed truncation of transferred data in wxConnection under unicode build
|
||
- wxChoice and wxComboBox dropdown background can be set now too (Adrian Lupei)
|
||
- fixed wxMaximizeEvent generation in wxFrame
|
||
- don't send duplicate EVT_COMBOBOX events whenever selection changes any more
|
||
- implemented support for selecting printer bin (Steven Van Ingelgem)
|
||
- fixed wxListCtrl::SetSingleStyle() which was broken since a few releases
|
||
- fixed print setup problem (always uses default printer) in Unicode build
|
||
|
||
wxUniv/X11:
|
||
|
||
- fixed fatal crash when opening a menu
|
||
|
||
wxWinCE:
|
||
|
||
- added native WinCE driven smartphone wxTextCtrl implementation using spinners
|
||
- added native WinCE driven smartphone wxChoice implementation using spinners
|
||
- added automatized but customizable handling of native WinCE driven smartphone menus
|
||
- fixed wxRadioBox and wxStaticBox
|
||
|
||
wxHTML:
|
||
|
||
- added support for nested index entries and index entries pointing to more
|
||
than one page to wxHtmlHelpController
|
||
|
||
|
||
2.5.2
|
||
-----
|
||
|
||
All:
|
||
|
||
- Hindi translation added (Dhananjaya Sharma)
|
||
- Brazilian Portuguese translation added (E. A. Tacao)
|
||
- wxDynamicCast() now uses static_cast<wxObject *> internally and so using it
|
||
with anything not deriving from wxObject will fail at compile time (instead
|
||
of run-time) now
|
||
- when wxUSE_STL == 1 and STL provides quasi-standard hash_map/hash_set,
|
||
wxHashMap/wxHashSet are just typedefs for them. This makes impossible
|
||
to forward declare these classes.
|
||
|
||
All (GUI):
|
||
|
||
- wxHtmlWindow now delays image scaling until rendering,
|
||
resulting in much better display of scaled images
|
||
- Added UpdateSize to wxSplitterWindow to allow layout while hidden
|
||
- implemented Freeze/Thaw() for wxGenericTreeCtrl (Kevin Hock)
|
||
- support for KOI8-U encoding added (Yuriy Tkachenko)
|
||
- The old wxADJUST_MINSIZE behaviour is now the default behaviour for
|
||
sizer items that are windows. This means that GetAdjustedBestSize
|
||
will now be called by default to determine the minimum size that a
|
||
window in a sizer should have. If you want to still use the initial
|
||
size (and not the BestSize) then use the wxFIXED_MINSIZE flag. When
|
||
windows are added to a sizer their initial size is made the window's
|
||
min size using SetSizeHints, and calls to wxSizer::SetItemMinSize
|
||
are also forwarded to SetSizeHints for window items.
|
||
- added wxRegEx::GetMatchCount()
|
||
- it is now possible to display images in wxHtmlListBox
|
||
|
||
wxMSW:
|
||
|
||
- wxWindow::Freeze()/Thaw() can now be nested
|
||
- Added wxSP_NO_XP_THEME style to wxSplitterWindow to switch off
|
||
XP theming (some applications look bad without 3D borders)
|
||
- wxMenuBar::GetLabelTop() doesn't include '&'s in the label any more
|
||
- wxRegConf couldn't read global settings without admin privileges and didn't
|
||
even try to do it by default -- now it does
|
||
- wxTaskBarIcon must be explicitly destroyed now, otherwise the application
|
||
won't exit even though there are no top level windows
|
||
- wxFileName::GetModificationTime() works with opened files too now
|
||
- wxDC::GetClippingBox() now works even for clipping regions created by Windows
|
||
- fixed wxFileDataObject in Unicode build (Alex D)
|
||
- subdindented paragraphs support (Tim Kosse)
|
||
|
||
wxGTK:
|
||
|
||
- added support for wxTE_RIGHT and wxTE_CENTRE styles under GTK2 (Mart Raudsepp)
|
||
|
||
wxMotif:
|
||
|
||
- removed wxMenuItem::DeleteSubMenu()
|
||
- wxButtons use Motif default size, which is smaller than it used to be
|
||
and closer to wxMSW/wxGTK look. This can be disabled by setting
|
||
motif.largebuttons system option to 1 (see wxSystemOptions).
|
||
|
||
wxUniv/X11:
|
||
|
||
- implemented DrawRoundedRectangle() (clawghoul)
|
||
|
||
wxHTML:
|
||
|
||
- improved tables and lists layout algorithms (Tim Kosse)
|
||
- <div> handling fix (Xavier Nodet)
|
||
|
||
Unix:
|
||
|
||
- fixed priorities of mailcap entries (David Hart)
|
||
- added "wx-config --libs=std,<extra>" syntax (i.e. support for "std")
|
||
|
||
wxODBC:
|
||
|
||
- Full Unicode support is now available
|
||
- BLOB support is working
|
||
|
||
|
||
2.5.1
|
||
-----
|
||
|
||
All:
|
||
|
||
- event table macros now do some minimal type safety checks (Michael S<>gtrop)
|
||
- added wxGzipInput/OutputStream, bug fixes in wxZlibStreams (M.J.Wetherell)
|
||
- wxDateTime::ParseDateTime() implemented (Linus McCabe)
|
||
- wxHTTP::GetResponse() added (David Nock)
|
||
- added conversions to/from UTF 16/32 LE/BE (Andreas Pflug)
|
||
- added wxTextInputStream::ReadChar() (M.J.Wetherell)
|
||
- added translation to Afrikaans (Petri Jooste)
|
||
- Spanish translations updated (Javier San Jose)
|
||
- added gettext plural forms support to wxLocale (Michael N. Filippov)
|
||
- wxFileName::Normalize(wxPATH_NORM_ALL) doesn't lower filename case any more
|
||
- wxFileName::Normalize(wxPATH_NORM_ENV_VARS) now works
|
||
- check if file exists in wxFileConfig::DeleteFile() (Christian Sturmlechner)
|
||
- when wxUSE_STL == 1 wxHashTable will not be implemented using wxHashMap
|
||
(as in 2.5.0).
|
||
- added some extra convenience functions to wxRect such as
|
||
GetBottomRight (Hajo Kirchhoff)
|
||
- changed built-in regex library to a Unicode-compatible version based
|
||
on TCL sources (Ryan Norton, M. J. Wetherell)
|
||
- added extra convenience functions to wxPoint for adding a
|
||
wxSize (Wlodzimierz Skiba)
|
||
- intermediate wxIPaddress class added to prepare for
|
||
wxIPV6address (Ray Gilbert)
|
||
- added overloaded constructors and Create() methods taking wxArrayString
|
||
for wxChoice, wxComboBox, wxListBox, wxRadioBox, wxCheckListBox,
|
||
wxSingleChoiceDialog, wxMultipleChoiceDialog
|
||
- renamed wxWave class to wxSound
|
||
|
||
All (GUI):
|
||
|
||
- added 3-state checkboxes for MSW/Mac (Dimitri Schoolwerth)
|
||
- added some support for C++ exceptions in the library (do read the manual!)
|
||
- added wxListCtrl::GetViewRect()
|
||
- added wxTextCtrl::MarkDirty()
|
||
- wxToolBar::ToggleTool() now works for radio buttons (Dag <20>gren)
|
||
- wxListCtrl now sends an END_LABEL event if editing was cancelled, too
|
||
- bug in wxRect ctor from two [out of order] wxPoints fixed (Steve Cornett)
|
||
- status text is now restored after wxMenu help is shown in it
|
||
- bug in wxWindow::RemoveEventHandler() fixed (Yingjun Zhang)
|
||
- make it possible to use wxRTTI macros with namespaces (Benjamin I. Williams)
|
||
- wxColourDatabase API now uses objects instead of pointers
|
||
- added resolution option to JPEG image handler (Jeff Burton)
|
||
- added wxCalendarEvent::SetDate, wxCalendarEvent::SetWeekDay
|
||
- wxGenericDirCtrl now accepts multiple wildcards
|
||
- added focus event forwarding to wxGrid (Peter Laufenberg)
|
||
- fixed scrollbar problem in wxGrid (not showing scrollbars
|
||
when sizing smaller) (Shane Harper)
|
||
- dbbrowse demo fixed for Unicode (Wlodzimierz Skiba)
|
||
- added wxStatusBar support to XRC (Brian Ravnsgaard Riis)
|
||
- wxMenu::Append and etc. return a pointer to the wxMenuItem that was
|
||
added or inserted, or NULL on failure.
|
||
- using a -1 (wxID_ANY) for menu or toolbar item IDs will now generate new id
|
||
- added option to generate C++ headers to wxrc utility (Eduardo Marques)
|
||
- added wxDC::DrawPolyPolygon() for MSW/PS (Carl-Friedrich Braun)
|
||
- wxBufferedDC now allows to preserve the background and is documented
|
||
- added wxDC::GetPartialTextExtents
|
||
|
||
wxMSW:
|
||
|
||
- wxWidgets now builds under Win64
|
||
- fixed DDE memory leaks
|
||
- fixed wxTE_*WRAP styles handling
|
||
- wxTextCtrl::GetValue() works with text in non default encoding
|
||
- changed wxCrashReport to generate minidumps instead of text files
|
||
- wxRadioButtons are now checked when they get focus (standard behaviour)
|
||
- several fixes to owner drawn menu items (Christian Sturmlechner)
|
||
- wxGauge now supports full 32 bit range (Miroslav Rajcic)
|
||
- make it possible to give focus to the notebook tabs (Hajo Kirchhoff)
|
||
- MDI child frames are not always resizeable any more (Andrei Fortuna)
|
||
- fixed enumerating of entries/groups under '/' in wxRegConfig
|
||
- added wxSYS_ICONTITLE_FONT (Andreas Pflug)
|
||
- added wxPATH_NORM_SHORTCUT to wxFileName
|
||
- wxComboBox::GetValue within a wxEVT_COMMAND_TEXT_UPDATED event
|
||
should now pass the correct value even if the handler for
|
||
wxEVT_COMMAND_COMBOBOX_SELECTED changed the selection
|
||
- wxFileDialog now returns correct filter index for multiple-file dialogs
|
||
- added wxTextCtrl::HitTest()
|
||
- experimental wxURL implementation using WinInet functions (Hajo Kirchhoff)
|
||
- fixed several bugs in wxNotebook with wxNB_MULTILINE style
|
||
- accelerators are now initially hidden if appropriate (Peter Nielsen)
|
||
- background colour of a wxComboBox may now be set
|
||
- fixed wxListCtrl::GetItemText/BackgroundColour()
|
||
- Esc can now be used to close menus in the dialogs (Hartmut Honisch)
|
||
- Added msw.remap system option so colourful toolbar buttons
|
||
aren't mangled if you set it to 0. The default is 1
|
||
- Toolbar buttons are now centred if the bitmap size is smaller
|
||
than the specified default size
|
||
- Fixed a bug in wxSpinCtrl::DoGetBestSize that would make wxSpinCtrl too tall
|
||
|
||
wxGTK:
|
||
|
||
- fixes to wxTextCtrl scrolling under GTK2 (Nerijus Baliunas)
|
||
- fix for crash when using user-dashed lines (Chris Borgolte)
|
||
- fixed wxChoice::Delete() in presence of client data
|
||
- allow calling wxWindow::SetFont if window not yet created
|
||
- use same average character width as other ports when calculating dialog units
|
||
- fixed mouse wheel handling under GTK2 (Hugh Fisher)
|
||
- wxNotebook::HitTest() implemented (Daniel Lundqvist)
|
||
- memory leaks fixes in wxFileDialog (John Labenski)
|
||
- don't drop click events from triple clicks (Frode Solheim)
|
||
|
||
wxMac:
|
||
|
||
- use same average character width as other ports when calculating dialog units
|
||
- implemented handling of mouse wheel
|
||
- fix for long file names (longer than 32 characters) in file dialogs
|
||
- use unix sockets for Mach-o builds
|
||
|
||
wxMotif:
|
||
|
||
- look for Motif 2.1 headers before Motif 1.2 ones in configure
|
||
|
||
wxHTML:
|
||
|
||
- wxHtmlHelpController now supports compressed MS HTML Help files (*.chm)
|
||
on Unix (Markus Sinner)
|
||
|
||
Unix:
|
||
|
||
- added XFree86 resolution changing using xf86vidmode extensions (Ryan Norton)
|
||
- implemented asynchronous playback in wxSound and added SDL backend in
|
||
addition to existing OSS one
|
||
- it is now possible to send PostScript to any output stream (Zoltan Kovacs)
|
||
|
||
|
||
2.5.0
|
||
-----
|
||
|
||
All:
|
||
|
||
- It is now possible to build several smaller libraries instead of single
|
||
huge wxWidgets library; wxBase is now dependency of GUI ports rather then
|
||
separately compiled library
|
||
- added wxDateSpan::operator==() and !=() (Lukasz Michalski)
|
||
- added wxFileName::GetForbiddenChars() (Dimitri Schoolwerth)
|
||
- use true/false throughout the library instead of TRUE/FALSE
|
||
- wxStopWatch::Start() resumes the stop watch if paused, as per the docs
|
||
- added wxDirTraverser::OnOpenError() to customize the error handling
|
||
- added wxArray::SetCount()
|
||
- wxFile, wxFFile, wxTextFile and wxTempFile now all use UTF-8 encoding
|
||
by default in Unicode mode
|
||
- bug in wxDateTime with timezones on systems with tm_gmtoff in struct tm fixed
|
||
- added wx/math.h (John Labenski)
|
||
- added Catalan translations (Pau Bosch i Crespo)
|
||
- added Ukrainian translations (Eugene Manko)
|
||
- fixed bug with deleting entries at root level in wxFileConfig
|
||
- chkconf.h now includes platform-specific versions (for MSW
|
||
and Mac) which contain some tests that were in setup.h
|
||
- added event sink argument to wxEvtHandler::Connect()
|
||
- added support for POST method and alt ports to wxHTTP (Roger Chickering)
|
||
- added wxSocket::IPAddress() (Chris Mellon)
|
||
- wxDataStreams can read/write many elements at once (Mickael Gilabert)
|
||
- added wxRecursionGuard class
|
||
- added wxThreadHelper class (Daniel Howard)
|
||
- Added STL support (--enable-stl for configure, wxUSE_STL in setup.h).
|
||
When enabled, wxString will derive from std::string, wxArray from,
|
||
std::vector, wxList from std::list. In addition wxHashTable will be
|
||
implemented in terms of wxHashMap.
|
||
- Added wxList::compatibility_iterator. Can be used like wxNode* (except
|
||
it can't be delete()d). It permits writing code which will work
|
||
both with wxUSE_STL==1 and wxUSE_STL==0.
|
||
|
||
wxBase:
|
||
|
||
- added Watcom makefiles
|
||
- fixed bug with searching in sorted arrays (J<>rgen Palm)
|
||
|
||
All GUI ports:
|
||
|
||
- added wxVScrolledWindow, wxVListBox and wxHtmlLbox classes
|
||
- added wxListbook control
|
||
- added alpha channel support to wxImage
|
||
- added wxRenderer class allowing to customize the drawing of generic controls
|
||
- added wxCLOSE_BOX style for dialogs and frames
|
||
- added wxSplitterWindow and wxWizard handlers to XRC
|
||
- wxWizard is now sizer-friendly and may be made resizeable (Robert Vazan)
|
||
- added proportion to wxFlexGridSizer::AddGrowableRow/Col (Maxim Babitski)
|
||
- added wxFlexGridSizer::SetFlexibleDirection() (Szczepan Holyszewski)
|
||
- implemented GetEditControl for wxGenericTreeCtrl (Peter Stieber)
|
||
- improved contrib/utils/convertrc parsing (David J. Cooke)
|
||
- fixed handling of URLs and filenames in wxFileSystem
|
||
- implemented alignment for wxGrid bool editor and renderer
|
||
- support wxListCtrl columns alignment for all platforms and not just MSW
|
||
- added wxToolBar Add/InsertTool(tool) (Janusz Piwowarski)
|
||
- added wxTB_HORZ_TEXT style for MSW and GTK (Axel Schlueter)
|
||
- fixed user dash handling for MSW and GTK (Ken Edwards)
|
||
- WXR resources can now be used in Unicode builds
|
||
- it is now possible to use several wxFileHistory objects in the same menu
|
||
by giving them different base IDs (Dimitri Schoolwerth)
|
||
- Added wxTLW::SetShape with implementations for wxMSW and wxGTK (so far)
|
||
- FL: rmoved const from EnableTool parameters
|
||
- FL: signal child window when toolbar is closed
|
||
- In various places, changed tests for pathsep on last char of string to call
|
||
wxEndsWithPathSeparator(s)
|
||
- Added to defs.h a couple of macros (wxPtrToULong & wxULongToPtr)
|
||
- Minor improvements to document/view framework, including
|
||
delayed deletion of a document (until after the user has chosen
|
||
a new document), and more intelligent addition of filenames to
|
||
the file history, including not adding filenames if not using the
|
||
default extension for the template
|
||
- sped up wxImage::Scale using fixed point arithmetic (Wade Brainerd)
|
||
- Added BLOB support to wxDB (John Skiff)
|
||
- wxWizard now validates when pressing Back or Next
|
||
- Implemented wxNotebook::DoGetBestSize so Fit now works
|
||
- Added FindItemByPosition to wxMenu
|
||
- wxTimer now derives from wxEvtHandler and is its own owner object by default
|
||
- Extended wxTextAttr and added wxTextCtrl::GetStyle stub
|
||
to allow better rich text support.
|
||
- implemented wxFlexGridSizer::Show() (Wade Brainerd)
|
||
- Added m_ prefix to wxColourData and wxFontData members
|
||
- Added wxHtmlPrintout::AddFilter so HTML printing can be subject to
|
||
custom filters as well as HTML viewing.
|
||
- Moved wxApp::SendIdleEvents and wxApp::ProcessIdle into common code.
|
||
- wxWindow::OnInternalIdle is now used in all ports, and ensures that
|
||
user OnIdle events do not interfere with crucial internal processing.
|
||
- wxWindow::UpdateWindowUI is now a documented function that
|
||
sends wxUpdateUIEvents, and can be overridden. It has a helper function
|
||
DoUpdateWindowUI for taking appropriate wxUpdateUIEvent action.
|
||
- Added functions to wxUpdateUIEvent: Set/GetMode, Set/GetUpdateInterval,
|
||
CanUpdate, to assist with optimising update event frequency.
|
||
- Added functions to wxIdleEvent: Set/GetMode, CanSend, to
|
||
determine whether a window should receive idle events.
|
||
- Added wxWS_EX_PROCESS_IDLE, wxWS_EX_PROCESS_UI_UPDATES window
|
||
styles for use with conservative idle and update event modes.
|
||
- send menu update events only when a menu is about to be used (MSW/GTK)
|
||
- improved event processing performance (Hans Van Leemputten)
|
||
- added wxMirrorDC class
|
||
- printing improvements: GetPageInfo() gets called after the DC has
|
||
been set and after OnPreparePrinting() has been called so it can
|
||
report the number of pages accurately; doesn't try to set
|
||
number of pages in print dialog, in common with other Windows apps;
|
||
wxHTML easy printing's preview shows number of pages
|
||
correctly; preview scrollbars are set correctly; keyboard navigation
|
||
improved
|
||
|
||
Unix:
|
||
|
||
- fixed compilation on systems with zlib installed but < 1.1.3 version
|
||
- fixed compilation on Solaris 7 with large files support enabled
|
||
- added wxTaskBarIcon implementation for X11
|
||
- added support for GNU/Hurd in configure
|
||
- wxLocale::Init now tries to set .utf8 locale in Unicode mode (Andreas Pflug)
|
||
|
||
Generic controls:
|
||
|
||
- implemented wxListCtrl::Refresh() (Norbert Berzen)
|
||
- support adding/removing columns dynamically (Donald C. Taylor)
|
||
- wxToolBarSimple, property list classes, wxTreeLayout moved
|
||
to contrib/src/deprecated
|
||
|
||
wxGTK:
|
||
|
||
- added support for label mnemonics to GTK+2 build (Michael Moss)
|
||
- added native wxMessageDialog implementation for GTK+2 build
|
||
- fixed wxMenu::Remove (John Skiff and Benjamin Williams)
|
||
- made wxTextCtrl::EmulateKeyPress() work for Delete and Backspace
|
||
- fixed wxTopLevelWindow::ShowFullScreen to work with kwin, IceWM and
|
||
window managers that support _NET_WM_STATE_FULLSCREEN
|
||
- added wxEVT_MENU_OPEN event generation
|
||
- fixed bug in generic file selector causing incomplete file extensions to
|
||
be appended to filenames with no extension
|
||
- added wxTextCtrl::SetSelection implementation for GTK+ 2
|
||
- fixed wxTextCtrl::IsEditable() for GTK+ 2
|
||
- fixed wxStaticText alignment for GTK+ 2 (Kevin Hock)
|
||
- don't consume 100% CPU when showing a poup menu
|
||
|
||
wxMac:
|
||
|
||
- generate wxEVT_SCROLL_THUMBRELEASE and wxEVT_SCROLLWIN_THUMBRELEASE events
|
||
- generate wxEVT_MENU_OPEN and wxEVT_MENU_CLOSE events
|
||
|
||
wxMSW:
|
||
|
||
- possibility to use DIBs for wxBitmap implementation (Derry Bryson)
|
||
- added wxCrashReport
|
||
- wxStaticBitmap doesn't stretch its bitmap any longer (like other ports)
|
||
- support for accelerator keys in the owner drawn menus (Derry Bryson)
|
||
- wxCaret::SetSize() doesn't hide the caret any longer as it used to
|
||
- wxCheckListBox::Check() doesn't send CHECKLISTBOX_TOGGLE event any more
|
||
- fixed bugs in wxThread::Wait() and IsAlive()
|
||
- fixed bug with wxTR_EDIT_LABELS not working with wxTR_MULTIPLE
|
||
- fixes for compilation with OpenWatcom and DigitalMars compilers
|
||
- fixed wxStaticText best size calculation (was wrong by '&' width)
|
||
- fixed calling wxFrame::Maximize(FALSE) before the window is shown
|
||
- added wxNotebook::HitTest() (Otto Wyss)
|
||
- libraries built with makefile.g95 have a _min or _cyg suffix (MinGW/Cygwin)
|
||
- when using DLL, wxLocalFSHandler was not being exported
|
||
- fixed problem with wxEvtHandler object not removed from wxPendingEvents
|
||
- Windows XP manifest is now included in wx.rc; it is no longer neccessary
|
||
to ship .exe.manifest file with applications to support XP themes
|
||
- wxLocale::Init no longer reports error if trying to set Unicode-only locale
|
||
or if user's default locale is Unicode-only
|
||
- improved border handling under Windows XP
|
||
- partial fix for wxNotebook pages looking bad under XP: wxUSE_UXTHEME
|
||
enables XP theme engine code, and wxUSE_UXTHEME_AUTO tells
|
||
wxWidgets to use the theme tab colour for control backgrounds.
|
||
- disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles under Windows XP
|
||
- fixed release mode build with VC 7.x (Martin Ecker)
|
||
- added support for wxALWAYS_SHOW_SB style
|
||
- you don't need to add opengl32.lib when using VC++ now (David Falkinder)
|
||
|
||
wxMotif:
|
||
|
||
- made wxFileDialog behaviour with complex wildcards more sensible (it still
|
||
does not support all the features other ports do); refer to wxFileDialog
|
||
documentation for a detailed explanation
|
||
- implemented wxWakeUpIdle
|
||
- for Motif 2.0, used the native combobox widget instead of the GPL'd
|
||
xmcombo; xmcombo is still used for Motif 1.x and Lesstif when compiled
|
||
with Motif 1.x compatibility
|
||
- implemented wxToggleButton
|
||
- wxRadioBox and wxStaticBox now use the default shadow (border) style
|
||
instead of a sunken border
|
||
- implemented wxBitmapDataObject
|
||
- finished wxClipboard implementation
|
||
|
||
wxUniv:
|
||
|
||
- controls in toolbars now supported
|
||
|
||
wxHTML:
|
||
|
||
- added text selection to wxHtmlWindow
|
||
- added SetFonts to HTML printing classes (Adrian Philip Look)
|
||
- it is now possible to force page break when printing by inserting
|
||
<div style="page-break-before:always"> into the markup (Greg Chicares)
|
||
- wxHtmlWindow now uses double buffering to prevent flicker
|
||
|
||
|
||
OLD CHANGES
|
||
===========
|
||
|
||
INCOMPATIBLE CHANGES SINCE 2.2.x
|
||
================================
|
||
|
||
Please take a few minutes to read the following list, especially
|
||
paying attention to the most important changes which are marked
|
||
with '!' in the first column.
|
||
|
||
Also please note that you should ensure that WXWIN_COMPATIBILITY_2_2
|
||
is defined to 1 if you wish to retain maximal compatibility with 2.2
|
||
series -- however you are also strongly encouraged to try to compile
|
||
your code without this define as it won't be default any longer in
|
||
2.6 release.
|
||
|
||
NB: if you want to build your program with different major versions
|
||
of wxWidgets you will probably find the wxCHECK_VERSION() macro
|
||
(see the documentation) useful.
|
||
|
||
|
||
wxBase:
|
||
|
||
! wxArray<T>::Remove(size_t) has been removed to fix compilation problems
|
||
under 64 bit architectures, please replace it with RemoveAt() in your
|
||
code.
|
||
|
||
! wxArray<T> 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
|
||
|
||
- small change to wxStopWatch::Pause() semantics, please see the documentation
|
||
|
||
- unlikely but possible incompatibility: the definition of TRUE has changed
|
||
from "1" to "(bool)1" (and the same thing for FALSE), so the code which
|
||
could be erroneously compiled previously such as doing "return FALSE" from
|
||
a function returning a pointer would stop compiling now (but this change
|
||
is not supposed to have any effects on valid code)
|
||
|
||
- another minor change: wxApp::OnAssert() has a new "cond" argument, you
|
||
must modify YourApp::OnAssert() signature if you were using it to override
|
||
the default assert handling.
|
||
|
||
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 code
|
||
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 occurrences of wxPanel with wxWindow.
|
||
|
||
! if you handle (and don't skip) EVT_KEY_DOWN, the EVT_CHAR event is not
|
||
generated at all, so you must call event.Skip() in your OnKeyDown() if
|
||
you want to get OnChar() as well
|
||
|
||
- in general, the key events sent for the various non ASCII key combinations
|
||
have been changed to make them consistent over all supported platforms,
|
||
please see the wxKeyEvent documentation for details
|
||
|
||
- 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 ...
|
||
|
||
- static wxWizard::Create() doesn't exist any more, the wizards are created
|
||
in the same way as all the other wxWindow objects, i.e. by directly using
|
||
the ctor
|
||
|
||
- 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
|
||
|
||
- several obsolete synonyms are only retained in WXWIN_COMPATIBILITY_2_2 mode:
|
||
for example, use wxScrolledWindow::GetViewStart() now instead of ViewStart()
|
||
and GetCount() instead of Number() in many classes
|
||
|
||
- wxCmdLineParser does not use wxLog to output messages anymore.
|
||
to obtain the previous behaviour, add
|
||
wxMessageOutput::Set(new wxMessageOutputLog); to your program
|
||
(you will need to #include <wx/msgout.h>)
|
||
|
||
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/<toolkit>/wx
|
||
where <toolkit> 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. Finally, the library names have changed as well and now
|
||
use the following consistent naming convention: wxmsw[ver][u][d].(lib|dll)
|
||
where 'u' appears for Unicode version, 'd' -- for the debug one and version
|
||
is only present for the DLLs builds.
|
||
|
||
- child frames appear in the taskbar by default now, use wxFRAME_NO_TASKBAR
|
||
style to avoid it
|
||
|
||
- 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.
|
||
|
||
|
||
wxThread and related classes:
|
||
|
||
- The thread-related classes have been heavily changed since 2.2.x versions
|
||
as the old code had many serious problems. This could have resulted in
|
||
semantical changes other than those mentioned here, please review use of
|
||
wxThread, wxMutex and wxCondition classes in your code.
|
||
|
||
! 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 it was impossible to ensure the correct behaviour
|
||
(i.e. absense of race conditions) using the old API.
|
||
|
||
- wxMutex is not recursive any more in POSIX implementation (it hasn't been
|
||
recursive in 2.2.x but was in 2.3.1 and 2.3.2), please refer to the class
|
||
documentation for the discussion of the recursive mutexes.
|
||
|
||
- wxMutex::IsLocked() doesn't exist any more and should have never existed:
|
||
this is was unique example of a thread-unsafe-by-design method.
|
||
|
||
|
||
OTHER CHANGES
|
||
=============
|
||
|
||
2.4.0
|
||
-----
|
||
|
||
wxMSW:
|
||
|
||
- fixed loss of client data in wxChoice::SetString()
|
||
|
||
2.3.4
|
||
-----
|
||
|
||
All:
|
||
|
||
- added (partial) Indonesian translations (Bambang Purnomosidi D. P.)
|
||
- added wxSizer::Show()/Hide() (Carl Godkin)
|
||
- fixed bugs in wxDateTime::SetToWeekDay()/GetWeek()
|
||
|
||
Unix (Base/GUI):
|
||
|
||
- minor OpenBSD compilation/linking fixes, now builds OOB under OpenBSD 3.1
|
||
- don't include -I/usr/include nor -I/usr/local/include in wx-config output
|
||
- shared library symbols are now versioned on platforms that support it (Linux)
|
||
|
||
wxGTK:
|
||
- Further work for GTK 2.0 and Unicode support.
|
||
- Addition of native frame site grip.
|
||
|
||
wxX11:
|
||
- Unicode support through Pango library.
|
||
|
||
wxMSW:
|
||
|
||
- fixed crashes in wxListCtrl under XP
|
||
- added context menu for rich edit wxTextCtrl
|
||
|
||
wxHTML:
|
||
|
||
- fixed wxHTML to work in Unicode build
|
||
|
||
2.3.3
|
||
-----
|
||
|
||
wxBase:
|
||
|
||
- building wxBase with Borland C++ is now supported (Michael Fieldings)
|
||
- 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 Schoolwerth)
|
||
- 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
|
||
- added wxShutdown() function (Marco Cavallini)
|
||
- added wxEXPLICIT macro
|
||
- IPC classes improved and memory leaks fixed (Michael Fielding).
|
||
Global buffer removed, duplication in docs removed
|
||
- debug new/free implementations made thread-safe
|
||
|
||
Unix (Base/GUI):
|
||
|
||
- wxWidgets 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
|
||
- wxWidgets may be built as a dynamic shared library under Darwin / Mac OS X
|
||
lazy linking issues have been solved by linking a single module (.o) into
|
||
the shared library (two step link using distrib/mac/shared-ld-sh)
|
||
- fixed thread priority setting under Linux
|
||
|
||
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
|
||
wxWidgets 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()
|
||
- Added wxMouseCaptureChangedEvent
|
||
- Added custom character filtering to wxTextValidator
|
||
- wxTreeCtrl now supports incremental keyboard search
|
||
- wxMessageOutput class added
|
||
- wxHelpProvider::RemoveHelp added and called from ~wxWindowBase
|
||
so that erroneous help strings are no longer found as the hash
|
||
table fills up
|
||
- updated libpng from 1.0.3 to 1.2.4
|
||
- Added wxView::OnClosingDocument so the application can do cleanup.
|
||
- generic wxListCtrl renamed to wxGenericListCtrl, wxImageList
|
||
renamed to wxGenericImageList, so they can be used on wxMSW
|
||
(Rene Rivera).
|
||
- Added wxTreeEvent::IsEditCancelled so the application can tell
|
||
whether a label edit was cancelled.
|
||
- added static wxFontMapper::Get() accessor
|
||
|
||
wxMSW:
|
||
|
||
- small appearance fixes for native look under Windows XP
|
||
- fixed the bug related to the redrawing on resize introduced in 2.3.2
|
||
- fixed multiple bugs in wxExecute() with IO redirection
|
||
- refresh the buttons properly when the window is resized (Hans Van Leemputten)
|
||
- huge (40*) speed up in wxMask::Create()
|
||
- changing wxWidgets 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 wxWidgets applications behaviour when the system colours
|
||
are changed
|
||
- choose implicit parent for the dialog boxes better
|
||
- fixed wxProgressDialog for ranges > 65535
|
||
- wxSpinButton and wxSpinCtrl now support full 32 bit range (if the version
|
||
of comctl32.dll installed on the system supports it)
|
||
- 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)
|
||
- Implemented wxMouseCaptureChangedEvent and made wxGenericDragImage check it
|
||
has the capture before release it.
|
||
- fixed bugs in multiple selection wxCheckListBox
|
||
- default button handling is now closer to expected
|
||
- setting tooltips for wxSlider now works
|
||
- disabling a parent window also disables all of its children (as in wxGTK)
|
||
- multiple events avoided in wxComboBox
|
||
- tooltip asserts avoided for read-only wxComboBox
|
||
- fixed a race condition during a thread exit and a join
|
||
- fixed a condition where a thread can hang during message/event processing
|
||
- increased space between wxRadioBox label and first radio button
|
||
- don't fail to register remaining window classes if one fails to register
|
||
- wxFontDialog effects only turned on if a valid colour was
|
||
provided in wxFontData
|
||
- Added wxTE_LEFT, wxTE_CENTRE and wxTE_RIGHT flags for text control alignment.
|
||
- Bitmap printing uses 24 bits now, not 8.
|
||
|
||
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
|
||
- implemented wxChoice::Delete()
|
||
- fixed bad memory leak in wxFileDialog (Chris Elliott)
|
||
- made internal GC pool dynamically growable
|
||
- added GTK+ 2 and Unicode support
|
||
|
||
wxMotif:
|
||
|
||
- improved colour settings return values (Ian Brown)
|
||
- improved border style handling for wxStaticText (Ian Brown)
|
||
- improved toolbar control alignment
|
||
- implemented wxSpinButton
|
||
- implemented wxCheckListBox
|
||
- fixed wxSpinCtrl and wxStaticLine when used with sizers
|
||
- wxStaticBitmap now shows transparent icons correctly
|
||
|
||
wxX11:
|
||
|
||
- added generic MDI implementation (Hans Van Leemputten)
|
||
- first cut at wxSocket support (not yet working)
|
||
|
||
wxMac:
|
||
|
||
- Many improvements
|
||
|
||
wxOS2:
|
||
|
||
- First alpha-quality release
|
||
|
||
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 <font face="..."> 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<73>)
|
||
- 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)
|
||
- improvements to wxDragImage (Chuck Messenger)
|
||
|
||
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
|
||
- fixed the edit function for wxListCtrl (Chuck Messenger)
|
||
- fixed the key-hitting events for wxListCtrl and wxTreeCtrl, so they
|
||
correctly return the key which was pressed (Chuck Messenger)
|
||
|
||
wxMac:
|
||
|
||
- support for configuration and build under Mac OS X using the Apple Developer
|
||
Tools
|
||
|
||
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
|
||
wxWidgets 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<73>)
|
||
- 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 and dialogs, 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 management
|
||
- 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 conversions 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
|
||
split into 3 parts: wxHtmlHelpData, Frame and Controller
|
||
- added support for charsets and <meta> tag
|
||
- added support for font faces and justified paragraphs,
|
||
taken some steps to prepare wxHTML for frames
|
||
- added dynamic pushing/popping of wxHtmlParser tag handlers
|
||
- improved HTML printing
|
||
- added extensive table of HTML characters substitutions ( etc.)
|
||
- fixed wxHtmlWindow flickering, several minor bugfixes
|
||
- added some tags: <address>, <code>, <kbd>, <samp>, <small>, <big>,
|
||
fixed handling of relative and absolute font sizes in <font size>
|
||
|
||
|
||
NOTE: for changes after wxWidgets 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 <return> 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 wxWidgets 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-existence 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 hierarchy.
|
||
|
||
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.
|
||
- Changed SIZEOF to WXSIZEOF.
|
||
|
||
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 wxWidgets
|
||
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.
|
||
Porters, please check particularly your wxTreeCtrl and wxListCtrl
|
||
header files.
|
||
- Added modules.h/cpp, config.cpp, fileconf.cpp, textfile.cpp/h.
|
||
|
||
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 wxWidgets 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
|
||
now checks for leaks on exit. Added memcheck sample.
|
||
See src/msw/issues.txt for more details.
|
||
- resource.h, resource.cpp changed to make wxDefaultResourceTable
|
||
a pointer. Now initialize resource system with
|
||
wxInitializeResourceSystem and wxCleanUpResourceSystem, to
|
||
allow better control of memory.
|
||
- wxString now derives from wxObject, to enable memory leak
|
||
checking.
|
||
- Added some #include fixes in various files, plus changed
|
||
float to long in wxToolBar files.
|
||
|
||
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,
|
||
owner-draw wxListBox, and drag-and-drop
|
||
(see docs/msw/changes.txt).
|
||
|
||
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
|
||
changes.
|
||
- Readmes, change logs and installation files now go in
|
||
platform-specific directories under docs, e.g. docs/msw,
|
||
docs/gtk.
|
||
- Added DECLARE_APP and IMPLEMENT_APP macros so wxApp object gets
|
||
created dynamically, not as a global object.
|
||
- Put wxColour into wx/msw/colour.h, src/msw/colour.cpp.
|
||
- Changed names of some include/wx/generic headers to be
|
||
consistent and to conform to gcc pragma conventions. Also
|
||
changed choicesg.cpp to choicdgg.cpp.
|
||
- Added gcc pragmas.
|
||
- Added gtk inclusion in include/wx headers.
|
||
- Added consistent file headings to source and headers.
|
||
- Removed lang.cpp, lang.h and references to wxSTR_... variables;
|
||
added a few references to wxTransString.
|
||
- Added operator to wxTransString that converts automatically
|
||
to wxString, so we can say e.g. wxMessageBox(wxTransString("Hello"), ...).
|
||
- samples/internat now works (minimally).
|
||
- Added wxMouseEvent::GetPosition and
|
||
wxMouseEvent::GetLogicalPosition, both returning wxPoints.
|
||
- Made wxSize and wxRect contain longs not ints.
|
||
- Cured some memory leaks (thanks Vadim).
|
||
- Tidied up OnIdle and introduced RequestMore/MoreRequested so
|
||
will only keep processing OnIdle if it returns TRUE from
|
||
MoreRequested.
|
||
|
||
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.
|
||
- Under Windows, wxDC no longer has any knowledge of whether
|
||
an associated window is scrolled or not. Instead, the device
|
||
origin is set by wxScrolledWindow in wxScrolledWindow::PrepareDC.
|
||
- wxScrolledWindow applications can optionally override the virtual OnDraw
|
||
function instead of using the OnPaint event handler. The wxDC passed to
|
||
OnDraw will be translated by PrepareDC to reflect scrolling.
|
||
When drawing outside of OnDraw, must call PrepareDC explicitly.
|
||
- wxToolBarBase/wxToolBarSimple similarly changed to allow for
|
||
scrolling toolbars.
|
||
- Integrated wxPostScriptDC patches for 1.xx by Chris Breeze,
|
||
to help printing with multiple pages.
|
||
- IPC classes given base classes (wxConnectionBase etc.) which
|
||
define the API used by different implementations. DDE
|
||
implementation updated to use these base classes.
|
||
- wxHelpInstance now separated into wxHelpControllerBase (base
|
||
for all implementations), wxWinHelpController (uses standard
|
||
WinHelp), wxXLPHelpController (talks to wxHelp by DDE or
|
||
TCP/IP). There will be others eventually, such as
|
||
wxHTMLHelpController for Microsoft (and Netscape?) HTML Help.
|
||
- Added Vadim Zeitlin's wxString class plus
|
||
internationalization code (gettext simulation, wxLocale, etc.).
|
||
New files from Vadim:
|
||
include\wx\string.h
|
||
include\wx\debug.h
|
||
include\wx\file.h
|
||
include\wx\log.h
|
||
include\wx\intl.h
|
||
src\common\string.cpp
|
||
src\common\log.cpp
|
||
src\common\intl.cpp
|
||
src\common\file.cpp
|
||
No longer use GNU wxString files.
|
||
- Split off file-related functions into include\wx\filefn.h and
|
||
src\common\filefn.cpp.
|
||
- Borland C++ support (WIN32) for main library and
|
||
samples, using makefile.b32 files.
|
||
- Preparation done for allowing BC++ to compile wxWin as a DLL,
|
||
including changes to defs.h.
|
||
- wxIntPoint removed, wxPoint is now int, and wxRealPoint
|
||
introduced.
|
||
- Added wxShowEvent (generated when window is being shown or
|
||
hidden).
|
||
- Got minimal, docview, mdi samples working for 16-bit VC++ and
|
||
cured 16-bit problem with wxTextCtrl (removed global memory
|
||
trick).
|
||
- Updated GnuWin32 makefiles, checked minimal, mdi, docview samples.
|
||
|
||
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.
|
||
- Revamped print/preview classes, added wxPageSetupDialog.
|
||
- Started documentation.
|
||
|
||
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.
|
||
- Got Dialog Editor compiled and running again but need
|
||
to extend functionality to be in line with new controls.
|
||
Added dialoged\test app to allow dynamic loading of .wxr files
|
||
for testing purposes.
|
||
- Rewrote wxBitmap to allow installable file type
|
||
handlers.
|
||
- Rewrote wxBitmapButton, wxStaticBitmap to not use Fafa.
|
||
- Wrote most of wxTreeCtrl and sample (need wxImageList to implement it
|
||
fully).
|
||
- Added back wxRadioBox.
|
||
- Tidied up wx_main.cpp, wxApp class, putting PenWin code in
|
||
a separate file.
|
||
|
||
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
|
||
naming conventions, protection of data members, and use of
|
||
wxString instead of char *.
|
||
- Obsolete functionality deleted (e.g. default wxPanel layout,
|
||
old system event system) and code size reduced.
|
||
- Class hierarchy changed (see design doc) - base classes such
|
||
as wxbWindow now removed.
|
||
- No longer includes windows.h in wxWin headers, by using stand-in
|
||
Windows types where needed e.g. WXHWND.
|
||
- PrologIO revised.
|
||
- wxScrolledWindow, wxStatusBar and new MDI classes added.
|
||
MDI is now achieved using separate classes, not window styles.
|
||
- wxSystemSettings added, and made use of to reflect standard
|
||
Windows settings.
|
||
- SetButtonFont/SetLabelFont replaced by SetFont; font and colour
|
||
settings mucho rationalised.
|
||
- All windows are now subclassed with the same window proc to make
|
||
event handling far more consistent. Old internal wxWnd and derived
|
||
classes removed.
|
||
- API for controls revised, in particular addition of
|
||
wxValidator parameters and removal of labels for some controls.
|
||
- 1 validator written: see examples/validate.
|
||
- Event table system introduced (see most samples and
|
||
wx_event.cpp/ProcessEvent, wx_event.h). wxEvtHandler
|
||
made more flexible, with Push/PopEventHandler allowing a chain
|
||
of event handlers.
|
||
- wxRadioBox removed - will be added back soon.
|
||
- Toolbar class hierarchy revised:
|
||
wxToolBarBase
|
||
wxToolBarSimple (= old wxToolBar)
|
||
wxToolBar95 (= old wxButtonBar under Win95
|
||
wxToolBarMSW (= old wxButtonBar under WIN16/WIN32)
|
||
- Constraint system debugged somewhat (sizers now work properly).
|
||
- wxFileDialog, wxDirDialog added; other common dialogs now
|
||
have class equivalents. Generic colour and font dialogs
|
||
rewritten to not need obsolete panel layout.
|
||
- .wxr resource system partially reinstated, though needs
|
||
an integer ID for controls. Hopefully the resource system
|
||
will be replaced by something better and more efficient
|
||
in the future.
|
||
- Device contexts no longer stored with window and accessed
|
||
with GetDC - use wxClientDC, wxPaintDC, wxWindowDC stack
|
||
variables instead.
|
||
- wxSlider uses trackbar class under Win95, and wxSL_LABELS flag
|
||
determines whether labels are shown. Other Win95-specific flags
|
||
introduced, e.g. for showing ticks.
|
||
- Styles introduced for dealing with 3D effects per window, for
|
||
any window: all Win95 3D effects supported, plus transparent windows.
|
||
- Major change to allow 3D effect support without CTL3D, under
|
||
Win95.
|
||
- Bitmap versions of button and checkbox separated out into new
|
||
classes, but unimplemented as yet because I intend to remove
|
||
the need for Fafa - it apparently causes GPFs in Win95 OSR 2.
|
||
- utils/wxprop classes working (except maybe wxPropertyFormView)
|
||
in preparation for use in Dialog Editor.
|
||
- GNU-WIN32 compilation verified (a month or so ago).
|
||
|
||
|