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
This commit is contained in:
58
Makefile.in
58
Makefile.in
@@ -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 \
|
||||
|
@@ -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">
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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 */,
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
----------------------------------
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
@@ -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.
|
||||
|
||||
|
35
docs/release_files.mdwn
Normal file
35
docs/release_files.mdwn
Normal file
@@ -0,0 +1,35 @@
|
||||
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.
|
||||
|
||||
Windows users: note that the provided wxWidgets-2.9.4-Setup.exe file installs
|
||||
the sources for wxMSW and does *not* include wxWidgets binaries and you still
|
||||
need to build the library, 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:
|
||||
|
||||
0b8921c5f115bd335cde24f0cf4f579067815195 wxWidgets-2.9.4.7z
|
||||
231c3e6b411ab3ab4c787e9bfa2bb5743ea8317d wxWidgets-2.9.4.tar.bz2
|
||||
2031902d1bd0c69d559e5c98e49fc232cfaba87b wxWidgets-2.9.4.zip
|
||||
1c46c67f0db0fd89d86ab03f8cd1aa2016dcd95f wxWidgets-docs-html-2.9.4.tar.bz2
|
||||
e1a8ccc1032df673900e8d9248f32969a0d3ccb5 wxWidgets-docs-html-2.9.4.zip
|
@@ -11,10 +11,6 @@ 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).
|
||||
|
||||
|
||||
Creating release files
|
||||
----------------------
|
||||
@@ -77,6 +73,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).
|
||||
|
||||
@@ -100,8 +99,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).
|
||||
|
@@ -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
|
||||
|
@@ -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 );
|
||||
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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.
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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.
|
||||
|
||||
|
@@ -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()
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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 )
|
||||
|
@@ -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() )
|
||||
{
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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];
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -674,6 +674,7 @@ bool wxUITextFieldControl::SetHint(const wxString& hint)
|
||||
{
|
||||
wxCFStringRef hintstring(hint);
|
||||
[m_textField setPlaceholder:hintstring.AsNSString()];
|
||||
return true;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -249,6 +249,7 @@ bool wxToolBar::Create(
|
||||
|
||||
SetPeer(new wxWidgetIPhoneImpl( this, toolbar ));
|
||||
MacPostControlCreate(pos, size) ;
|
||||
return true;
|
||||
}
|
||||
|
||||
wxToolBar::~wxToolBar()
|
||||
|
@@ -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()
|
||||
|
@@ -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() )
|
||||
{
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Reference in New Issue
Block a user