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
+ recalculated 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.
control is sized to a blending of the min size and best size.
This can be done by calling SetBestFittingSize.
+! wxURL has undergone some radical changes.
+ * Many accessors of wxURL - GetHostName, GetProtocolName, and GetPath,
+ have been replaced by its parent's (wxURI) counterparts - GetServer,
+ GetScheme, and GetPath, respectively.
+
+ * ConvertToValidURI has been replaced by wxURI. Do not use
+ ConvertToValidURI for future applications.
+ * ConvertFromURI has been replaced by wxURI::Unescape.
+
- 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()
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,
+ 2.4.x version of wxZlibOutputStream. However, there is a compatibility 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),
- Identical functionality of wxFileDialog::ParseWildcard,
wxGenericDirCtrl::ParseFilter, Motif and MSW parsing native dialogs
is now accessible in ::wxParseCommonDialogsFilter
-- wxNotebookSizer and wxBookCtrlSizer are now deprecated -- the are no longer
+- 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.
+- wxURL::GetInputStream() and similar functionality has been depreciated in
+ favor of other ways of connecting, such as though sockets or wxFileSystem.
- wxDocManager::GetNoHistoryFiles() renamed to GetHistoryFilesCount()
- wxSizer::Remove(wxWindow *), use Detach() instead [it is more clear]
- wxSizer::Set/GetOption(): use Set/GetProportion() instead
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
+-----
+
+All:
+
+- Norwegian (Bokmål) translation added (Hans F. Nordhaug)
+- wxDynamicLibrary::HasSymbol() added
+- added wxTextInputStream::operator>>(wchar_t) for compilers which support this
+- added wxURI, a class for dealing with Uniform Resource Identifiers
+- changed wxURL to inherit from wxURI and provide assignment and comparison
+- implemented wxConvUTF7 (modified patch from Fredrik Roubert)
+- added versions of MB2WC and WC2MB for wxMBConv that for embedded null chars
+- Unicode support in wxODBC is now fully implemented
+- A new data type specific to wxWidgets called SQL_C_WXCHAR has been introduced.
+ SQL_C_WXCHAR should be used rather than SQL_C_CHAR to ensure transparent
+ behavior between Unicode and non-unicode builds
+- BLOB example added to samples\db (thanks to Casey ODonnell)
+
+All (GUI):
+
+- recursive wxSizer::GetItem returns item of given window, sizer or nth index
+- wxLayoutConstraints now use best size, not current size, for AsIs() condition
+
+Unix:
+
+- wxPuts() now correctly outputs trailing new line in Unicode build
+
+wxGTK:
+
+- fixed wxFileDialog::SetWildcard()
+
+wxMac:
+
+- wxDynamicLibrary::GetDllExt() now returns ".bundle", not ".dylib"
+- wxDynamicLibrary::GetSymbol() now prepends underscore to the symbol name
+
+wxMSW:
+
+- fixed enhanced metafiles loading from files (Andreas Goebel)
+- wxRadioButtons no longer have to be consecutive in a group
+
+
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
- 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 recommended way
- of showing popup menu; calling wxTaskBarIcon::PopupMenu directly
+- 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.
+- 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()
- 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:
builds of wxWidgets and to return flags/libs for selected libraries only
- wx-config has new --version-full option
+wxCocoa:
+
+- added Unicode compatibility 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 compatibility 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
- 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:
wxWinCE:
-- added native SmartPhone wxTextCtrl implementation using spinners
-- added native SmartPhone wxChoice implementation using spinners
-- added automatized but customizable handling of native SmartPhone menus
+- added native WinCE driven smartphone wxTextCtrl implementation using spinners
+- added native WinCE driven smartphone wxChoice implementation using spinners
+- added automated but customizable handling of native WinCE driven smartphone menus
- fixed wxRadioBox and wxStaticBox
wxHTML:
- 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)
+- subindented paragraphs support (Tim Kosse)
wxGTK:
- 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
+- use Unix sockets for Mach-o builds
wxMotif:
- 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: removed 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 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
+- don't consume 100% CPU when showing a popup menu
wxMac:
- 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
+- Windows XP manifest is now included in wx.rc; it is no longer necessary
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
! 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.
+ (i.e. absence 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
- 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)
+- Multiline labels in buttons are now supported (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
- Toolbar class hierarchy revised:
wxToolBarBase
wxToolBarSimple (= old wxToolBar)
- wxToolBar95 (= old wxButtonBar under Win95
+ 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