Compare commits

...

29 Commits

Author SHA1 Message Date
Vadim Zeitlin
64471d3b95 Create tag WX_2_9_4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4@71986 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-09 14:15:51 +00:00
Vadim Zeitlin
dfb636ce8b Updated READMEs &c for 2.9.4 release.
Updated the text of the announcement posted to wx-announce too and mention it
in the release check list.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-09 14:15:37 +00:00
Vadim Zeitlin
8e98f414a1 Create tag WX_2_9_4
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/tags/WX_2_9_4@71983 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-09 12:39:37 +00:00
Julian Smart
5a0259e657 Fix for scroll position being changed when partial layout is done
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71982 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-08 10:28:27 +00:00
Robin Dunn
e9fed11291 Revert r71595 for now, as the bug it fixed is the lesser of two evils with the potential bugs it causes. See #14453.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-08 03:48:55 +00:00
Stefan Csomor
58cab5e243 fixing double focus ring under 10.7, emulating only for 'NO_' and 'SIMPLE_' border
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 16:34:14 +00:00
Vadim Zeitlin
97981439aa Replace "_amd64" with "_x64" in a few more places.
Fix bakefile presets and MSVC-specific setup.h.

Also document TARGET_CPU=X64 instead of AMD64.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 15:36:58 +00:00
Vadim Zeitlin
235a997f9a Use "_x64" instead of "amd64" for x64 MSW makefile builds.
Still accept "amd64" as a valid TARGET_CPU value but also accept, and
encourage people to use, "x64".

Add a new section about the build system changes to the change log and added a
mini-TOC to it to make navigating it a bit easier and show what changes are
there at a glance.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71978 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:59 +00:00
Vadim Zeitlin
d2dcbf20aa Don't call HitTest() unnecessarily in MSW wxTreeCtrl code.
We already called TreeView_HitTest() above, there is no need to call
wxTreeCtrl::HitTest() again to retrieve exactly the same information.

This also incidentally fixes a warning about unused variable, see #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:55 +00:00
Vadim Zeitlin
ff534ba469 Fix uninitialized variable warning in wxMSW wxFileSystemWatcher code.
This warning was harmless as the variable was in fact always initialized if
the code where it was used was reached but g++ 4.6.1 is not smart enough to
see it, just as MSVC for which we already had a workaround. So initialize it
explicitly just to suppress the warning.

See #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:51 +00:00
Vadim Zeitlin
9d261cbb55 Avoid warnings about uninitialized variables in TGA loading code.
Initialize the variables containing the colour components: even though they
should normally be always filled by Palette_GetRGB() call below, this
presumably might not happen for a corrupted image with invalid palette table
entries and g++ correctly complains about it.

See #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71975 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:47 +00:00
Vadim Zeitlin
85ad2fa7d2 Avoid warning about unused variable in wxGetUTCTimeMillis() in wxMSW.
Put the declaration of the variable only used under Unix inside the
corresponding "#if" branch.

See #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:44 +00:00
Vadim Zeitlin
9e4587114b Avoid unused variable warning in wxPropertyGrid code in non-wxGTK.
Put the variable only used in wxGTK inside "#ifdef __WXGTK__".

This fixes the warning but the real fix would be to get rid of this variable
completely and just fix whatever problem in wxWindow::Navigate() this was
supposed to work around.

See #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:40 +00:00
Vadim Zeitlin
2643e2e496 Explicitly call base class ctor in wxRichTextFieldType copy ctor.
Failure to do this provokes g++ warnings with -Wextra and is, generally
speaking, wrong, even if it probably doesn't matter in this particular case.

See #14459.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:36 +00:00
Vadim Zeitlin
57bf8a6f1e Return correct index from wxGenericListCtrl::InsertColumn().
It used to always return 0 in the generic version, return the correct index of
the newly inserted column now.

Closes #13677.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:27:31 +00:00
Stefan Csomor
9d294e51cd adding support for enabled property, avoiding missing return values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:24:05 +00:00
Stefan Csomor
074d54bcf5 added missing return value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:07:23 +00:00
Stefan Csomor
7d6a4d9696 new file added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71968 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-07 13:06:50 +00:00
Paul Cornett
41e027551c guard against empty name field in inotify_event, see #14466
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-06 16:39:08 +00:00
Vadim Zeitlin
0f79c83f89 Use list mode in wxListbook list control instead of report.
Use wxLC_LIST instead of wxLC_REPORT when we don't have any icons. This makes
the code simpler as wxLC_LIST is more similar to wxLC_ICON which we used, and
continue to use, when we do have icons, because we don't need to add and
remove any columns on the fly.

And it fixes the appearance of wxListbook without images with wxBK_TOP or
wxBK_BOTTOM styles as it now lays out its items horizontally and not
vertically as before.

It also fixes the best size calculation of wxListbook control since the
changes to wxListCtrl best size calculations in r71733 as a nice side effect.

Closes #14451.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71965 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 17:09:53 +00:00
Stefan Csomor
d68a2a24d1 supporting alignment in single line controls, see #14452
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71964 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 16:42:03 +00:00
Stefan Csomor
af098dd344 using correct constant
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 16:30:24 +00:00
Stefan Csomor
72e88d8ea3 fixing another reference to wrong center flag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71961 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 16:17:55 +00:00
Stefan Csomor
33d8353fa5 correcting text alignment flag
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71960 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 16:15:02 +00:00
Vadim Zeitlin
37e8713ee4 Fix problem with most of wxGTK headers not being installed.
GTK2_HDR should also include all the version-independent wxGTK headers.

Closes #14455.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71959 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 11:45:38 +00:00
Vadim Zeitlin
e6bd7695da Rename all setup0.h files to setup.h in git-based release script.
We also need to rename wx/univ/setup0.h and wx/gtk/setup0.h and it probably
doesn't hurt to rename all the other ones even if though they're unused
anyhow.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 11:45:35 +00:00
Vadim Zeitlin
29e9a09825 Put the README file used for SourceForge files page under version control.
And this is another thing to do for the release.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 11:45:33 +00:00
Vadim Zeitlin
b963ee6027 Remove duplicate item about Trac changes from release tech note.
Part of the additions of r71951 was already present in this file, just in
another place.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 11:45:30 +00:00
Vadim Zeitlin
798e3fb358 Run unix2dos in quiet mode in git-oriented release script.
Don't flood the screen with the messages about converting the files, we know
that we convert them, this is what we run the bloody thing for.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-04 11:45:27 +00:00
37 changed files with 340 additions and 229 deletions

View File

@@ -2863,9 +2863,61 @@ 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 \
@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_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_3_GUI_HDR = \
wx/generic/fdrepdlg.h \
wx/generic/filepickerg.h \

View File

@@ -32,10 +32,12 @@
<set var="ARCH_SUFFIX">
<if cond="FORMAT=='msevc4prj'">_$(CPU)</if>
<if cond="TARGET_CPU=='amd64'">_amd64</if>
<if cond="TARGET_CPU=='AMD64'">_amd64</if>
<if cond="TARGET_CPU=='amd64'">_x64</if>
<if cond="TARGET_CPU=='AMD64'">_x64</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>
<!-- ================================================================== -->
@@ -318,6 +320,8 @@
<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,7 +103,8 @@ 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: AMD64, IA64.
Accepted values: IA64, X64
(AMD64 accepted as synonym for X64 but should not be used any more).
</description>
</option>
</if>

View File

@@ -1236,6 +1236,7 @@ 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'">_amd64</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='AMD64'">_x64</if>
<if cond="FORMAT_SUPPORTS_MULTIPLE_ARCHITECTURES=='1' and TARGET_CPU=='IA64'">_ia64</if>
</set>

View File

@@ -52,7 +52,8 @@ 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: AMD64, IA64.
# Accepted values: IA64, X64
# (AMD64 accepted as synonym for X64 but should not be used any more).
TARGET_CPU = $(CPU)
# Should debugging info be included in the executables? The default value

View File

@@ -1723,17 +1723,23 @@ BUILD_CFG_FILE = $(SETUPHDIR)\build.cfg
### Conditionally set variables: ###
!if "$(TARGET_CPU)" == "AMD64"
ARCH_SUFFIX = _amd64
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "IA64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "X64"
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "amd64"
ARCH_SUFFIX = _amd64
ARCH_SUFFIX = _x64
!endif
!if "$(TARGET_CPU)" == "ia64"
ARCH_SUFFIX = _ia64
!endif
!if "$(TARGET_CPU)" == "x64"
ARCH_SUFFIX = _x64
!endif
!if "$(USE_GUI)" == "0"
PORTNAME = base
!endif
@@ -1782,12 +1788,18 @@ 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,6 +513,7 @@
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 */; };
@@ -1003,6 +1004,7 @@
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>"; };
@@ -2146,6 +2148,7 @@
A298576700C33F018616E7BD /* auibook.cpp */,
05A4437E9697300390FDE14E /* auibar.cpp */,
C0155E0C2F6131358D2DA5ED /* tabmdi.cpp */,
51054B41BFD83E97BAF76D07 /* tabart.cpp */,
);
name = src/aui;
sourceTree = "<group>";
@@ -3455,6 +3458,7 @@
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,18 +48,24 @@ cleanup
git archive --prefix=$prefix/ HEAD | (cd ..; tar x)
cd ..
mv $prefix/include/wx/msw/setup0.h $prefix/include/wx/msw/setup.h
# 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
tar cjf $prefix.tar.bz2 $prefix
cd $prefix
set +x
for f in `cat ../eol-native`; do
if [ $f == "include/wx/msw/setup0.h" ]; then
# we renamed this file above so adjust
f="include/wx/msw/setup.h"
fi
unix2dos $f
case $f in
*/setup0.h)
# we renamed this file above so adjust
f=${f%0.h}.h
;;
esac
unix2dos -q $f
done
set -x

View File

@@ -10,6 +10,14 @@ 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
-----------------------
@@ -470,6 +478,20 @@ 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
----------------------------------
@@ -502,7 +524,7 @@ Major new features in this release
was added.
2.9.4: (release 2012-07-03)
2.9.4: (release 2012-07-09)
------
INCOMPATIBLE CHANGES SINCE 2.9.3
@@ -565,6 +587,7 @@ 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=AMD64
nmake -f makefile.vc TARGET_CPU=X64
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=AMD64
nmake -f makefile.vc TARGET_CPU=X64
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=AMD64 LDFLAGS=bufferoverflowu.lib
nmake -f makefile.vc TARGET_CPU=X64 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=AMD64|IA64
TARGET_CPU=X64|IA64
(VC++ only.) Set this variable to build for x86_64 systems. If unset, x86
build is performed.

View File

@@ -1,93 +1,78 @@
Announcing wxWidgets 2.7.0: a cross-platform GUI toolkit
----------------------------------------------------------------
July 9, 2012 -- The wxWidgets team is pleased to announce the
latest 2.9.4 release of wxWidgets library.
August 5th, 2006 -- the wxWidgets team is pleased to announce
a new release of the mature cross-platform C++ application framework.
wxWidgets 2.9.4 is available at
The following platforms are supported:
https://sourceforge.net/downloads/wxwindows/2.9.4/
- 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)
and soon will also appear at our FTP mirror at
To get wxWidgets, please go to the Download page at:
ftp://ftp.wxwidgets.org/pub/2.9.4/
http://www.wxwidgets.org/
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.
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.
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
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:
https://sourceforge.net/downloads/wxwindows/2.9.4/binaries/
- 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
Please see the README file there for the descriptions of the
individual files.
*** About wxWidgets
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:
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.
- 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.
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.
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.
The list of of changes since the 2.8 series is much too long to be
listed here but the most important ones are:
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.
- 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.
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.
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.
wxWidgets bindings for many other languages are available,
including Python, Perl, Basic, Lua, JavaScript and Eiffel.
If you're considering wxWidgets, do check out some of these links:
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.
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
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!
Have fun!
The wxWidgets team
Enjoy!
Vadim Zeitlin, on behalf of wxWidgets development team.

View File

@@ -108,6 +108,11 @@ 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
------------

40
docs/release_files.mdwn Normal file
View File

@@ -0,0 +1,40 @@
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,9 +11,7 @@ Put a date on the release line in docs/changes.txt.
Update the date in the manual (docs/doxygen/mainpages/manual.h).
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).
Update the release announcement post in docs/publicity/announce.txt.
Creating release files
@@ -77,6 +75,9 @@ 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).
@@ -86,7 +87,7 @@ Create http://docs.wxwidgets.org/x.y.z/ (ask Bryan to do it if not done yet).
Announcement
------------
Post announcement at least to wx-announce@googlegroups.com.
Post docs/publicity/announce.txt at least to wx-announce@googlegroups.com.
TODO: where else to announce it?
@@ -100,8 +101,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 (ask Vadim or Robin to do
it).
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).
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 _amd64
#define wxARCH_SUFFIX _x64
#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 );
void InsertColumn( long col, const wxListItem &item );
long InsertColumn( long col, const wxListItem &item );
int GetItemWidthWithImage(wxListItem * item);
void SortItems( wxListCtrlCompare fn, wxIntPtr data );

View File

@@ -88,10 +88,6 @@ 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,10 +43,6 @@ 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,7 +3613,9 @@ public:
/**
Copy constructor.
*/
wxRichTextFieldType(const wxRichTextFieldType& fieldType) { Copy(fieldType); }
wxRichTextFieldType(const wxRichTextFieldType& fieldType)
: wxObject(fieldType)
{ Copy(fieldType); }
void Copy(const wxRichTextFieldType& fieldType) { m_name = fieldType.m_name; }
@@ -3766,7 +3768,9 @@ public:
The copy constructor.
*/
wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field) { Copy(field); }
wxRichTextFieldTypeStandard(const wxRichTextFieldTypeStandard& field)
: wxRichTextFieldType(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}
@style{wxALIGN_CENTRE_HORIZONTAL}
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}
@style{wxALIGN_CENTRE_HORIZONTAL}
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 style because otherwise they won't make sense any
the @c wxALIGN_CENTRE_HORIZONTAL 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;
unsigned char g;
unsigned char b;
unsigned char r = 0;
unsigned char g = 0;
unsigned char b = 0;
// No compression read the data directly to imageData.
@@ -486,9 +486,9 @@ int ReadTGA(wxImage* image, wxInputStream& stream)
case 9:
{
unsigned char r;
unsigned char g;
unsigned char b;
unsigned char r = 0;
unsigned char g = 0;
unsigned char b = 0;
// Decode the RLE data.

View File

@@ -292,8 +292,6 @@ 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__)
@@ -306,7 +304,10 @@ wxLongLong wxGetUTCTimeMillis()
t /= 10000;
t -= wxLL(11644473600000); // Unix - Windows epochs difference in ms.
return t;
#elif defined(HAVE_GETTIMEOFDAY)
#else // !__WINDOWS__
wxLongLong val = MILLISECONDS_PER_SECOND;
#if defined(HAVE_GETTIMEOFDAY)
struct timeval tp;
if ( wxGetTimeOfDay(&tp) != -1 )
{
@@ -342,6 +343,8 @@ wxLongLong wxGetUTCTimeMillis()
val *= wxGetUTCTime();
return val;
#endif // time functions
#endif // __WINDOWS__/!__WINDOWS__
}
wxLongLong wxGetLocalTimeMillis()

View File

@@ -38,24 +38,6 @@
#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
// ----------------------------------------------------------------------------
@@ -118,13 +100,10 @@ wxListbook::Create(wxWindow *parent,
wxDefaultPosition,
wxDefaultSize,
wxLC_SINGLE_SEL |
(CanUseReportView() ? GetListCtrlReportViewFlags()
: GetListCtrlIconViewFlags())
(IsVertical() ? wxLC_ALIGN_LEFT : wxLC_ALIGN_TOP) |
wxLC_LIST
);
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
@@ -138,20 +117,6 @@ 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
// ----------------------------------------------------------------------------
@@ -259,39 +224,34 @@ 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 != NULL) != (GetImageList() != NULL) )
{
wxListView * const list = GetListView();
// Preserve the selection which is lost when changing the mode
const int oldSel = GetSelection();
// If imageList presence has changed, we update the list control view
if ( (imageList != NULL) != (GetImageList() != NULL) )
// Update the style to use icon view for images, list view otherwise
long style = list->GetWindowStyle() & ~wxLC_MASK_TYPE;
if ( imageList )
{
// Preserve the selection which is lost when changing the mode
const int oldSel = GetSelection();
// Update the style to use icon view for images, report view otherwise
long style = wxLC_SINGLE_SEL;
if ( imageList )
{
style |= GetListCtrlIconViewFlags();
}
else // no image list
{
style |= GetListCtrlReportViewFlags();
}
list->SetWindowStyleFlag(style);
if ( !imageList )
list->InsertColumn(0, wxT("Pages"));
// Restore selection
if ( oldSel != wxNOT_FOUND )
SetSelection(oldSel);
style |= wxLC_ICON;
}
else // no image list
{
style |= wxLC_LIST;
}
list->SetImageList(imageList, wxIMAGE_LIST_NORMAL);
list->SetWindowStyleFlag(style);
// Restore selection
if ( oldSel != wxNOT_FOUND )
SetSelection(oldSel);
}
list->SetImageList(imageList, wxIMAGE_LIST_NORMAL);
wxBookCtrlBase::SetImageList(imageList);
}

View File

@@ -4125,8 +4125,10 @@ void wxListMainWindow::InsertItem( wxListItem &item )
RefreshLines(id, GetItemCount() - 1);
}
void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
{
long idx = -1;
m_dirty = true;
if ( InReportView() )
{
@@ -4143,9 +4145,11 @@ void 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 );
}
@@ -4167,6 +4171,7 @@ void 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)
@@ -4947,14 +4952,14 @@ long wxGenericListCtrl::DoInsertColumn( long col, const wxListItem &item )
{
wxCHECK_MSG( InReportView(), -1, wxT("can't add column in non report mode") );
m_mainWin->InsertColumn( col, item );
long idx = 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 0;
return idx;
}
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 wxDUMMY_INITIALIZE(FALSE);
BOOL bWatchSubtree = FALSE;
switch ( watch.GetType() )
{

View File

@@ -543,26 +543,4 @@ 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,10 +2925,7 @@ wxTreeCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
// click if needed
if ( processed )
{
int htFlags = 0;
wxTreeItemId item = HitTest(wxPoint(x, y), htFlags);
if ( htFlags & wxTREE_HITTEST_ONITEMSTATEICON )
if ( tvht.flags & TVHT_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)
if (style & wxALIGN_CENTER_HORIZONTAL)
[paragraphStyle setAlignment: NSCenterTextAlignment];
else if (style & wxALIGN_RIGHT)
[paragraphStyle setAlignment: NSRightTextAlignment];

View File

@@ -923,6 +923,7 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
wxNSTextScrollView* v = nil;
v = [[wxNSTextScrollView alloc] initWithFrame:r];
c = new wxNSTextViewControl( wxpeer, v );
c->SetNeedsFocusRect( true );
}
else
{
@@ -932,24 +933,39 @@ wxWidgetImplType* wxWidgetImpl::CreateTextControl( wxTextCtrl* wxpeer,
else
v = [[wxNSTextField alloc] initWithFrame:r];
if ( style & wxNO_BORDER )
if ( style & wxTE_RIGHT)
{
// FIXME: How can we remove the native control's border?
// setBordered is separate from the text ctrl's border.
[v setAlignment:NSRightTextAlignment];
}
else if ( style & wxTE_CENTRE)
{
[v setAlignment:NSCenterTextAlignment];
}
NSTextFieldCell* cell = [v cell];
[cell setScrollable:YES];
// TODO: Remove if we definitely are sure, it's not needed
// as setting scrolling to yes, should turn off any wrapping
// [cell setLineBreakMode:NSLineBreakByClipping];
[v setBezeled:NO];
[v setBordered:NO];
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->SetNeedsFocusRect( true );
}
else
{
// use native border
c->SetNeedsFrame(false);
}
}
c->SetNeedsFocusRect( true );
return c;
}

View File

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

View File

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

View File

@@ -561,10 +561,22 @@ 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 )
@@ -577,10 +589,12 @@ void wxWidgetIPhoneImpl::SetMaximum( wxInt32 v )
wxInt32 wxWidgetIPhoneImpl::GetMinimum() const
{
return 0;
}
wxInt32 wxWidgetIPhoneImpl::GetMaximum() const
{
return 0;
}
void wxWidgetIPhoneImpl::PulseGauge()

View File

@@ -5553,12 +5553,14 @@ 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())
if (!IsFrozen() && !onlyVisibleRect)
SetupScrollbars();
}

View File

@@ -344,9 +344,12 @@ 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, inevt.name);
inevt.len, name);
}
static wxFileName GetEventPath(const wxFSWatchEntry& watch,
@@ -354,7 +357,7 @@ protected:
{
// only when dir is watched, we have non-empty e.name
wxFileName path = watch.GetPath();
if (path.IsDir())
if (path.IsDir() && inevt.len)
{
path = wxFileName(path.GetPath(), inevt.name);
}