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:
Vadim Zeitlin
2012-07-09 12:39:37 +00:00
35 changed files with 269 additions and 155 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
case $f in
*/setup0.h)
# we renamed this file above so adjust
f="include/wx/msw/setup.h"
fi
unix2dos $f
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
----------------------------------
@@ -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.

35
docs/release_files.mdwn Normal file
View 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

View File

@@ -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).

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
// ----------------------------------------------------------------------------
@@ -258,31 +223,27 @@ 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 view
// If imageList presence has changed, we update the list control style
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, report view otherwise
long style = wxLC_SINGLE_SEL;
// Update the style to use icon view for images, list view otherwise
long style = list->GetWindowStyle() & ~wxLC_MASK_TYPE;
if ( imageList )
{
style |= GetListCtrlIconViewFlags();
style |= wxLC_ICON;
}
else // no image list
{
style |= GetListCtrlReportViewFlags();
style |= wxLC_LIST;
}
list->SetWindowStyleFlag(style);
if ( !imageList )
list->InsertColumn(0, wxT("Pages"));
// Restore selection
if ( oldSel != wxNOT_FOUND )
@@ -290,7 +251,6 @@ void wxListbook::SetImageList(wxImageList *imageList)
}
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,10 +933,13 @@ 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];
@@ -944,12 +948,24 @@ 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];
c = new wxNSTextFieldControl( wxpeer, wxpeer, v );
}
if ( UMAGetSystemVersion() < 0x1070 )
c->SetNeedsFocusRect( true );
}
else
{
// use native border
c->SetNeedsFrame(false);
}
}
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);
}