Compare commits

..

1 Commits

Author SHA1 Message Date
Vadim Zeitlin
dfe4e670c9 Rename WX_2_9_4 tag to WX_2_9_4-rc1 as it doesn't correspond to final 2.9.4.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4-rc1@71966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-05 18:56:20 +00:00
37 changed files with 229 additions and 340 deletions

View File

@@ -2863,61 +2863,9 @@ COND_TOOLKIT_GTK_TOOLKIT_VERSION__GUI_HDR = \
wx/gtk1/tglbtn.h \
wx/gtk1/treectrl.h
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_@GUI_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION__GUI_HDR)
COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_GUI_HDR = \
wx/generic/fdrepdlg.h \
wx/generic/filepickerg.h \
wx/generic/listctrl.h \
wx/generic/statusbr.h \
wx/gtk/accel.h \
wx/gtk/anybutton.h \
wx/gtk/bmpbuttn.h \
wx/gtk/button.h \
wx/gtk/checkbox.h \
wx/gtk/checklst.h \
wx/gtk/chkconf.h \
wx/gtk/collpane.h \
wx/gtk/colordlg.h \
wx/gtk/choice.h \
wx/gtk/combobox.h \
wx/gtk/control.h \
wx/gtk/clrpicker.h \
wx/gtk/dialog.h \
wx/gtk/dirdlg.h \
wx/gtk/filectrl.h \
wx/gtk/filedlg.h \
wx/gtk/fontpicker.h \
wx/gtk/filepicker.h \
wx/gtk/fontdlg.h \
wx/gtk/frame.h \
wx/gtk/gauge.h \
wx/gtk/gnome/gvfs.h \
wx/gtk/infobar.h \
wx/gtk/listbox.h \
wx/gtk/mdi.h \
wx/gtk/menu.h \
wx/gtk/menuitem.h \
wx/gtk/msgdlg.h \
wx/gtk/notebook.h \
wx/gtk/print.h \
wx/gtk/radiobox.h \
wx/gtk/radiobut.h \
wx/gtk/scrolbar.h \
wx/gtk/scrolwin.h \
wx/gtk/slider.h \
wx/gtk/spinbutt.h \
wx/gtk/spinctrl.h \
wx/gtk/statbmp.h \
wx/gtk/statbox.h \
wx/gtk/statline.h \
wx/gtk/stattext.h \
wx/gtk/toolbar.h \
wx/gtk/textctrl.h \
wx/gtk/textentry.h \
wx/gtk/tglbtn.h \
wx/gtk/treeentry_gtk.h \
wx/generic/fontdlgg.h \
wx/gtk/gnome/gprint.h
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@GUI_HDR = $(COND_TOOLKIT_GTK_TOOLKIT_VERSION_2_GUI_HDR)
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@GUI_HDR \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = wx/generic/fontdlgg.h \
@COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ wx/gtk/gnome/gprint.h
COND_TOOLKIT_GTK_TOOLKIT_VERSION_3_GUI_HDR = \
wx/generic/fdrepdlg.h \
wx/generic/filepickerg.h \

View File

@@ -32,12 +32,10 @@
<set var="ARCH_SUFFIX">
<if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
<if cond="TARGET_CPU=='amd64'">_x64</if>
<if cond="TARGET_CPU=='AMD64'">_x64</if>
<if cond="TARGET_CPU=='amd64'">_amd64</if>
<if cond="TARGET_CPU=='AMD64'">_amd64</if>
<if cond="TARGET_CPU=='ia64'">_ia64</if>
<if cond="TARGET_CPU=='IA64'">_ia64</if>
<if cond="TARGET_CPU=='x64'">_x64</if>
<if cond="TARGET_CPU=='X64'">_x64</if>
</set>
<!-- ================================================================== -->
@@ -320,8 +318,6 @@
<if cond="TARGET_CPU=='AMD64'">/MACHINE:X64</if>
<if cond="TARGET_CPU=='ia64'">/MACHINE:IA64</if>
<if cond="TARGET_CPU=='IA64'">/MACHINE:IA64</if>
<if cond="TARGET_CPU=='x64'">/MACHINE:X64</if>
<if cond="TARGET_CPU=='X64'">/MACHINE:X64</if>
</set>
<template id="common_settings">

View File

@@ -103,8 +103,7 @@ your environment is set up appropriately with the correct compiler in the
PATH. Rather it affects some options passed to some of the common build
utilities such as the resource compiler and the linker.
Accepted values: IA64, X64
(AMD64 accepted as synonym for X64 but should not be used any more).
Accepted values: AMD64, IA64.
</description>
</option>
</if>

View File

@@ -1236,7 +1236,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/gtk/treeentry_gtk.h
</set>
<set var="GTK2_HDR" hints="files">
$(GTK_HDR)
wx/generic/fontdlgg.h
wx/gtk/gnome/gprint.h
</set>

View File

@@ -101,7 +101,7 @@
<set var="WXCPU">
<if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='AMD64'">_x64</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='AMD64'">_amd64</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='IA64'">_ia64</if>
</set>

View File

@@ -52,8 +52,7 @@ BUILD = debug
# PATH. Rather it affects some options passed to some of the common build
# utilities such as the resource compiler and the linker.
#
# Accepted values: IA64, X64
# (AMD64 accepted as synonym for X64 but should not be used any more).
# Accepted values: AMD64, IA64.
TARGET_CPU = $(CPU)
# Should debugging info be included in the executables? The default value

View File

@@ -1723,23 +1723,17 @@ BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _x64
ARCH_SUFFIX = _amd64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _x64
ARCH_SUFFIX = _amd64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
@@ -1788,18 +1782,12 @@ LINK_TARGET_CPU = /MACHINE:X64
!if "$(TARGET_CPU)" == "IA64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "X64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(TARGET_CPU)" == "x64"
LINK_TARGET_CPU = /MACHINE:X64
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
__RUNTIME_LIBS_10 = D
!endif

View File

@@ -513,7 +513,6 @@
AAC2CB4D851230008AE4ABA1 /* dcscreen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22D6E6D9712338C6906CFAA4 /* dcscreen.cpp */; };
AB58406CEBA13BC4A2A83B66 /* printmac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5CC5C13F8AA1387BADB7E60C /* printmac.cpp */; };
ABCD15C4AB37396EA17B7B28 /* translation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC666417602346EA583709E /* translation.cpp */; };
AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51054B41BFD83E97BAF76D07 /* tabart.cpp */; };
AC6AC589EFB233C7B65A3224 /* overlaycmn.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 303ACF199BE431BD891C9301 /* overlaycmn.cpp */; };
AC91349D7F0E37739B1F5165 /* palette.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BEF6B3FB66243812969E5BD1 /* palette.cpp */; };
ACD644CFA85A3B70A3E3B118 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 2F41EDEB298538CC86FF6DC1 /* jcparam.c */; };
@@ -1004,7 +1003,6 @@
4FDE5A962FA234FA83A605AD /* Indicator.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Indicator.cxx; path = ../../src/stc/scintilla/src/Indicator.cxx; sourceTree = "<group>"; };
4FE0B33481283D3493613B0F /* config.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = config.cpp; path = ../../src/common/config.cpp; sourceTree = "<group>"; };
508B04B4FF913BECBC9DBFFB /* LexSpecman.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexSpecman.cxx; path = ../../src/stc/scintilla/src/LexSpecman.cxx; sourceTree = "<group>"; };
51054B41BFD83E97BAF76D07 /* tabart.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = tabart.cpp; path = ../../src/aui/tabart.cpp; sourceTree = "<group>"; };
5145561C78303EEE9F827962 /* LexLua.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLua.cxx; path = ../../src/stc/scintilla/src/LexLua.cxx; sourceTree = "<group>"; };
5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cfstring.cpp; path = ../../src/osx/core/cfstring.cpp; sourceTree = "<group>"; };
5190E3E110443FD29F2474FC /* treelist.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treelist.cpp; path = ../../src/generic/treelist.cpp; sourceTree = "<group>"; };
@@ -2148,7 +2146,6 @@
A298576700C33F018616E7BD /* auibook.cpp */,
05A4437E9697300390FDE14E /* auibar.cpp */,
C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */,
51054B41BFD83E97BAF76D07 /* tabart.cpp */,
);
name = src/aui;
sourceTree = "<group>";
@@ -3458,7 +3455,6 @@
E104017EE1A4357DAF84E1E6 /* auibook.cpp in Sources */,
39CC380F801F3EE984523275 /* auibar.cpp in Sources */,
6C46AF0370793AA0B74A5A4A /* tabmdi.cpp in Sources */,
AC0B0C52922B30188AE95E94 /* tabart.cpp in Sources */,
DE43350F6C9D3148A64F0AF9 /* art_internal.cpp in Sources */,
7DC4A542372437ECA0790F87 /* art_msw.cpp in Sources */,
A0BA01A85C303C78A3130711 /* art_aui.cpp in Sources */,

View File

@@ -48,24 +48,18 @@ cleanup
git archive --prefix=$prefix/ HEAD | (cd ..; tar x)
cd ..
# All setup0.h files are supposed to be renamed to just setup.h when checked
# out and in the distribution.
find $prefix/include/wx -type f -name setup0.h | while read f; do
mv $f ${f%0.h}.h
done
mv $prefix/include/wx/msw/setup0.h $prefix/include/wx/msw/setup.h
tar cjf $prefix.tar.bz2 $prefix
cd $prefix
set +x
for f in `cat ../eol-native`; do
case $f in
*/setup0.h)
if [ $f == "include/wx/msw/setup0.h" ]; then
# we renamed this file above so adjust
f=${f%0.h}.h
;;
esac
unix2dos -q $f
f="include/wx/msw/setup.h"
fi
unix2dos $f
done
set -x

View File

@@ -10,14 +10,6 @@ INCOMPATIBLE CHANGES SINCE 2.8.x
the "Changes Since wxWidgets 2.8" section of the manual,
please read it if the explanation here is too cryptic.
Table of contents of this section:
- Unicode-related changes
- wxODBC and contrib libraries removal
- Changes in behaviour not resulting in compilation errors
- Build system changes
- Major new features in this release
Unicode-related changes
-----------------------
@@ -478,20 +470,6 @@ Changes in behaviour visible to end users
now the control scrolls if too much text is added.
Build system changes
--------------------
- In wxMSW makefile builds, "_x64" is used instead of "_amd64" when compiling
for this architecture in the architecture-specific paths and library names.
TARGET_CPU can still be specified as "amd64" for compatibility but "x64"
should be used now.
- Official wxMSW binaries, i.e. those built with OFFICIAL_BUILD=1, built with
MSVC now include the version of the compiler used and the architecture if
it's not the default "x86". E.g. a library built with MSVC 10 for amd64 is
called "wxbase294ud_vc110_amd64.dll" now.
Major new features in this release
----------------------------------
@@ -524,7 +502,7 @@ Major new features in this release
was added.
2.9.4: (release 2012-07-09)
2.9.4: (release 2012-07-03)
------
INCOMPATIBLE CHANGES SINCE 2.9.3
@@ -587,7 +565,6 @@ All (GUI):
- Added wxDataViewListCtrl::GetItemCount() (Kry).
- Added support for Korean Johab and Vietnamese encodings (jank9201).
- Fix off by 1 bug with setting font size in points in wxHTML (gevorg).
- Fix return value of wxGenericListCtrl::InsertColumn() (Sebastian Walderich).
GTK:

View File

@@ -253,7 +253,7 @@ Using makefiles:
1. Open a 64-bit build command prompt, for either x64 or Itanium. Change
directory to build\msw. Then for x64 type:
nmake -f makefile.vc TARGET_CPU=X64
nmake -f makefile.vc TARGET_CPU=AMD64
or for Itanium:
@@ -266,7 +266,7 @@ Using makefiles:
2. Change to the directory of one of the samples such as samples\minimal. Type
the same command used to build the main library, for example for x64:
nmake -f makefile.vc TARGET_CPU=X64
nmake -f makefile.vc TARGET_CPU=AMD64
Notes:
@@ -277,7 +277,7 @@ additional library to be linked or the following error is received.
If you receive this error add bufferoverflowu.lib to link, e.g.:
nmake -f makefile.vc TARGET_CPU=X64 LDFLAGS=bufferoverflowu.lib
nmake -f makefile.vc TARGET_CPU=AMD64 LDFLAGS=bufferoverflowu.lib
See http://support.microsoft.com/?id=894573 for more information.
@@ -710,7 +710,7 @@ DEBUG_INFO=1
omitted or set to 'default' its value is determined the value of
the BUILD option.
TARGET_CPU=X64|IA64
TARGET_CPU=AMD64|IA64
(VC++ only.) Set this variable to build for x86_64 systems. If unset, x86
build is performed.

View File

@@ -1,78 +1,93 @@
July 9, 2012 -- The wxWidgets team is pleased to announce the
latest 2.9.4 release of wxWidgets library.
Announcing wxWidgets 2.7.0: a cross-platform GUI toolkit
----------------------------------------------------------------
wxWidgets 2.9.4 is available at
August 5th, 2006 -- the wxWidgets team is pleased to announce
a new release of the mature cross-platform C++ application framework.
https://sourceforge.net/downloads/wxwindows/2.9.4/
The following platforms are supported:
and soon will also appear at our FTP mirror at
- Windows 95/98/ME, Windows NT, Windows 2000, Windows XP
- Windows 64 on Itanium and x86-64 architectures
- Windows CE, including Pocket PC 2003 and Smartphone 2003
- Unix (Linux, *BSD, Solaris, AIX, HP-UX, IRIX, Tru64) and VMS with GTK+
- Unix with X11 (beta)
- Unix with Motif/Lesstif
- Mac OS X using Carbon
- Mac OS X using Cocoa (beta)
- OS/2 (beta)
ftp://ftp.wxwidgets.org/pub/2.9.4/
To get wxWidgets, please go to the Download page at:
Please choose the archive format suitable for your platform, i.e. 7z
or ZIP for Windows platforms and tar.bz2 for the Unix systems
including OS X (all archives contain sources for all wxWidgets ports
but they use different line endings) and follow the instructions in
readme.txt file for installing it. Notice that if you decide to use
the Windows installer (.exe file) you still need to build wxWidgets
as only sources, not binaries, are installed.
http://www.wxwidgets.org/
However, for the first time ever, we also experimentally provide the
pre-built versions of wxMSW libraries built with several version of
Microsoft Visual C++ compiler. You can download them from
This is the first version in the new 2.7 development series. Please
notice that this series is called "development" and not "stable"
solely because ABI or API compatibility is not assured between
different 2.7.x series versions. Rest assured however that these
potentially incompatible changes are made in order to evolve the
toolkit to the next ABI stable release series (2.8.x) and that
normally efforts are made to preserve compilation compatibility, so
often moving to a new development release just requires a full
recompile of the application using wxWidgets. There are currently no
known issues with the stability of the programs using this version.
https://sourceforge.net/downloads/wxwindows/2.9.4/binaries/
There have been many changes since the 2.6 series, please see the
change log file included in the distribution for more details. The
most significant additions to the GUI part of the libraries were:
Please see the README file there for the descriptions of the
individual files.
- AUI (advanced user interface) library providing dockable
windows and much more
- richtext library implementing wxRichTextCtrl
- New wxComboCtrl and wxOwnerDrawnComboBox controls
- New wxTreebook book-like control
- New wxColour/Dir/File/Font/PickerCtrls
- wxHyperlinkCtrl control
This release mostly focuses on bug fixes in preparation for 3.0
release, in particular there are a lot of improvements in wxOSX/Cocoa
port. The most important new feature in this release is experimental
support for building wxGTK with GTK+ 3 version of the toolkit. Other
noteworthy additions are:
*** About wxWidgets
- Transparent background is now support for wxGTK windows.
- New style directory selection dialog is now used in wxMSW.
- Native wxDatePickerCtrl and wxTimePickerCtrl for wxOSX.
- wxFSInputStream stream class for reading data from wxFileSystem.
- wxGrid::Render() method allows to print or save wxGrid contents.
- Strike-through fonts are now supported.
- Horizontal mouse wheel events are now generated.
wxWidgets is a comprehensive open-source, multi-platform C++ GUI
framework, that can be used to build commercial and free
software. First released in 1992 under the name wxWindows, it's
increasingly used by organisations and individuals all over the
world due to its winning combination of sophistication, wide
platform coverage, ease of use, unrestrictive licence and
vibrant user community.
For most ports, wxWidgets adopts the native look and feel of
each platform since it uses the native widget sets. There is also
a generic widget set, used for example by the wxX11 port - no
other widget set is required, giving the potential for embedded
use.
The list of of changes since the 2.8 series is much too long to be
listed here but the most important ones are:
An extraordinary range of classes is provided - but don't be put
off by this because most people find wxWidgets easier to learn
and use than MFC and other frameworks.
- Completely overhauled Unicode support which is much easier to use.
- New Cocoa-based wxOSX port for Mac OS X for both 32 and 64 bits.
- New property grid and ribbon libraries are now included in wxWidgets.
- Better interoperability with standard library classes.
- Totally revised and more readable manual.
- Improved debugging support.
As well as comprehensive support for the usual widgets, advanced
features include: HTML viewing/printing, wxImage class providing
handlers for reading and writing many image types, resizable panels
and dialogs on all platforms, document/view, OpenGL support,
HTML-based and context-sensitive help, wizards, drag and drop,
a grid class, ODBC support, threads, sockets, container classes,
a styled text control, and much more. A 2,000-page reference manual
is provided in HTML, MS HTML Help, WinHelp, wxWidgets Help and PDF
formats, and there are over eighty samples and demos.
Please see the changes.txt file in the "docs" subdirectory of
wxWidgets distribution or also available online at
https://sourceforge.net/projects/wxwindows/files/2.9.4/changes.txt/docs/changes.txt
for more details and http://docs.wxwidgets.org/2.9.4/overview_changes_since28.html
if you are upgrading from wxWidgets 2.8.
If you're an MFC user, you'll find many wxWidgets concepts
reassuringly familiar, while often clearer and more consistent.
If you're not, you should still find it intuitive from the start.
wxWidgets bindings for many other languages are available,
including Python, Perl, Basic, Lua, JavaScript and Eiffel.
Note about naming: while 2.9.4 is called a "development" release,
this only means that API is not guaranteed to remain unchanged in
the subsequent 2.9.x releases (although it is very unlikely to change
in incompatible ways at this stage), unlike in the stable 2.8.x branch
where source and binary compatibility is always preserved between the
different micro releases. We believe the current version is stable and
suitable for use in production environment and recommend using it for
any new projects using wxWidgets.
If you're considering wxWidgets, do check out some of these links:
We are especially looking forward to your feedback about the changes
in this release compared to 2.8 version if you're upgrading. Please
let us know about any regressions (http://trac.wxwidgets.org/newticket)
so that we could fix them in the upcoming 3.0. Thanks in advance!
http://www.wxwidgets.org/about/feedback.htm ; Comments from users
http://www.wxwidgets.org/about/screensh.htm ; Screenshots
http://www.wxwidgets.org/about/users.htm ; Some of our users
Enjoy!
Have fun!
The wxWidgets team
Vadim Zeitlin, on behalf of wxWidgets development team.

View File

@@ -108,11 +108,6 @@ In addition to the sources, documentation in HTML, CHM and HTB
for Microsoft Windows. Notice that you will still need to compile
wxWidgets even when using the installer.
Experimentally, we also supply binaries of wxMSW libraries built
with several versions of Microsoft Visual C++ compiler for this
release. They are available in the "binaries" subdirectory, see
the description of the files in the README file there.
Installation
------------

View File

@@ -1,40 +0,0 @@
wxWidgets 2.9.4
===============
This directory contains the files for wxWidgets 2.9.4 release.
Please notice that since the 2.9 series only a single source distribution is
provided instead of the multiple distributions containing only the files for
each port as was done before. So you only need to download wxWidgets-2.9.4.zip
(or .7z for much smaller archive size) for Microsoft Windows systems or
wxWidgets-2.9.4.tar.bz2 for Unix ones, including Mac OS X. The only difference
between these files is that the ZIP (and 7z) archives contain files with DOS
line endings while the tar balls contain files with Unix line endings.
Note for Windows users: as an experiment, we also provide, for the first time,
pre-built binaries of wxMSW port built using several versions of Microsoft
Visual C++ compiler. They are available from the `binaries` subdirectory.
Please notice that the files in this directory, including
wxWidgets-2.9.4-Setup.exe file, contain *only* the sources and do **not**
include any binaries, so you will need to build the library after downloading
them. Please see `docs/msw/install.txt` for instructions.
Reporting Problems
------------------
Please report any bugs in this release using [our Trac](http://trac.wxwidgets.org/report)
or by posting to [wx-users mailing list](http://groups.google.com/group/wx-users).
Check Sums
----------
To verify your download you can use the following sha1sums:
0adcc19fd4eca50eba3abb0b46eb83c055146bdb wxWidgets-2.9.4.7z
5a34ddf19d37c741f74652ee847df9568a8b81e1 wxWidgets-2.9.4.tar.bz2
4697b6e45a20c9e05d888458d658f89ada8dd5c9 wxWidgets-2.9.4.zip
37fc96b3194ad47a574ba8013264104cdf4c942c wxWidgets-docs-html-2.9.4.tar.bz2
bbf4bdf1c0746fe0b634ed55e2657d327db12033 wxWidgets-docs-html-2.9.4.zip

View File

@@ -11,7 +11,9 @@ Put a date on the release line in docs/changes.txt.
Update the date in the manual (docs/doxygen/mainpages/manual.h).
Update the release announcement post in docs/publicity/announce.txt.
Mark the milestone corresponding to the previous release as being completed and
create a new version and a new milestone for it in Trac admin web interface
(ask Robin Dunn for password to access it).
Creating release files
@@ -75,9 +77,6 @@ being "default downloads" for the appropriate platforms (.zip or .exe for MSW,
.tar.bz2 for everything else) as otherwise SourceForge would continue to suggest
people to download old files.
Also upload docs/release_files.mdwn as README.md to display it by default when
its directory is viewed on the web.
Also upload the files to the FTP mirror at ftp.wxwidgets.org (ask Chris for
access if you don't have it).
@@ -87,7 +86,7 @@ Create http://docs.wxwidgets.org/x.y.z/ (ask Bryan to do it if not done yet).
Announcement
------------
Post docs/publicity/announce.txt at least to wx-announce@googlegroups.com.
Post announcement at least to wx-announce@googlegroups.com.
TODO: where else to announce it?
@@ -101,8 +100,8 @@ Version updates
---------------
Trac: mark the milestone corresponding to the release as completed and add a
new version for it to allow reporting bugs against it and create the next
milestone (ask Vadim or Robin to do it or to get admin password).
new version for it to allow reporting bugs against it (ask Vadim or Robin to do
it).
Run misc/scripts/inc_release to increment micro version, i.e. replace x.y.z
with x.y.z+1 (minor or major versions updates require manual intervention).

View File

@@ -71,7 +71,7 @@
// architecture-specific part: not used (again, for compatibility), for x86
#if defined(_M_X64)
#define wxARCH_SUFFIX _x64
#define wxARCH_SUFFIX _amd64
#elif defined(_M_IA64)
#define wxARCH_SUFFIX _ia64
#else // assume _M_IX86

View File

@@ -644,7 +644,7 @@ public:
long FindItem( const wxPoint& pt );
long HitTest( int x, int y, int &flags ) const;
void InsertItem( wxListItem &item );
long InsertColumn( long col, const wxListItem &item );
void InsertColumn( long col, const wxListItem &item );
int GetItemWidthWithImage(wxListItem * item);
void SortItems( wxListCtrlCompare fn, wxIntPtr data );

View File

@@ -88,6 +88,10 @@ protected:
wxBookCtrlEvent* CreatePageChangingEvent() const;
void MakeChangedEvent(wxBookCtrlEvent &event);
// get flags for different list control modes
long GetListCtrlIconViewFlags() const;
long GetListCtrlReportViewFlags() const;
// event handlers
void OnListSelected(wxListEvent& event);
void OnSize(wxSizeEvent& event);

View File

@@ -43,6 +43,10 @@ public:
// returns true if the platform should explicitly apply a theme border
virtual bool CanApplyThemeBorder() const { return false; }
virtual wxPoint GetClientAreaOrigin() const;
virtual void DoGetClientSize(int *width, int *height) const;
protected:
virtual wxSize DoGetBestSize() const;

View File

@@ -3613,9 +3613,7 @@ public:
/**
Copy constructor.
*/
wxRichTextFieldType(const wxRichTextFieldType& fieldType)
: wxObject(fieldType)
{ Copy(fieldType); }
wxRichTextFieldType(const wxRichTextFieldType& fieldType) { Copy(fieldType); }
void Copy(const wxRichTextFieldType& fieldType) { m_name = fieldType.m_name; }
@@ -3768,9 +3766,7 @@ public:
The copy constructor.
*/
wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field)
: wxRichTextFieldType(field)
{ Copy(field); }
wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field) { Copy(field); }
/**
Initialises the object.

View File

@@ -23,7 +23,7 @@
dialog) under MSW.
@style{wxALIGN_LEFT}
Same as wxTE_LEFT for wxTextCtrl: the text is left aligned.
@style{wxALIGN_CENTRE_HORIZONTAL}
@style{wxALIGN_CENTRE}
Same as wxTE_CENTRE for wxTextCtrl: the text is centered.
@style{wxALIGN_RIGHT}
Same as wxTE_RIGHT for wxTextCtrl: the text is right aligned (this is

View File

@@ -25,14 +25,14 @@
Align the text to the left.
@style{wxALIGN_RIGHT}
Align the text to the right.
@style{wxALIGN_CENTRE_HORIZONTAL}
@style{wxALIGN_CENTRE}
Center the text (horizontally).
@style{wxST_NO_AUTORESIZE}
By default, the control will adjust its size to exactly fit to the
size of the text when SetLabel() is called. If this style flag is
given, the control will not change its size (this style is
especially useful with controls which also have the @c wxALIGN_RIGHT or
the @c wxALIGN_CENTRE_HORIZONTAL style because otherwise they won't make sense any
the @c wxALIGN_CENTRE style because otherwise they won't make sense any
longer after a call to SetLabel()).
@style{wxST_ELLIPSIZE_START}
If the labeltext width exceeds the control width, replace the beginning

View File

@@ -292,9 +292,9 @@ int ReadTGA(wxImage* image, wxInputStream& stream)
case 1:
{
unsigned char r = 0;
unsigned char g = 0;
unsigned char b = 0;
unsigned char r;
unsigned char g;
unsigned char b;
// No compression read the data directly to imageData.
@@ -486,9 +486,9 @@ int ReadTGA(wxImage* image, wxInputStream& stream)
case 9:
{
unsigned char r = 0;
unsigned char g = 0;
unsigned char b = 0;
unsigned char r;
unsigned char g;
unsigned char b;
// Decode the RLE data.

View File

@@ -292,6 +292,8 @@ wxLongLong wxGetUTCTimeUSec()
// Get local time as milliseconds since 00:00:00, Jan 1st 1970
wxLongLong wxGetUTCTimeMillis()
{
wxLongLong val = MILLISECONDS_PER_SECOND;
// If possible, use a function which avoids conversions from
// broken-up time structures to milliseconds
#if defined(__WINDOWS__)
@@ -304,10 +306,7 @@ wxLongLong wxGetUTCTimeMillis()
t /= 10000;
t -= wxLL(11644473600000); // Unix - Windows epochs difference in ms.
return t;
#else // !__WINDOWS__
wxLongLong val = MILLISECONDS_PER_SECOND;
#if defined(HAVE_GETTIMEOFDAY)
#elif defined(HAVE_GETTIMEOFDAY)
struct timeval tp;
if ( wxGetTimeOfDay(&tp) != -1 )
{
@@ -343,8 +342,6 @@ wxLongLong wxGetUTCTimeMillis()
val *= wxGetUTCTime();
return val;
#endif // time functions
#endif // __WINDOWS__/!__WINDOWS__
}
wxLongLong wxGetLocalTimeMillis()

View File

@@ -38,6 +38,24 @@
#include "wx/sysopt.h"
namespace
{
// FIXME: This function exists because native OS X wxListCtrl seems to have
// problems with report view, either imperfect display or reported hanging, so
// disable it for now (but it should be fixed, and this function removed).
bool CanUseReportView()
{
#if defined(__WXMAC__) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON
if (wxSystemOptions::GetOptionInt(wxMAC_ALWAYS_USE_GENERIC_LISTCTRL) == 0)
return false;
else
#endif
return true;
}
} // anonymous namespace
// ----------------------------------------------------------------------------
// various wxWidgets macros
// ----------------------------------------------------------------------------
@@ -100,10 +118,13 @@ wxListbook::Create(wxWindow *parent,
wxDefaultPosition,
wxDefaultSize,
wxLC_SINGLE_SEL |
(IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) |
wxLC_LIST
(CanUseReportView() ? GetListCtrlReportViewFlags()
: GetListCtrlIconViewFlags())
);
if ( CanUseReportView() )
GetListView()->InsertColumn(0, wxT("Pages"));
#ifdef __WXMSW__
// On XP with themes enabled the GetViewRect used in GetControllerSize() to
// determine the space needed for the list view will incorrectly return
@@ -117,6 +138,20 @@ wxListbook::Create(wxWindow *parent,
return true;
}
// ----------------------------------------------------------------------------
// wxListCtrl flags
// ----------------------------------------------------------------------------
long wxListbook::GetListCtrlIconViewFlags() const
{
return (IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) | wxLC_ICON;
}
long wxListbook::GetListCtrlReportViewFlags() const
{
return wxLC_REPORT | wxLC_NO_HEADER;
}
// ----------------------------------------------------------------------------
// wxListbook geometry management
// ----------------------------------------------------------------------------
@@ -223,27 +258,31 @@ bool wxListbook::SetPageImage(size_t n, int imageId)
// ----------------------------------------------------------------------------
void wxListbook::SetImageList(wxImageList *imageList)
{
if ( CanUseReportView() )
{
wxListView * const list = GetListView();
// If imageList presence has changed, we update the list control style
// If imageList presence has changed, we update the list control view
if ( (imageList != NULL) != (GetImageList() != NULL) )
{
// Preserve the selection which is lost when changing the mode
const int oldSel = GetSelection();
// Update the style to use icon view for images, list view otherwise
long style = list->GetWindowStyle() & ~wxLC_MASK_TYPE;
// Update the style to use icon view for images, report view otherwise
long style = wxLC_SINGLE_SEL;
if ( imageList )
{
style |= wxLC_ICON;
style |= GetListCtrlIconViewFlags();
}
else // no image list
{
style |= wxLC_LIST;
style |= GetListCtrlReportViewFlags();
}
list->SetWindowStyleFlag(style);
if ( !imageList )
list->InsertColumn(0, wxT("Pages"));
// Restore selection
if ( oldSel != wxNOT_FOUND )
@@ -251,6 +290,7 @@ void wxListbook::SetImageList(wxImageList *imageList)
}
list->SetImageList(imageList, wxIMAGE_LIST_NORMAL);
}
wxBookCtrlBase::SetImageList(imageList);
}

View File

@@ -4125,10 +4125,8 @@ void wxListMainWindow::InsertItem( wxListItem &item )
RefreshLines(id, GetItemCount() - 1);
}
long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
{
long idx = -1;
m_dirty = true;
if ( InReportView() )
{
@@ -4145,11 +4143,9 @@ long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
node = m_columns.Item( col );
m_columns.Insert( node, column );
m_aColWidths.Insert( colWidthInfo, col );
idx = col;
}
else
{
idx = m_aColWidths.GetCount();
m_columns.Append( column );
m_aColWidths.Add( colWidthInfo );
}
@@ -4171,7 +4167,6 @@ long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
// invalidate it as it has to be recalculated
m_headerWidth = 0;
}
return idx;
}
int wxListMainWindow::GetItemWidthWithImage(wxListItem * item)
@@ -4952,14 +4947,14 @@ long wxGenericListCtrl::DoInsertColumn( long col, const wxListItem &item )
{
wxCHECK_MSG( InReportView(), -1, wxT("can't add column in non report mode") );
long idx = m_mainWin->InsertColumn( col, item );
m_mainWin->InsertColumn( col, item );
// NOTE: if wxLC_NO_HEADER was given, then we are in report view mode but
// still have m_headerWin==NULL
if (m_headerWin)
m_headerWin->Refresh();
return idx;
return 0;
}
bool wxGenericListCtrl::ScrollList( int dx, int dy )

View File

@@ -136,7 +136,7 @@ void wxFSWatcherImplMSW::SendEvent(wxFileSystemWatcherEvent& evt)
bool wxFSWatcherImplMSW::DoSetUpWatch(wxFSWatchEntryMSW& watch)
{
BOOL bWatchSubtree = FALSE;
BOOL bWatchSubtree wxDUMMY_INITIALIZE(FALSE);
switch ( watch.GetType() )
{

View File

@@ -543,4 +543,26 @@ void wxStaticBox::OnPaint(wxPaintEvent& WXUNUSED(event))
#endif // !__WXWINCE__
wxPoint wxStaticBox::GetClientAreaOrigin() const
{
// See: http://msdn.microsoft.com/en-us/library/aa511279.aspx
wxPoint pt = ConvertDialogToPixels(wxPoint(6,11));
return pt;
}
void wxStaticBox::DoGetClientSize(int *width, int *height) const
{
// See: http://msdn.microsoft.com/en-us/library/aa511279.aspx
wxPoint lr = ConvertDialogToPixels(wxPoint(6,7));
wxPoint ul = GetClientAreaOrigin();
wxSize sz = GetSize();
if (width)
*width = sz.x - ul.x - lr.x;
if (height)
*height = sz.y - ul.y - lr.x;
}
#endif // wxUSE_STATBOX

View File

@@ -2925,7 +2925,10 @@ wxTreeCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
// click if needed
if ( processed )
{
if ( tvht.flags & TVHT_ONITEMSTATEICON )
int htFlags = 0;
wxTreeItemId item = HitTest(wxPoint(x, y), htFlags);
if ( htFlags & wxTREE_HITTEST_ONITEMSTATEICON )
{
m_triggerStateImageClick = true;
}

View File

@@ -102,7 +102,7 @@ private:
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setLineBreakMode:m_lineBreak];
int style = GetWXPeer()->GetWindowStyleFlag();
if (style & wxALIGN_CENTER_HORIZONTAL)
if (style & wxALIGN_CENTER)
[paragraphStyle setAlignment: NSCenterTextAlignment];
else if (style & wxALIGN_RIGHT)
[paragraphStyle setAlignment: NSRightTextAlignment];

View File

@@ -923,7 +923,6 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
wxNSTextScrollView* v = nil;
v = [[wxNSTextScrollView alloc] initWithFrame:r];
c = new wxNSTextViewControl( wxpeer, v );
c->SetNeedsFocusRect( true );
}
else
{
@@ -933,13 +932,10 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
else
v = [[wxNSTextField alloc] initWithFrame:r];
if ( style & wxTE_RIGHT)
if ( style & wxNO_BORDER )
{
[v setAlignment:NSRightTextAlignment];
}
else if ( style & wxTE_CENTRE)
{
[v setAlignment:NSCenterTextAlignment];
// FIXME: How can we remove the native control's border?
// setBordered is separate from the text ctrl's border.
}
NSTextFieldCell* cell = [v cell];
@@ -948,24 +944,12 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
// as setting scrolling to yes, should turn off any wrapping
// [cell setLineBreakMode:NSLineBreakByClipping];
c = new wxNSTextFieldControl( wxpeer, wxpeer, v );
if ( (style & wxNO_BORDER) || (style & wxSIMPLE_BORDER) )
{
// under 10.7 the textcontrol can draw its own focus
// even if no border is shown, on previous systems
// we have to emulate this
[v setBezeled:NO];
[v setBordered:NO];
if ( UMAGetSystemVersion() < 0x1070 )
c = new wxNSTextFieldControl( wxpeer, wxpeer, v );
}
c->SetNeedsFocusRect( true );
}
else
{
// use native border
c->SetNeedsFrame(false);
}
}
return c;
}

View File

@@ -674,7 +674,6 @@ bool wxUITextFieldControl::SetHint(const wxString& hint)
{
wxCFStringRef hintstring(hint);
[m_textField setPlaceholder:hintstring.AsNSString()];
return true;
}
#endif

View File

@@ -249,7 +249,6 @@ bool wxToolBar::Create(
SetPeer(new wxWidgetIPhoneImpl( this, toolbar ));
MacPostControlCreate(pos, size) ;
return true;
}
wxToolBar::~wxToolBar()

View File

@@ -561,22 +561,10 @@ void wxWidgetIPhoneImpl::GetBestRect( wxRect *r ) const
bool wxWidgetIPhoneImpl::IsEnabled() const
{
UIView* targetView = m_osxView;
// TODO add support for documentViews
if ( [targetView respondsToSelector:@selector(isEnabled) ] )
return [targetView isEnabled];
return true;
}
void wxWidgetIPhoneImpl::Enable( bool enable )
{
UIView* targetView = m_osxView;
// TODO add support for documentViews
if ( [targetView respondsToSelector:@selector(setEnabled:) ] )
[targetView setEnabled:enable];
}
void wxWidgetIPhoneImpl::SetMinimum( wxInt32 v )
@@ -589,12 +577,10 @@ void wxWidgetIPhoneImpl::SetMaximum( wxInt32 v )
wxInt32 wxWidgetIPhoneImpl::GetMinimum() const
{
return 0;
}
wxInt32 wxWidgetIPhoneImpl::GetMaximum() const
{
return 0;
}
void wxWidgetIPhoneImpl::PulseGauge()

View File

@@ -5553,14 +5553,12 @@ void wxPropertyGrid::HandleKeyEvent( wxKeyEvent &event, bool fromChild )
if ( keycode == WXK_TAB )
{
#if defined(__WXGTK__)
wxWindow* mainControl;
if ( HasInternalFlag(wxPG_FL_IN_MANAGER) )
mainControl = GetParent();
else
mainControl = this;
#endif
if ( !event.ShiftDown() )
{

View File

@@ -3896,7 +3896,7 @@ bool wxRichTextCtrl::LayoutContent(bool onlyVisibleRect)
GetBuffer().Layout(dc, context, availableSpace, availableSpace, flags);
GetBuffer().Invalidate(wxRICHTEXT_NONE);
if (!IsFrozen() && !onlyVisibleRect)
if (!IsFrozen())
SetupScrollbars();
}

View File

@@ -344,12 +344,9 @@ protected:
wxString mask = (inevt.mask & IN_ISDIR) ?
wxString::Format("IS_DIR | %u", inevt.mask & ~IN_ISDIR) :
wxString::Format("%u", inevt.mask);
const char* name = "";
if (inevt.len)
name = inevt.name;
return wxString::Format("Event: wd=%d, mask=%s, cookie=%u, len=%u, "
"name=%s", inevt.wd, mask, inevt.cookie,
inevt.len, name);
inevt.len, inevt.name);
}
static wxFileName GetEventPath(const wxFSWatchEntry& watch,
@@ -357,7 +354,7 @@ protected:
{
// only when dir is watched, we have non-empty e.name
wxFileName path = watch.GetPath();
if (path.IsDir() && inevt.len)
if (path.IsDir())
{
path = wxFileName(path.GetPath(), inevt.name);
}