]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/changes.txt
Fixed wxAtomicInc/Dec() to not use asm/atomic.h header on Linux - it's kernel interna...
[wxWidgets.git] / docs / changes.txt
index 7bbd2f16c0bec8a7a15180bfd1571276711d5572..a32183821753f80934ae3b9eb046de03d61fceb3 100644 (file)
@@ -5,6 +5,32 @@
 INCOMPATIBLE CHANGES SINCE 2.8.x
 ================================
 
 INCOMPATIBLE CHANGES SINCE 2.8.x
 ================================
 
+Unicode-related changes
+-----------------------
+
+The biggest changes in wxWidgets 3.0 are the changes due to the merge of the
+old ANSI and Unicode build modes in a single build. See the Unicode overview
+in the manual for more details but here are the most important incompatible
+changes:
+
+- Many wxWidgets functions taking "const wxChar *" have been changed to take
+  either "const wxString&" so that they accept both Unicode and ANSI strings.
+  and the argument can't be NULL or "const char *" if the strings are always
+  ANSI but may be NULL. This change is normally backwards compatible except:
+
+  a) Virtual functions: derived classes versions must be modified to take
+     "const wxString&" as well to make sure that they continue to override the
+     base class version.
+
+  b) Passing NULL as argument: as NULL can't be unambiguously converted to
+     wxString, in many cases code using it won't compile any more and NULL
+     should be replaced with an empty string. The same issue also applies to
+     the structure fields which used to contain "const wxChar *" pointers (such
+     as wxCmdLineEntryDesc::shortName, longName and description fields) and are
+     now wxStrings: empty strings should be assigned to them instead of NULL.
+
+
+
 Changes in behaviour not resulting in compilation errors, please read this!
 ---------------------------------------------------------------------------
 
 Changes in behaviour not resulting in compilation errors, please read this!
 ---------------------------------------------------------------------------
 
@@ -69,7 +95,20 @@ Changes in behaviour which may result in compilation errors
   This can be worked around by explicitly casting to bool:
      for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
 
   This can be worked around by explicitly casting to bool:
      for ( wxString::const_iterator p = s.begin(); (bool)*p; ++p )
 
-- virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now.
+- Virtual wxHtmlParser::AddText() takes wxString, not wxChar*, argument now.
+
+- Functions that took wxChar* arguments that could by NULL in wxWidgets 2.8.
+  are deprecated and passing NULL to them won't compile anymore, wxEmptyString
+  must be used instead.
+
+- wxTmemxxx() functions take either wxChar* or char*, not void*: use memxxx()
+  with void pointers.
+
+- Removed insecure wxGets() and wxTmpnam() functions.
+
+- Removed global GetLine() function from wx/protocol/protocol.h, use
+  wxProtocol::ReadLine() instead.
+
 
 Deprecated methods and their replacements
 -----------------------------------------
 
 Deprecated methods and their replacements
 -----------------------------------------
@@ -79,6 +118,12 @@ Deprecated methods and their replacements
   or wxStringBufferLength instead.
 - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if
   specified so this style should simply be removed
   or wxStringBufferLength instead.
 - wxDIRCTRL_SHOW_FILTERS style is deprecated, filters are alwsys shown if
   specified so this style should simply be removed
+- wxDocManager::MakeDefaultName() replaced by MakeNewDocumentName() and
+  wxDocument::GetPrintableName() with GetUserReadableName() which are simpler
+  to use
+- wxXmlProperty class was renamed to wxXmlAttribute in order to use standard
+  terminology. Corresponding wxXmlNode methods were renamed to use
+  "Attribute" instead of "Property" or "Prop" in their names.
 
 
 Major new features in this release
 
 
 Major new features in this release
@@ -90,72 +135,91 @@ Major new features in this release
 
 All:
 
 
 All:
 
-- Added wxJoin() and wxSplit() functions (Francesco Montorsi)
-- Added wxMutex::LockTimeout() (Aleksandr Napylov)
-- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev)
-- Implemented wxMemoryInputStream::CanRead()
-- Added wxEXEC_BLOCK flag (Hank Schultz)
-- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev)
-- Added wxStreamBuffer::Truncate() (Stas Sergeev)
-- Allow using  wxEventLoop in console applications (Lukasz Michalski)
+- Added support for user-defined types to wxConfig (Marcin Wojdyr).
+- Added wxJoin() and wxSplit() functions (Francesco Montorsi).
+- Added wxMutex::LockTimeout() (Aleksandr Napylov).
+- Added wxMemoryInputStream(wxInputStream&) ctor (Stas Sergeev).
+- Implemented wxMemoryInputStream::CanRead().
+- Added wxEXEC_BLOCK flag (Hank Schultz).
+- Add support for wxStream-derived classes to wxRTTI (Stas Sergeev).
+- Added wxStreamBuffer::Truncate() (Stas Sergeev).
+- Allow using  wxEventLoop in console applications (Lukasz Michalski).
+- Added functions for Base64 en/decoding (Charles Reimers).
+- Added support for binary data to wxConfig (Charles Reimers).
+- Added functions for atomically inc/decrementing integers (Armel Asselin).
+- wxLogInterposer has been added to replace wxLogPassThrough and new
+  wxLogInterposerTemp was added.
+- Added support for broadcasting to UDP sockets (Andrew Vincent).
+- Documentation now includes the wx library in which each class is defined.
+
+All (Unix):
+
+- Added wx-config --optional-libs command line option (John Labenski).
 
 All (GUI):
 
 
 All (GUI):
 
-- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty)
-- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron)
-- Added support for drop down toolbar buttons (Tim Kosse)
-- Added support for labels for toolbar controls (Vince Harron)
-- Added wxMessageDialog::SetMessage() and SetExtendedMessage()
-- Added wxEventBlocker class (Francesco Montorsi).
-- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi).
+- Added wxH[V]ScrolledWindow (Brad Anderson, Bryan Petty).
+- Added wxDC::StretchBlit() for wxMac and wxMSW (Vince Harron).
+- Added support for drop down toolbar buttons (Tim Kosse).
+- Added support for labels for toolbar controls (Vince Harron).
+- Added wxMessageDialog::SetMessage() and SetExtendedMessage().
+- Added wxEventBlocker class (Francesco Montorsi)..
+- Added wxFile/DirPickerCtrl::Get/SetFile/DirName() (Francesco Montorsi)..
 - Added wxSizerFlags::Top() and Bottom().
 - Slovak translation added.
 - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
 - Implemented background colour in wxRichTextCtrl.
 - Fixed crashes in helpview when opening a file.
 - Added wxSizerFlags::Top() and Bottom().
 - Slovak translation added.
 - Fixed tab-related drawing and hit-testing bugs in wxRichTextCtrl.
 - Implemented background colour in wxRichTextCtrl.
 - Fixed crashes in helpview when opening a file.
-- Set locale to the default in all ports, not just wxGTK
-- Added wxJoystick::GetButtonState/Position() (Frank C Szczerba)
-- Added wxGridUpdateLocker helper class (Evgeniy Tarassov)
-- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov)
-- Added wxWindow::NavigateIn() in addition to existing Navigate()
-- Add support for <data> tags to wxrc
-- Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr)
-- Show standard options in wxCmdLineParser usage message (Francesco Montorsi)
-- Added wxRect::operator+ (union) and * (intersection) (bdonner)
+- Set locale to the default in all ports, not just wxGTK.
+- Added wxJoystick::GetButtonState/Position() (Frank C Szczerba).
+- Added wxGridUpdateLocker helper class (Evgeniy Tarassov).
+- Support wxGRID_AUTOSIZE in wxGrid::SetRow/ColLabelSize() (Evgeniy Tarassov).
+- Added wxWindow::NavigateIn() in addition to existing Navigate().
+- Add support for <data> tags to wxrc.
+- Support wxAPPLY and wxCLOSE in CreateStdDialogButtonSizer() (Marcin Wojdyr).
+- Show standard options in wxCmdLineParser usage message (Francesco Montorsi).
+- Added wxRect::operator+ (union) and * (intersection) (bdonner).
+- Added support for two auxiliary mouse buttons to wxMouseEvent (Chris Weiland).
+- Added wxToolTip::SetAutoPop() and SetReshow() (Jan Knepper)
+- Added wxTaskBarIcon::Destroy()
+- Added XRC handler for wxSearchCtrl (Sander Berents)
+- Read image resolution from TIFF, JPEG and BMP images (Maycon Aparecido Gasoto)
+- Added wxSYS_DCLICK_TIME system metric constant
+- Added wxApp::Get/SetAppDisplayName() (Brian A. Vanderburg II)
 
 wxGTK:
 
 
 wxGTK:
 
-- Support for markup and ellipsization in wxStaticText (Francesco Montorsi)
-- Native implementation for wxHyperlinkCtrl (Francesco Montorsi)
-- Native keyboard navigation implementation
-- Don't overwrite primary selection with clipboard and vice versa
+- Support for markup and ellipsization in wxStaticText (Francesco Montorsi).
+- Native implementation for wxHyperlinkCtrl (Francesco Montorsi).
+- Native keyboard navigation implementation.
+- Added wxCB_SORT support to wxComboBox (Evgeniy Tarassov).
+- Don't overwrite primary selection with clipboard and vice versa.
 - Implemented support for underlined fonts in wxStaticText.
 - wxTopLevelWindow::SetSizeHints size increments now work.
 - wxTopLevelWindow::GetSize() returns the size including the WM decorations.
 - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized.
 - Added support for colour cursors (Pascal Monasse).
 - Implemented support for underlined fonts in wxStaticText.
 - wxTopLevelWindow::SetSizeHints size increments now work.
 - wxTopLevelWindow::GetSize() returns the size including the WM decorations.
 - wxTopLevelWindow::GetClientSize() returns 0x0 when the window is minimized.
 - Added support for colour cursors (Pascal Monasse).
-- Setting foreground colour of single line wxTextCtrl now works
-- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff)
-- Added gtk.tlw.can-set-transparency system option
+- Pass current control text to EVT_TEXT handler for wxSpinCtrl (John Ratliff).
+- Added gtk.tlw.can-set-transparency system option.
 
 wxMac:
 
 
 wxMac:
 
-- Better IconRef support (Alan Shouls)
-- Added support for changing button labels in wxMessageDialog (Gareth Simpson)
-- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs)
-- Allow accelerators to be used with buttons too (Ryan Wilcox)
-- Support resource forks in wxCopyFile() (Hank Schultz)
+- Better IconRef support (Alan Shouls).
+- Added support for changing button labels in wxMessageDialog (Gareth Simpson).
+- Fix duplicate (empty) help menu in non-English programs (Andreas Jacobs).
+- Allow accelerators to be used with buttons too (Ryan Wilcox).
+- Support resource forks in wxCopyFile() (Hank Schultz).
 
 wxMSW:
 
 - Fixed infinite loop in wxThread::Wait() in console applications.
 - Return the restored window size from GetSize() when window is minimized.
 
 wxMSW:
 
 - Fixed infinite loop in wxThread::Wait() in console applications.
 - Return the restored window size from GetSize() when window is minimized.
-- wxCheckListBox now looks more natively, especially under XP (Marcin Malich)
+- wxCheckListBox now looks more native, especially under XP (Marcin Malich).
 
 wxX11:
 
 
 wxX11:
 
-- Added mouse wheel support (David Hart)
-- Make Enter key activate the default button (David Hart)
+- Added mouse wheel support (David Hart).
+- Make Enter key activate the default button (David Hart).
 
 
 2.8.5
 
 
 2.8.5
@@ -164,20 +228,39 @@ wxX11:
 All (GUI):
 
 - Added colour normalization to PNM image handler (Ray Johnston)
 All (GUI):
 
 - Added colour normalization to PNM image handler (Ray Johnston)
+- Fixed selecting part of word from right to left in wxHTML (Michael Hieke)
+- Selecting text in wxHTML with character precision was made easier, it's
+  enough to select half of a character (Michael Hieke)
+- Significantly improved startup times of XRC-based applications using
+  embedded resources on Unix (requires resources recompilation)
+- Fixed freeing of "static" alpha data in wxImage (Axel Gembe)
+- Don't invalidate the font in SetNativeFontInfo[Desc]() if the string is
+  invalid, to conform to the documented behaviour (Langhammer)
+- Fixed wxXPMHandler::SaveFile for images with more than 92 colors.
 
 wxMSW:
 
 - Correct problem with page setup dialog when using landscape mode
 - Added msw.font.no-proof-quality system option, see manual for description
 - Fix appearance of notebook with non-top tabs under Windows Vista
 
 wxMSW:
 
 - Correct problem with page setup dialog when using landscape mode
 - Added msw.font.no-proof-quality system option, see manual for description
 - Fix appearance of notebook with non-top tabs under Windows Vista
+- Fixed bug with symbol resolving in wxStackWalker (Axel Gembe)
+- Fixed showing busy cursor for disabled windows and during wxExecute()
+- Set the string of wxEVT_COMMAND_CHECKLISTBOX_TOGGLED events (Luca Cappa)
+- Fix problems with timers on SMP machines in wxAnimationCtrl (Gennady)
 
 wxGTK:
 
 
 wxGTK:
 
+- Setting foreground colour of single line wxTextCtrl now works
 - More work on setting defaults in GNOME print dialogs.
 - Also made landscape printing work as per wxMSW.
 - Add support for clipping in GNOME print backend.
 - Speed up wxBitmap::Rescale()
 - Add right button event for wxToolbar's tools (Tim Kosse)
 - More work on setting defaults in GNOME print dialogs.
 - Also made landscape printing work as per wxMSW.
 - Add support for clipping in GNOME print backend.
 - Speed up wxBitmap::Rescale()
 - Add right button event for wxToolbar's tools (Tim Kosse)
+- Don't unconditionally add wxCAPTION style to wxMiniFrame
+- Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change
+- Fix WX_GL_STEREO attribute handling (Tristan Mehamli)
+- Fix wxThread::SetPriority() when the thread is running (Christos Gourdoupis)
+- Fixed off by 1 bug in wxDC::GradientFillLinear() (Tim Kosse)
 
 
 2.8.4
 
 
 2.8.4