Compare commits
65 Commits
v3.0.0-rc2
...
v3.0.0
Author | SHA1 | Date | |
---|---|---|---|
|
7318e1aeb1 | ||
|
209a75dc98 | ||
|
8626e30a2b | ||
|
c461ac9e39 | ||
|
e764e5b397 | ||
|
00f0fb185d | ||
|
3000a9241e | ||
|
f5af3df32e | ||
|
ab76b7b05d | ||
|
80001fbdbf | ||
|
f201634c57 | ||
|
177aa57194 | ||
|
aa2169b88d | ||
|
162f04d775 | ||
|
fa36f48a36 | ||
|
d3c0ffdf91 | ||
|
f6cecad6ba | ||
|
c6081cac7f | ||
|
31eb67923c | ||
|
09efff5d3c | ||
|
88d1f0922f | ||
|
85a6402146 | ||
|
a5fa384ab4 | ||
|
fd2fe45d6d | ||
|
331babd2d9 | ||
|
9a368ea1cc | ||
|
0e4f926b18 | ||
|
27d1d8060d | ||
|
ba58db15e8 | ||
|
29f73fbd10 | ||
|
f7abc9c746 | ||
|
5c135f9aca | ||
|
5fdb113cde | ||
|
7f0b8fe0db | ||
|
462d81dda4 | ||
|
b6d00b3b15 | ||
|
bdbf30f8d0 | ||
|
991e4a9c0f | ||
|
768670dffe | ||
|
033a904eb0 | ||
|
b32134b40f | ||
|
dd295300ca | ||
|
73eb200299 | ||
|
3a6e307771 | ||
|
5992503b62 | ||
|
14990d8817 | ||
|
71f261f6b2 | ||
|
6dc9368825 | ||
|
3df0e7b9c7 | ||
|
87ffcafce0 | ||
|
d3b15333c7 | ||
|
89077d2067 | ||
|
ce6c1584e6 | ||
|
6f6609d233 | ||
|
222b65c1b6 | ||
|
1210587617 | ||
|
b727da4d23 | ||
|
88e4e49663 | ||
|
dc37b632f7 | ||
|
341fffd5b7 | ||
|
3b636935b3 | ||
|
b8f637041f | ||
|
b44c868021 | ||
|
322877484d | ||
|
5c83e20ba5 |
0
build/tools/bld_chm_exe.bat
Normal file → Executable file
0
build/tools/bld_chm_exe.bat
Normal file → Executable file
47
build/tools/msvs/build2005.bat
Executable file
47
build/tools/msvs/build2005.bat
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
cd c:\wxWidgets-%1.%2.%3\build\msw
|
||||||
|
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a Visual Studio 2005 command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem build2005
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
rem Set the path if necessary.
|
||||||
|
|
||||||
|
set INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE\gl;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\INCLUDE\crt;
|
||||||
|
set LIB=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\X64
|
||||||
|
set LIBPATH=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib;C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib\AMD64
|
||||||
|
|
||||||
|
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
|
||||||
|
|
||||||
|
rmdir vc80_mswudll /s /q
|
||||||
|
rmdir vc80_mswuddll /s /q
|
||||||
|
rmdir ..\..\lib\vc80_dll /s /q
|
||||||
|
|
||||||
|
rem Delete the build output files from the last run, if any.
|
||||||
|
|
||||||
|
del 2005x86_Debug.txt
|
||||||
|
del 2005x86_Release.txt
|
||||||
|
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 OFFICIAL_BUILD=1 COMPILER_VERSION=80 >> 2005x86_Debug.txt
|
||||||
|
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 OFFICIAL_BUILD=1 COMPILER_VERSION=80 >> 2005x86_Release.txt
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd c:\wxWidgets
|
66
build/tools/msvs/build2008.bat
Executable file
66
build/tools/msvs/build2008.bat
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
cd c:\wxWidgets-%1.%2.%3\build\msw
|
||||||
|
|
||||||
|
rem ================ VS 2008 Official Build ===============
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a Windows SDK V6.1 command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem build2008
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
|
||||||
|
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
|
||||||
|
|
||||||
|
rmdir vc90_mswudll /s /q
|
||||||
|
rmdir vc90_mswuddll /s /q
|
||||||
|
rmdir ..\..\lib\vc90_dll /s /q
|
||||||
|
rmdir vc90_mswudll_x64 /s /q
|
||||||
|
rmdir vc90_mswuddll_x64 /s /q
|
||||||
|
rmdir ..\..\lib\vc90_x64_dll /s /q
|
||||||
|
|
||||||
|
rem Delete the build output files from the last run, if any.
|
||||||
|
|
||||||
|
del 2008x86_Debug.txt
|
||||||
|
del 2008x86_Release.txt
|
||||||
|
del 2008x64_Debug.txt
|
||||||
|
del 2008x64_Release.txt
|
||||||
|
|
||||||
|
rem 32 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Debug
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 >> 2008x86_Debug.txt
|
||||||
|
|
||||||
|
rem 32 bit release build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X86 /Release
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 >> 2008x86_Release.txt
|
||||||
|
|
||||||
|
|
||||||
|
rem 64 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Debug
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2008x64_Debug.txt
|
||||||
|
|
||||||
|
rem 64 bit release build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\SetEnv.Cmd" /X64 /Release
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=90 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2008x64_Release.txt
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd c:\wxWidgets
|
65
build/tools/msvs/build2010.bat
Executable file
65
build/tools/msvs/build2010.bat
Executable file
@@ -0,0 +1,65 @@
|
|||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
cd c:\wxWidgets-%1.%2.%3\build\msw
|
||||||
|
|
||||||
|
rem ================ VS 2010 Official Build ===============
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a Windows SDK V7.1 command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem build2010
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
|
||||||
|
|
||||||
|
rmdir vc100_mswuddll /s /q
|
||||||
|
rmdir vc100_mswuddll_x64 /s /q
|
||||||
|
rmdir vc100_mswudll /s /q
|
||||||
|
rmdir vc100_mswudll_x64 /s /q
|
||||||
|
|
||||||
|
rmdir ..\..\lib\vc100_dll /s /q
|
||||||
|
rmdir ..\..\lib\vc100_x64_dll /s /q
|
||||||
|
|
||||||
|
rem Delete the build output files from the last run, if any.
|
||||||
|
|
||||||
|
del 2010x86_Debug.txt
|
||||||
|
del 2010x86_Release.txt
|
||||||
|
del 2010x64_Debug.txt
|
||||||
|
del 2010x64_Release.txt
|
||||||
|
|
||||||
|
|
||||||
|
rem 64 bit release build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Release
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2010x64_Release.txt
|
||||||
|
|
||||||
|
rem 32 bit release build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Release
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 >> 2010x86_Release.txt
|
||||||
|
|
||||||
|
rem 64 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X64 /Debug
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2010x64_Debug.txt
|
||||||
|
|
||||||
|
rem 64 bit release build
|
||||||
|
rem ------------------
|
||||||
|
call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /X86 /Debug
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=100 OFFICIAL_BUILD=1 >> 2010x86_Debug.txt
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd c:\wxWidgets
|
64
build/tools/msvs/build2012.bat
Executable file
64
build/tools/msvs/build2012.bat
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
cd c:\wxWidgets-%1.%2.%3\build\msw
|
||||||
|
|
||||||
|
rem ================ VS 2012 Official Build ===============
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a Visual Studio 2012 Developer command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem build2012
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
|
||||||
|
|
||||||
|
rmdir vc110_mswuddll /s /q
|
||||||
|
rmdir vc110_mswuddll_x64 /s /q
|
||||||
|
rmdir vc110_mswudll /s /q
|
||||||
|
rmdir vc110_mswudll_x64 /s /q
|
||||||
|
|
||||||
|
rmdir ..\..\lib\vc110_dll /s /q
|
||||||
|
rmdir ..\..\lib\vc110_x64_dll /s /q
|
||||||
|
|
||||||
|
rem Delete the build output files from the last run, if any.
|
||||||
|
|
||||||
|
del 2012x86_Debug.txt
|
||||||
|
del 2012x86_Release.txt
|
||||||
|
del 2012x64_Debug.txt
|
||||||
|
del 2012x64_Release.txt
|
||||||
|
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
||||||
|
|
||||||
|
rem 64 bit release build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2012x64_Release.txt
|
||||||
|
|
||||||
|
rem 64 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2012x64_Debug.txt
|
||||||
|
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
|
||||||
|
|
||||||
|
rem 32 bit release build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 >> 2012x86_Release.txt
|
||||||
|
|
||||||
|
rem 32 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=110 OFFICIAL_BUILD=1 >> 2012x86_Debug.txt
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd c:\wxWidgets
|
64
build/tools/msvs/build2013.bat
Executable file
64
build/tools/msvs/build2013.bat
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
cd c:\wxWidgets-%1.%2.%3\build\msw
|
||||||
|
|
||||||
|
rem ================ VS 2013 Official Build ===============
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a Visual Studio 2013 Developer command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem build2013
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
rem Remove the existing destination folders if the exist so that a complete rebuild occurs.
|
||||||
|
|
||||||
|
rmdir vc120_mswuddll /s /q
|
||||||
|
rmdir vc120_mswuddll_x64 /s /q
|
||||||
|
rmdir vc120_mswudll /s /q
|
||||||
|
rmdir vc120_mswudll_x64 /s /q
|
||||||
|
|
||||||
|
rmdir ..\..\lib\vc120_dll /s /q
|
||||||
|
rmdir ..\..\lib\vc120_x64_dll /s /q
|
||||||
|
|
||||||
|
rem Delete the build output files from the last run, if any.
|
||||||
|
|
||||||
|
del 2013x86_Debug.txt
|
||||||
|
del 2013x86_Release.txt
|
||||||
|
del 2013x64_Debug.txt
|
||||||
|
del 2013x64_Release.txt
|
||||||
|
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
|
||||||
|
|
||||||
|
rem 64 bit release build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2013x64_Release.txt
|
||||||
|
|
||||||
|
rem 64 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 TARGET_CPU=AMD64 >> 2013x64_Debug.txt
|
||||||
|
|
||||||
|
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"
|
||||||
|
|
||||||
|
rem 32 bit release build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=release SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 >> 2013x86_Release.txt
|
||||||
|
|
||||||
|
rem 32 bit debug build
|
||||||
|
rem ------------------
|
||||||
|
nmake -f makefile.vc BUILD=debug SHARED=1 COMPILER_VERSION=120 OFFICIAL_BUILD=1 >> 2013x86_Debug.txt
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd c:\wxWidgets
|
163
build/tools/msvs/package.bat
Executable file
163
build/tools/msvs/package.bat
Executable file
@@ -0,0 +1,163 @@
|
|||||||
|
rem ============= VS Binaries Packaging Script =============
|
||||||
|
rem
|
||||||
|
rem Copy this file to the \wxwidgets-x.y.z\build\msw folder
|
||||||
|
rem
|
||||||
|
rem Open a command prompt.
|
||||||
|
rem
|
||||||
|
rem cd \wxwidgets-x.y.z\build\msw
|
||||||
|
rem package major minor revision
|
||||||
|
rem
|
||||||
|
rem ========================================================
|
||||||
|
|
||||||
|
if "%1" == "" goto ERR_NOPARM
|
||||||
|
if "%2" == "" goto ERR_NOPARM
|
||||||
|
if "%3" == "" goto ERR_NOPARM
|
||||||
|
|
||||||
|
rem Add path info if necessary.
|
||||||
|
|
||||||
|
path=%path%;"C:\Program Files\7-Zip"
|
||||||
|
|
||||||
|
set wxMajor=%1
|
||||||
|
set wxMinor=%2
|
||||||
|
set wxBuild=%3
|
||||||
|
|
||||||
|
set wxPath=\wxWidgets-%wxMajor%.%wxMinor%.%wxBuild%
|
||||||
|
set wxLibVers=%1%2
|
||||||
|
|
||||||
|
if "%2" == "9" set wxDLLVers=%1%2%3
|
||||||
|
if NOT "%2" == "9" set wxDLLVers=%1%2
|
||||||
|
|
||||||
|
rem Switch to install directory so 7z files are relative to the folder.
|
||||||
|
|
||||||
|
cd %wxPath%
|
||||||
|
|
||||||
|
rem Package the VS 2005 files.
|
||||||
|
rem --------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleasePDB.7z
|
||||||
|
|
||||||
|
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_Dev.7z lib\vc80_dll\mswud lib\vc80_dll\mswu lib\vc80_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc80_dll\wxbase%wxDllVers%ud_*.pdb lib\vc80_dll\wxMSW%wxDllVers%ud_*.dll lib\vc80_dll\wxbase%wxDllVers%u*.dll lib\vc80_dll\*.lib
|
||||||
|
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleaseDLL.7z lib\vc80_dll\wxMSW%wxDllVers%u_*.dll lib\vc80_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
rem 7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc80_ReleasePDB.7z lib\vc80_dll\wxMSW%wxDllVers%u_*.pdb lib\vc80_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2008 32 bit files.
|
||||||
|
rem ---------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_Dev.7z lib\vc90_dll\mswud lib\vc90_dll\mswu lib\vc90_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc90_dll\wxbase%wxDllVers%ud_*.pdb lib\vc90_dll\wxMSW%wxDllVers%ud_*.dll lib\vc90_dll\wxbase%wxDllVers%ud_*.dll lib\vc90_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleaseDLL.7z lib\vc90_dll\wxMSW%wxDllVers%u_*.dll lib\vc90_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_ReleasePDB.7z lib\vc90_dll\wxMSW%wxDllVers%u_*.pdb lib\vc90_dll\wxbase%wxDllVers%u*_.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2010 32 bit files.
|
||||||
|
rem ----------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_Dev.7z lib\vc100_dll\mswud lib\vc100_dll\mswu lib\vc100_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc100_dll\wxbase%wxDllVers%ud_*.pdb lib\vc100_dll\wxMSW%wxDllVers%ud_*.dll lib\vc100_dll\wxbase%wxDllVers%ud_*.dll lib\vc100_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleaseDLL.7z lib\vc100_dll\wxMSW%wxDllVers%u_*.dll lib\vc100_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_ReleasePDB.7z lib\vc100_dll\wxMSW%wxDllVers%u_*.pdb lib\vc100_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2012 32 bit files.
|
||||||
|
rem ----------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_Dev.7z lib\vc110_dll\mswud lib\vc110_dll\mswu lib\vc110_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc110_dll\wxbase%wxDllVers%ud_*.pdb lib\vc110_dll\wxMSW%wxDllVers%ud_*.dll lib\vc110_dll\wxbase%wxDllVers%ud_*.dll lib\vc110_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleaseDLL.7z lib\vc110_dll\wxMSW%wxDllVers%u_*.dll lib\vc110_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_ReleasePDB.7z lib\vc110_dll\wxMSW%wxDllVers%u_*.pdb lib\vc110_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2013 32 bit files.
|
||||||
|
rem ----------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_Dev.7z lib\vc120_dll\mswud lib\vc120_dll\mswu lib\vc120_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc120_dll\wxbase%wxDllVers%ud_*.pdb lib\vc120_dll\wxMSW%wxDllVers%ud_*.dll lib\vc120_dll\wxbase%wxDllVers%ud_*.dll lib\vc120_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleaseDLL.7z lib\vc120_dll\wxMSW%wxDllVers%u_*.dll lib\vc120_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_ReleasePDB.7z lib\vc120_dll\wxMSW%wxDllVers%u_*.pdb lib\vc120_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
|
||||||
|
rem Package the VS 2008 64 bit files.
|
||||||
|
rem ---------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_Dev.7z lib\vc90_x64_dll\mswud lib\vc90_x64_dll\mswu lib\vc90_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc90_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc90_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc90_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc90_x64_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleaseDLL.7z lib\vc90_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc90_x64_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc90_x64_ReleasePDB.7z lib\vc90_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc90_x64_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2010 64 bit files.
|
||||||
|
rem ---------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_Dev.7z lib\vc100_x64_dll\mswud lib\vc100_x64_dll\mswu lib\vc100_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc100_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc100_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc100_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc100_x64_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleaseDLL.7z lib\vc100_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc100_x64_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc100_x64_ReleasePDB.7z lib\vc100_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc100_x64_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
rem Package the VS 2012 64 bit files.
|
||||||
|
rem ---------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_Dev.7z lib\vc110_x64_dll\mswud lib\vc110_x64_dll\mswu lib\vc110_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc110_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc110_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc110_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc110_x64_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleaseDLL.7z lib\vc110_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc110_x64_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc110_x64_ReleasePDB.7z lib\vc110_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc110_x64_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
|
||||||
|
rem Package the VS 2013 64 bit files.
|
||||||
|
rem ---------------------------------
|
||||||
|
|
||||||
|
rem Get rid of any files from the last run.
|
||||||
|
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_Dev.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleaseDLL.7z
|
||||||
|
del %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleasePDB.7z
|
||||||
|
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_Dev.7z lib\vc120_x64_dll\mswud lib\vc120_x64_dll\mswu lib\vc120_x64_dll\wxMSW%wxDllVers%ud_*.pdb lib\vc120_x64_dll\wxbase%wxDllVers%ud_*.pdb lib\vc120_x64_dll\wxMSW%wxDllVers%ud_*.dll lib\vc120_x64_dll\wxbase%wxDllVers%ud_*.dll lib\vc120_x64_dll\*.lib
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleaseDLL.7z lib\vc120_x64_dll\wxMSW%wxDllVers%u_*.dll lib\vc120_x64_dll\wxbase%wxDllVers%u_*.dll
|
||||||
|
7z a -t7z %wxPath%\wxMSW-%wxMajor%.%wxMinor%.%wxBuild%%4_vc120_x64_ReleasePDB.7z lib\vc120_x64_dll\wxMSW%wxDllVers%u_*.pdb lib\vc120_x64_dll\wxbase%wxDllVers%u_*.pdb
|
||||||
|
|
||||||
|
|
||||||
|
goto End
|
||||||
|
|
||||||
|
:ERR_NOPARM
|
||||||
|
@echo.
|
||||||
|
@echo ERROR: NO PARAMETER SUPPLIED
|
||||||
|
@echo MajorVers MinorVers BuildVers
|
||||||
|
|
||||||
|
:End
|
||||||
|
|
||||||
|
cd \wxWidgets
|
6
configure
vendored
6
configure
vendored
@@ -2310,7 +2310,7 @@ Optional Packages:
|
|||||||
--with-osx_carbon use Mac OS X (Carbon)
|
--with-osx_carbon use Mac OS X (Carbon)
|
||||||
--with-osx_cocoa use Mac OS X (Cocoa)
|
--with-osx_cocoa use Mac OS X (Cocoa)
|
||||||
--with-osx_iphone use iPhone OS X port
|
--with-osx_iphone use iPhone OS X port
|
||||||
--with-osx use Mac OS X (default port, currently Carbon)
|
--with-osx use Mac OS X (default port, Cocoa)
|
||||||
--with-carbon same as --with-osx_carbon
|
--with-carbon same as --with-osx_carbon
|
||||||
--with-cocoa same as --with-osx_cocoa
|
--with-cocoa same as --with-osx_cocoa
|
||||||
--with-iphone same as --with-osx_iphone
|
--with-iphone same as --with-osx_iphone
|
||||||
@@ -4517,7 +4517,7 @@ fi
|
|||||||
|
|
||||||
# Check whether --with-osx was given.
|
# Check whether --with-osx was given.
|
||||||
if test "${with_osx+set}" = set; then :
|
if test "${with_osx+set}" = set; then :
|
||||||
withval=$with_osx; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1
|
withval=$with_osx; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -4541,7 +4541,7 @@ fi
|
|||||||
|
|
||||||
# Check whether --with-mac was given.
|
# Check whether --with-mac was given.
|
||||||
if test "${with_mac+set}" = set; then :
|
if test "${with_mac+set}" = set; then :
|
||||||
withval=$with_mac; wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1
|
withval=$with_mac; wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@@ -468,11 +468,11 @@ AC_ARG_WITH(motif, [ --with-motif use Motif/Lesstif], [wxUSE
|
|||||||
AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(osx_carbon, [ --with-osx_carbon use Mac OS X (Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(osx_cocoa, [ --with-osx_cocoa use Mac OS X (Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(osx_iphone, [ --with-osx_iphone use iPhone OS X port], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(osx_iphone, [ --with-osx_iphone use iPhone OS X port], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, currently Carbon)], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(osx, [ --with-osx use Mac OS X (default port, Cocoa)], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(carbon, [ --with-carbon same as --with-osx_carbon], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(carbon, [ --with-carbon same as --with-osx_carbon], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(cocoa, [ --with-cocoa same as --with-osx_cocoa], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(cocoa, [ --with-cocoa same as --with-osx_cocoa], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(iphone, [ --with-iphone same as --with-osx_iphone], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(iphone, [ --with-iphone same as --with-osx_iphone], [wxUSE_OSX_IPHONE="$withval" CACHE_OSX_IPHONE=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_CARBON="$withval" CACHE_OSX_CARBON=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(mac, [ --with-mac same as --with-osx], [wxUSE_OSX_COCOA="$withval" CACHE_OSX_COCOA=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(old_cocoa, [ --with-old_cocoa use old, deprecated, Cocoa port], [wxUSE_OLD_COCOA="$withval" CACHE_OLD_COCOA=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(old_cocoa, [ --with-old_cocoa use old, deprecated, Cocoa port], [wxUSE_OLD_COCOA="$withval" CACHE_OLD_COCOA=1 TOOLKIT_GIVEN=1])
|
||||||
AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
|
AC_ARG_WITH(wine, [ --with-wine use Wine], [wxUSE_WINE="$withval" CACHE_WINE=1])
|
||||||
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
|
AC_ARG_WITH(msw, [ --with-msw use MS-Windows], [wxUSE_MSW="$withval" CACHE_MSW=1 TOOLKIT_GIVEN=1])
|
||||||
|
@@ -239,6 +239,9 @@ Changes in behaviour not resulting in compilation errors, please read this!
|
|||||||
- wxAny now uses C locale format for the floating point numbers and not the
|
- wxAny now uses C locale format for the floating point numbers and not the
|
||||||
current locale one, i.e. decimal point is always used.
|
current locale one, i.e. decimal point is always used.
|
||||||
|
|
||||||
|
- wxGridBagSizer::AddGrowable{Col,Row}() must now be called after the items are
|
||||||
|
added to the sizer, i.e. the columns and rows already exist.
|
||||||
|
|
||||||
|
|
||||||
Changes in behaviour which may result in compilation errors
|
Changes in behaviour which may result in compilation errors
|
||||||
-----------------------------------------------------------
|
-----------------------------------------------------------
|
||||||
@@ -567,6 +570,23 @@ Major new features in this release
|
|||||||
was added.
|
was added.
|
||||||
|
|
||||||
|
|
||||||
|
3.0.0: (released 2013-11-11)
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
All:
|
||||||
|
|
||||||
|
- Fix crash if wxCharBuffer fails to allocate the requested amount of memory.
|
||||||
|
|
||||||
|
wxGTK:
|
||||||
|
|
||||||
|
- Fix wxSpinButton default width under GTK+ 3 (David Hart).
|
||||||
|
|
||||||
|
wxMSW:
|
||||||
|
|
||||||
|
- Compilation fix for WXWIN_COMPATIBILITY_2_6=1 case (Tim Stahlhut).
|
||||||
|
- Fix behaviour of wxComboBox using ID=1000.
|
||||||
|
|
||||||
|
|
||||||
3.0-RC2: (released 2013-10-28)
|
3.0-RC2: (released 2013-10-28)
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
@@ -674,7 +694,7 @@ All:
|
|||||||
- Add separate read/written bytes counters and per-direction NOWAIT and WAITALL
|
- Add separate read/written bytes counters and per-direction NOWAIT and WAITALL
|
||||||
flags to wxSocket (Rob Bresalier).
|
flags to wxSocket (Rob Bresalier).
|
||||||
- Add wxEventLoop::ScheduleExit() (Rob Bresalier).
|
- Add wxEventLoop::ScheduleExit() (Rob Bresalier).
|
||||||
- Add wxProcess::SetPriority() (Marian Meravy).
|
- Add wxProcess::SetPriority() (Marián "VooDooMan" Meravý).
|
||||||
- Add wxDir::Close() method (Silverstorm82).
|
- Add wxDir::Close() method (Silverstorm82).
|
||||||
- Fix wxDateTime::GetWeekOfYear() for the last week of year (aimo).
|
- Fix wxDateTime::GetWeekOfYear() for the last week of year (aimo).
|
||||||
- Fix compilation of wxHash{Map,Set} with g++ 4.7 (Nathan Ridge).
|
- Fix compilation of wxHash{Map,Set} with g++ 4.7 (Nathan Ridge).
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@defgroup group_class Full Class List by Category
|
@defgroup group_class Class List by Category
|
||||||
|
|
||||||
This group contains all full class list groups. The @ref page_class_cat
|
This group contains all full class list groups. The @ref page_class_cat
|
||||||
provides a quick summary of these groups on one page.
|
provides a quick summary of these groups on one page.
|
||||||
|
@@ -7,12 +7,13 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@page page_class_cat Summarized Class List by Category
|
@page page_class_cat Overview of Available Classes
|
||||||
|
|
||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
This page contains a summarized listing of classes, please see the
|
This page contains a summarized listing of classes, please see the
|
||||||
@ref group_class page for a full listing.
|
@ref group_class page for a full listing by category or the
|
||||||
|
<a href="classes.html">full list of classes</a> in alphabetical order.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -9,8 +9,11 @@
|
|||||||
|
|
||||||
@page page_copyright Copyrights and Licenses
|
@page page_copyright Copyrights and Licenses
|
||||||
|
|
||||||
Copyright (c) 1992-2012 Julian Smart, Robert Roebling, Vadim Zeitlin and other
|
@section section_copyright wxWidgets Copyrights and Licenses
|
||||||
members of the wxWidgets team
|
|
||||||
|
Copyright (c) 1992-2013 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
|
||||||
|
Roebling, and other members of the wxWidgets team, please see the
|
||||||
|
acknowledgements section below.
|
||||||
|
|
||||||
Portions (c) 1996 Artificial Intelligence Applications Institute
|
Portions (c) 1996 Artificial Intelligence Applications Institute
|
||||||
|
|
||||||
@@ -24,6 +27,72 @@ recognition of the new name by OSI.
|
|||||||
@li @subpage page_copyright_xserver
|
@li @subpage page_copyright_xserver
|
||||||
|
|
||||||
|
|
||||||
|
@section section_acknowledgements Acknowledgements
|
||||||
|
|
||||||
|
The following is the list of the core, active developers of wxWidgets which keep
|
||||||
|
it running and have provided an invaluable, extensive and high-quality amount of
|
||||||
|
changes over the many of years of wxWidgets' life:
|
||||||
|
|
||||||
|
@li Julian Smart
|
||||||
|
@li Vadim Zeitlin
|
||||||
|
@li Robert Roebling
|
||||||
|
@li Robin Dunn
|
||||||
|
@li Stefan Csomor
|
||||||
|
@li Vaclav Slavik
|
||||||
|
@li Paul Cornett
|
||||||
|
@li Wlodzimierz `ABX' Skiba
|
||||||
|
@li Chris Elliott
|
||||||
|
@li David Elliott
|
||||||
|
@li Kevin Hock
|
||||||
|
@li Stefan Neis
|
||||||
|
@li Michael Wetherell
|
||||||
|
|
||||||
|
We would particularly like to thank the following peoples for their contributions
|
||||||
|
to wxWidgets, and the many others who have been involved in the project over the years.
|
||||||
|
Apologies for any unintentional omissions from this alphabetic list:
|
||||||
|
|
||||||
|
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI,
|
||||||
|
Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward,
|
||||||
|
Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton,
|
||||||
|
Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe,
|
||||||
|
Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven,
|
||||||
|
Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries,
|
||||||
|
Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz,
|
||||||
|
Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle,
|
||||||
|
Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen,
|
||||||
|
Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann,
|
||||||
|
Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu Männistö,
|
||||||
|
Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero,
|
||||||
|
Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
||||||
|
Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton,
|
||||||
|
Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Systä, George Tasker,
|
||||||
|
Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli,
|
||||||
|
David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann.
|
||||||
|
|
||||||
|
Many thanks also to AIAI for being willing to release the original version of
|
||||||
|
wxWidgets into the public domain, and to our patient partners.
|
||||||
|
|
||||||
|
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
||||||
|
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
||||||
|
been used in wxGraphLayout (not in wxWidgets anymore) with his permission.
|
||||||
|
|
||||||
|
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
||||||
|
from the source of which we have borrowed some spline drawing code.
|
||||||
|
His copyright is included below.
|
||||||
|
|
||||||
|
<em>
|
||||||
|
XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
|
||||||
|
use, copy, modify, distribute, and sell this software and its
|
||||||
|
documentation for any purpose is hereby granted without fee, provided
|
||||||
|
that the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation, and that the name of M.I.T. not be used in advertising or
|
||||||
|
publicity pertaining to distribution of the software without specific,
|
||||||
|
written prior permission. M.I.T. makes no representations about the
|
||||||
|
suitability of this software for any purpose. It is provided ``as is''
|
||||||
|
without express or implied warranty.
|
||||||
|
</em>
|
||||||
|
|
||||||
@page page_copyright_wxlicense wxWindows Library Licence
|
@page page_copyright_wxlicense wxWindows Library Licence
|
||||||
|
|
||||||
@verbinclude "licence.txt"
|
@verbinclude "licence.txt"
|
||||||
|
@@ -7,11 +7,11 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@page page_multiplatform General Cross-Platform Development Tips
|
@page page_multiplatform Cross-Platform Development Tips
|
||||||
|
|
||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
This chapter describes some tips related to cross-platform development.
|
This chapter describes some general tips related to cross-platform development.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -128,7 +128,7 @@ On Windows using a compiler other than MinGW/Cygwin, you would build the
|
|||||||
wxWidgets library from the @c "build/msw" directory which contains the relevant
|
wxWidgets library from the @c "build/msw" directory which contains the relevant
|
||||||
makefiles.
|
makefiles.
|
||||||
|
|
||||||
On Windows using MinGW/Cygwin, and on Unix, MacOS X and OS/2, you invoke
|
On Windows using MinGW/Cygwin, and on Unix, OS X and OS/2, you invoke
|
||||||
'configure' (found in the top-level of the wxWidgets source hierarchy), from
|
'configure' (found in the top-level of the wxWidgets source hierarchy), from
|
||||||
within a suitable empty directory for containing makefiles, object files and
|
within a suitable empty directory for containing makefiles, object files and
|
||||||
libraries.
|
libraries.
|
||||||
|
@@ -15,207 +15,118 @@
|
|||||||
|
|
||||||
@section page_introduction_whatis What is wxWidgets?
|
@section page_introduction_whatis What is wxWidgets?
|
||||||
|
|
||||||
wxWidgets is a C++ framework providing GUI (Graphical User
|
wxWidgets is an open source C++ framework allowing to write cross-platform
|
||||||
Interface) and other facilities on more than one platform. Version 2 and higher
|
GUI applications with native look and feel in C++ and other languages.
|
||||||
currently support all desktop versions of MS Windows, Unix with GTK+ 1.x or 2.x,
|
|
||||||
Unix with Motif, Unix with just X11, Unix with DirectFB, Mac OS X, OS/2.
|
|
||||||
|
|
||||||
wxWidgets was originally developed at the Artificial Intelligence
|
wxWidgets was originally developed by Julian Smart at the Artificial
|
||||||
Applications Institute, University of Edinburgh, for internal use,
|
Intelligence Applications Institute, University of Edinburgh, for internal use,
|
||||||
and was first made publicly available in 1992.
|
and was first made publicly available in 1992, with a vastly improved version 2
|
||||||
Version 2 is a vastly improved version written and maintained by
|
released in 1999. The last major version of the library is 3 and was released
|
||||||
Julian Smart, Robert Roebling, Vadim Zeitlin, Vaclav Slavik and many others.
|
in 2013. Currently wxWidgets is developed and maintained by Julian Smart, Vadim
|
||||||
|
Zeitlin, Stefan Csomor, Robert Roebling, Vaclav Slavik and many others.
|
||||||
|
|
||||||
This manual contains a class reference and topic overviews.
|
More information about wxWidgets is available on its web site at
|
||||||
For a selection of wxWidgets tutorials, please see the documentation page
|
http://www.wxwidgets.org.
|
||||||
on the wxWidgets web site: http://www.wxwidgets.org.
|
|
||||||
|
|
||||||
Please note that in the following, "MS Windows" often refers to all
|
|
||||||
platforms related to Microsoft Windows, including 32-bit and 64-bit
|
|
||||||
variants, unless otherwise stated. All trademarks are acknowledged.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@section page_introduction_why Why another cross-platform development tool?
|
@section page_introduction_why Why choose wxWidgets?
|
||||||
|
|
||||||
wxWidgets was developed to provide a cheap and flexible way to maximize
|
Compared to the other similar libraries, wxWidgets is:
|
||||||
investment in GUI application development. While a number of commercial
|
|
||||||
class libraries already existed for cross-platform development,
|
|
||||||
none met all of the following criteria:
|
|
||||||
|
|
||||||
@li low price;
|
1. The only C++ GUI library built by wrapping native GUI widgets which results
|
||||||
@li source availability;
|
in the best user experience on each platform.
|
||||||
@li simplicity of programming;
|
2. Written using only the standard C++ and doesn't rely on any custom
|
||||||
@li support for a wide range of compilers.
|
extensions or preprocessing.
|
||||||
|
3. Open source and free for use in both open source and commercial projects.
|
||||||
|
|
||||||
Since wxWidgets was started, several other free or almost-free
|
|
||||||
GUI frameworks have emerged. However, none has the range of
|
|
||||||
features, flexibility, documentation and the well-established
|
|
||||||
development team that wxWidgets has.
|
|
||||||
|
|
||||||
As open source software, wxWidgets has benefited from comments,
|
wxWidgets provides a simple, easy to learn, yet very rich API. It is also
|
||||||
ideas, bug fixes, enhancements and the sheer enthusiasm of
|
mature and stable, and the applications written using wxWidgets 2.0
|
||||||
users. This gives wxWidgets a certain advantage over its
|
pre-releases almost 20 years ago can still be built today with wxWidgets 3
|
||||||
commercial competitors (and over free libraries without an
|
almost unchanged. wxWidgets has a large, active and friendly community of
|
||||||
independent development team), plus a robustness against the
|
people, including both the users and developers of the library. It is also
|
||||||
transience of one individual or company. This openness and
|
available now for more than a dozen other languages, including Python, Perl,
|
||||||
availability of source code is especially important when the
|
Ruby, Lua, Haskell, D, Erlang, PHP, in addition to C++.
|
||||||
future of thousands of lines of application code may depend upon
|
|
||||||
the longevity of the underlying class library.
|
|
||||||
|
|
||||||
Version 2 goes much further than previous versions in terms of
|
It is impossible to sum up everything included in wxWidgets in a few
|
||||||
generality and features, allowing applications to be produced
|
paragraphs, but here are some of the benefits:
|
||||||
that are often indistinguishable from those produced using
|
|
||||||
single-platform toolkits such as Motif, GTK+ and MFC.
|
|
||||||
|
|
||||||
The importance of using a platform-independent class library
|
@li Available on all major desktop platforms.
|
||||||
cannot be overstated, since GUI application development is very
|
@li Free for any use.
|
||||||
time-consuming, and sustained popularity of particular GUIs
|
@li Source is available and easy to read and modify if necessary.
|
||||||
cannot be guaranteed. Code can very quickly become obsolete if
|
@li Over 100 example programs.
|
||||||
it addresses the wrong platform or audience. wxWidgets helps to
|
@li Extensive documentation (almost 200,000 lines of it).
|
||||||
insulate the programmer from these winds of change. Although
|
@li Straightforward API.
|
||||||
wxWidgets may not be suitable for every application (such as an
|
@li Simple but powerful layout system.
|
||||||
OLE-intensive program), it provides access to most of the
|
@li Run-time loadable or compile-time embeddable resources.
|
||||||
functionality a GUI program normally requires, plus many extras
|
|
||||||
such as network programming, PostScript output, and HTML
|
|
||||||
rendering; and it can of course be extended as needs dictate.
|
|
||||||
As a bonus, it provides a far cleaner and easier programming
|
|
||||||
interface than the native APIs. Programmers may find it
|
|
||||||
worthwhile to use wxWidgets even if they are developing on only
|
|
||||||
one platform.
|
|
||||||
|
|
||||||
It is impossible to sum up the functionality of wxWidgets in a few paragraphs, but
|
|
||||||
here are some of the benefits:
|
|
||||||
|
|
||||||
@li Low cost (free, in fact!)
|
|
||||||
@li You get the source.
|
|
||||||
@li Available on a variety of popular platforms.
|
|
||||||
@li Works with almost all popular C++ compilers and Python.
|
|
||||||
@li Over 70 example programs.
|
|
||||||
@li Over 1000 pages of printable and on-line documentation.
|
|
||||||
@li Simple-to-use, object-oriented API.
|
|
||||||
@li Flexible event system.
|
@li Flexible event system.
|
||||||
@li Graphics calls include lines, rounded rectangles, splines, polylines, etc.
|
@li All the usual and quite a few of more rare GUI controls.
|
||||||
@li Constraint-based and sizer-based layouts.
|
@li And also all the standard dialogs.
|
||||||
@li Print/preview and document/view architectures.
|
@li 2D path-based drawing API with full support for transparency.
|
||||||
@li Toolbar, notebook, tree control, advanced list control classes.
|
@li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX, TGA, ...).
|
||||||
@li PostScript generation under Unix, normal MS Windows printing on the PC.
|
@li Printing, help, clipboard, drag-and-drop, document/view, ... support.
|
||||||
@li MDI (Multiple Document Interface) support.
|
@li Integration with the native platform HTML rendering engine.
|
||||||
@li Can be used to create DLLs under Windows, dynamic libraries on Unix.
|
@li Dockable windows framework.
|
||||||
@li Common dialogs for file browsing, printing, colour selection, etc.
|
@li Word processor-like widget.
|
||||||
@li Under MS Windows, support for creating metafiles and copying them to the clipboard.
|
@li Powerful text editing widget with syntax highlighting.
|
||||||
@li An API for invoking help from applications.
|
@li And much, much more...
|
||||||
@li Ready-to-use HTML window (supporting a subset of HTML).
|
|
||||||
@li Network support via a family of socket and protocol classes.
|
|
||||||
@li Support for platform independent image processing.
|
|
||||||
@li Built-in support for many file formats (BMP, PNG, JPEG, GIF, XPM, PNM, PCX).
|
|
||||||
|
|
||||||
|
|
||||||
@section page_introduction_requirements wxWidgets Requirements
|
@section page_introduction_requirements wxWidgets Requirements
|
||||||
|
|
||||||
To make use of wxWidgets, you currently need one of the following setups.
|
wxWidgets first-tier "ports", ie implementations of wxWidgets API, are:
|
||||||
|
|
||||||
(a) MS-Windows:
|
@li wxMSW: This is the native port for Microsoft Windows systems (from Windows
|
||||||
|
95 up to Windows 8.1 with at least Windows XP being recommended), either 32 or
|
||||||
|
64 bits. The primarily supported compilers are Microsoft Visual C++ (versions 6
|
||||||
|
up to 2013 are supported, at least 2005 is recommended) and GNU g++ (either
|
||||||
|
from the traditional MinGW, TDM-GCC or MinGW-w64 distributions).
|
||||||
|
|
||||||
@li A 32-bit or 64-bit PC running MS Windows.
|
@li wxGTK: wxGTK2 and wxGTK3 are the ports using GTK+ library version 2.x and
|
||||||
@li A Windows compiler: MS Visual C++ (embedded Visual C++ for wxWinCE
|
3.x respectively. They are very similar, with wxGTK2 being, however, more
|
||||||
port), Borland C++, Watcom C++, Cygwin, MinGW, Digital Mars C++.
|
mature. Both ports work on almost any Unix system (Linux, FreeBSD, OpenBSD,
|
||||||
See @c install.txt for details about compiler version supported.
|
NetBSD, Solaris, AIX, ...) and require GTK+ 2.6 or later or GTK+ 3.x. The
|
||||||
|
primary supported compiler is GNU g++.
|
||||||
|
|
||||||
(b) Unix:
|
@li wxOSX: wxOSX/Cocoa is the primary port for Apple computers, replacing the
|
||||||
|
older and now deprecated wxOSX/Carbon port. wxOSX supports either PowerPC or
|
||||||
|
Intel Macs running OS X 10.5 or higher and can be compiled in either 32 or 64
|
||||||
|
bits using Apple Developer Tools (both GNU g++ and clang are supported).
|
||||||
|
|
||||||
@li Almost any C++ compiler, including GNU C++ and many Unix vendors
|
Other platforms (iOS, Windows CE, OS/2), compilers (Borland C++ under Windows,
|
||||||
compilers such as Sun CC, HP-UX aCC or SGI mipsPro.
|
Sun CC, HP-UX aCC, IBM xlC or SGI mipsPro under Unix) and ports (wxOSX/Carbon,
|
||||||
@li Almost any Unix workstation, and one of: GTK+ 2.6 or higher (GTK+ 1.2.10
|
wxGTK1, wxX11, wxDFB, wxPM...) are also supported but to a lesser extent.
|
||||||
may still be supported but wxGTK1 port is not maintained any longer and lacks
|
Please see the @subpage page_port "platform details page" for more information.
|
||||||
many features of wxGTK2, Motif 1.2 or higher or Lesstif. If using the wxX11
|
|
||||||
port, no such widget set is required.
|
|
||||||
|
|
||||||
(c) Mac OS/Mac OS X:
|
|
||||||
|
|
||||||
@li A PowerPC or Intel Mac running Mac OS X 10.4 or higher
|
|
||||||
@li The Apple Developer Tools (eg. GNU C++)
|
|
||||||
|
|
||||||
|
There are no CPU speed requirements but the faster (and more) CPU(s) you have,
|
||||||
|
the faster the library will compile. You do need to have enough RAM, especially
|
||||||
|
under Windows platforms, to avoid running out of memory during link phase.
|
||||||
|
Depending on the compiler used, you may need at least 4GB to be able to link.
|
||||||
Under all platforms it's recommended to have large amounts of free hard disk
|
Under all platforms it's recommended to have large amounts of free hard disk
|
||||||
space. The exact amount needed depends on the port, compiler and build
|
space. The exact amount needed depends on the port, compiler and build
|
||||||
configurations but to give an example, a debug build of the library may take up
|
configurations but at least 1GB and possibly more is required.
|
||||||
to 500MB.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@section page_introduction_where Availability and location of wxWidgets
|
@section page_introduction_where Where to get wxWidgets and support for it
|
||||||
|
|
||||||
wxWidgets is available by anonymous FTP and World Wide Web
|
The download links can be found at http://www.wxwidgets.org. The primary
|
||||||
from ftp://biolpc22.york.ac.uk/pub and/or http://www.wxwidgets.org.
|
download location is https://sourceforge.net/downloads/wxwindows/ and there is
|
||||||
|
also an FTP mirror at ftp://ftp.wxwidgets.org/pub/. Additionally, the latest
|
||||||
|
version can always be retrieved from our version control system using either
|
||||||
|
Subversion (http://svn.wxwidgets.org/svn/wx/wxWidgets/) or Git
|
||||||
|
(https://github.com/wxWidgets/wxWidgets).
|
||||||
|
|
||||||
You can also buy a CD-ROM using the form on the Web site.
|
wxWidgets documentation that you are reading is also available online at
|
||||||
|
http://docs.wxwidgets.org/trunk/ and please also visit our wiki at
|
||||||
|
http://wiki.wxwidgets.org/ for user-contributed contents.
|
||||||
|
|
||||||
|
And if you have any questions, you can join wxWidgets community using
|
||||||
|
|
||||||
|
- Web-based <a href="http://forums.wxwidgets.org/">wxForum</a>.
|
||||||
@section page_introduction_acknowledgements Acknowledgements
|
- <a href="http://www.wxwidgets.org/support/maillst2.htm">Mailing lists</a>.
|
||||||
|
- @c #wxwidgets IRC channel.
|
||||||
The following is the list of the core, active developers of wxWidgets which keep
|
- Or asking questions with @c wxwidgets tag on http://stackoverflow.com/
|
||||||
it running and have provided an invaluable, extensive and high-quality amount of
|
|
||||||
changes over the many of years of wxWidgets' life:
|
|
||||||
|
|
||||||
@li Julian Smart
|
|
||||||
@li Vadim Zeitlin
|
|
||||||
@li Robert Roebling
|
|
||||||
@li Robin Dunn
|
|
||||||
@li Stefan Csomor
|
|
||||||
@li Vaclav Slavik
|
|
||||||
@li Paul Cornett
|
|
||||||
@li Wlodzimierz `ABX' Skiba
|
|
||||||
@li Chris Elliott
|
|
||||||
@li David Elliott
|
|
||||||
@li Kevin Hock
|
|
||||||
@li Stefan Neis
|
|
||||||
@li Michael Wetherell
|
|
||||||
|
|
||||||
We would particularly like to thank the following peoples for their contributions
|
|
||||||
to wxWidgets, and the many others who have been involved in the project over the years.
|
|
||||||
Apologies for any unintentional omissions from this alphabetic list:
|
|
||||||
|
|
||||||
Yiorgos Adamopoulos, Jamshid Afshar, Alejandro Aguilar-Sierra, AIAI,
|
|
||||||
Patrick Albert, Karsten Ballueder, Mattia Barbon, Michael Bedward,
|
|
||||||
Kai Bendorf, Yura Bidus, Keith Gary Boyce, Chris Breeze, Pete Britton,
|
|
||||||
Ian Brown, C. Buckley, Marco Cavallini, Dmitri Chubraev, Robin Corbet, Cecil Coupe,
|
|
||||||
Andrew Davison, Gilles Depeyrot, Neil Dudman, Hermann Dunkel, Jos van Eijndhoven,
|
|
||||||
Tom Felici, Thomas Fettig, Matthew Flatt, Pasquale Foggia, Josep Fortiana, Todd Fries,
|
|
||||||
Dominic Gallagher, Guillermo Rodriguez Garcia, Wolfram Gloger, Norbert Grotz,
|
|
||||||
Stefan Gunter, Bill Hale, Patrick Halke, Stefan Hammes, Guillaume Helle,
|
|
||||||
Harco de Hilster, Cord Hockemeyer, Markus Holzem, Olaf Klein, Leif Jensen,
|
|
||||||
Bart Jourquin, Guilhem Lavaux, Ron Lee, Jan Lessner, Nicholas Liebmann,
|
|
||||||
Torsten Liermann, Per Lindqvist, Francesco Montorsi, Thomas Runge, Tatu Männistö,
|
|
||||||
Scott Maxwell, Thomas Myers, Oliver Niedung, Ryan Norton, Hernan Otero,
|
|
||||||
Ian Perrigo, Timothy Peters, Giordano Pezzoli, Harri Pasanen, Thomaso Paoletti,
|
|
||||||
Garrett Potts, Marcel Rasche, Dino Scaringella, Jobst Schmalenbach, Arthur Seaton,
|
|
||||||
Paul Shirley, Stein Somers, Petr Smilauer, Neil Smith, Kari Systä, George Tasker,
|
|
||||||
Arthur Tetzlaff-Deas, Jonathan Tonberg, Jyrki Tuomi, Janos Vegh, Andrea Venturoli,
|
|
||||||
David Webster, Otto Wyss, Xiaokun Zhu, Edward Zimmermann.
|
|
||||||
|
|
||||||
Many thanks also to AIAI for being willing to release the original version of
|
|
||||||
wxWidgets into the public domain, and to our patient partners.
|
|
||||||
|
|
||||||
`Graphplace', the basis for the wxGraphLayout library, is copyright Dr. Jos
|
|
||||||
T.J. van Eijndhoven of Eindhoven University of Technology. The code has
|
|
||||||
been used in wxGraphLayout (not in wxWidgets anymore) with his permission.
|
|
||||||
|
|
||||||
We also acknowledge the author of XFIG, the excellent Unix drawing tool,
|
|
||||||
from the source of which we have borrowed some spline drawing code.
|
|
||||||
His copyright is included below.
|
|
||||||
|
|
||||||
<em>
|
|
||||||
XFig2.1 is copyright (c) 1985 by Supoj Sutanthavibul. Permission to
|
|
||||||
use, copy, modify, distribute, and sell this software and its
|
|
||||||
documentation for any purpose is hereby granted without fee, provided
|
|
||||||
that the above copyright notice appear in all copies and that both that
|
|
||||||
copyright notice and this permission notice appear in supporting
|
|
||||||
documentation, and that the name of M.I.T. not be used in advertising or
|
|
||||||
publicity pertaining to distribution of the software without specific,
|
|
||||||
written prior permission. M.I.T. makes no representations about the
|
|
||||||
suitability of this software for any purpose. It is provided ``as is''
|
|
||||||
without express or implied warranty.
|
|
||||||
</em>
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@@ -19,7 +19,7 @@ wxWidgets library is divided into libraries briefly described below. This
|
|||||||
diagram shows the dependencies between them:
|
diagram shows the dependencies between them:
|
||||||
|
|
||||||
@dot
|
@dot
|
||||||
digraph Dependancies
|
digraph Dependencies
|
||||||
{
|
{
|
||||||
node [shape = ellipse, fontname = "Courier", fontsize = 10, style = filled];
|
node [shape = ellipse, fontname = "Courier", fontsize = 10, style = filled];
|
||||||
|
|
||||||
|
@@ -9,30 +9,49 @@
|
|||||||
|
|
||||||
@mainpage Documentation
|
@mainpage Documentation
|
||||||
|
|
||||||
@author Julian Smart, Robert Roebling, Vadim Zeitlin, Robin Dunn,
|
|
||||||
Stefan Csomor, Francesco Montorsi, Bryan Petty, et al
|
|
||||||
|
|
||||||
@date October, 2013
|
|
||||||
|
|
||||||
@image html main_wxlogo.png
|
@image html main_wxlogo.png
|
||||||
|
|
||||||
|
@author Julian Smart, Vadim Zeitlin, Robin Dunn, Stefan Csomor,
|
||||||
|
Bryan Petty, Francesco Montorsi, Robert Roebling et al
|
||||||
|
|
||||||
|
@date November 11, 2013
|
||||||
|
|
||||||
|
@n
|
||||||
|
|
||||||
|
Welcome to wxWidgets, a stable and powerful open source framework for
|
||||||
|
developing native cross-platform GUI applications in C++!
|
||||||
|
|
||||||
|
@n
|
||||||
|
|
||||||
|
If you are new to wxWidgets, please start with the @subpage page_introduction
|
||||||
|
"introduction" and follow with the @subpage page_topics "programming guides",
|
||||||
|
with maybe a look at @subpage page_samples "the samples" as you go. If you are
|
||||||
|
already familiar with wxWidgets, please read about @subpage
|
||||||
|
overview_changes_since28 "the changes" in the latest version compared to 2.8
|
||||||
|
series. And you can also follow the links in the reference section or jump
|
||||||
|
directly to the <a href="classes.html">alphabetical list of classes</a>
|
||||||
|
to find out more about the topic you are interested in.
|
||||||
|
|
||||||
@section manual_user User Manual
|
@section manual_user User Manual
|
||||||
|
|
||||||
@li @subpage page_introduction
|
@li @subpage page_introduction
|
||||||
@li @subpage page_copyright
|
@li @subpage page_topics
|
||||||
@li @subpage page_utils
|
|
||||||
@li @subpage page_samples
|
|
||||||
@li @subpage page_libs
|
@li @subpage page_libs
|
||||||
@li @subpage page_class_cat
|
@li @subpage page_class_cat
|
||||||
@li @subpage page_topics
|
@li @subpage overview_changes_since28
|
||||||
@li @subpage page_multiplatform
|
|
||||||
@li @subpage page_port
|
|
||||||
|
|
||||||
@section manual_reference Reference Manual
|
@section manual_reference Reference
|
||||||
|
|
||||||
@li @subpage page_constants
|
|
||||||
@li @subpage page_translations
|
|
||||||
@li @subpage group_class
|
@li @subpage group_class
|
||||||
@li @subpage group_funcmacro
|
@li @subpage group_funcmacro
|
||||||
|
@li @subpage page_constants
|
||||||
|
|
||||||
|
@section manual_misc Other Information
|
||||||
|
|
||||||
|
@li @subpage page_samples
|
||||||
|
@li @subpage page_utils
|
||||||
|
@li @subpage page_translations
|
||||||
|
@li @subpage page_multiplatform
|
||||||
|
@li @subpage page_copyright
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@@ -62,7 +62,7 @@ distribution.
|
|||||||
@subsection page_port_wxosx_carbon wxOSX/Carbon
|
@subsection page_port_wxosx_carbon wxOSX/Carbon
|
||||||
|
|
||||||
wxOSX/Carbon is a port of wxWidgets for the Macintosh OS platform. Currently
|
wxOSX/Carbon is a port of wxWidgets for the Macintosh OS platform. Currently
|
||||||
MacOS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using
|
OS X 10.5 or higher are supported. wxOSX/Carbon can be compiled both using
|
||||||
Apple's command line developer tools as well as Apple's Xcode IDE. wxOSX/Carbon
|
Apple's command line developer tools as well as Apple's Xcode IDE. wxOSX/Carbon
|
||||||
supports both the Intel and PowerPC architectures and can be used to produce
|
supports both the Intel and PowerPC architectures and can be used to produce
|
||||||
"universal binaries" in order create application which can run both
|
"universal binaries" in order create application which can run both
|
||||||
@@ -81,7 +81,7 @@ distribution.
|
|||||||
@subsection page_port_wxosx_cocoa wxOSX/Cocoa
|
@subsection page_port_wxosx_cocoa wxOSX/Cocoa
|
||||||
|
|
||||||
wxOSX/Cocoa is another port of wxWidgets for the Macintosh OS platform.
|
wxOSX/Cocoa is another port of wxWidgets for the Macintosh OS platform.
|
||||||
Currently MacOS X 10.5 or higher are supported. In contrast to wxOSX/Carbon,
|
Currently OS X 10.5 or higher are supported. In contrast to wxOSX/Carbon,
|
||||||
it uses the Cocoa API in place of Carbon. Much work has gone into this port
|
it uses the Cocoa API in place of Carbon. Much work has gone into this port
|
||||||
and many controls are functional, but the port has not reached the maturity of
|
and many controls are functional, but the port has not reached the maturity of
|
||||||
the wxOSX/Carbon port yet. It is possible to use wxOSX/Cocoa on 64-bit
|
the wxOSX/Carbon port yet. It is possible to use wxOSX/Cocoa on 64-bit
|
||||||
|
@@ -12,7 +12,7 @@
|
|||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
Probably the best way to learn wxWidgets is by reading the source of some 80+
|
Probably the best way to learn wxWidgets is by reading the source of some 80+
|
||||||
samples provided with it. Many aspects of wxWidgets programming can be learnt
|
samples provided with it. Many aspects of wxWidgets programming can be learned
|
||||||
from them, but sometimes it is not simple to just choose the right sample to
|
from them, but sometimes it is not simple to just choose the right sample to
|
||||||
look at. This overview aims at describing what each sample does/demonstrates to
|
look at. This overview aims at describing what each sample does/demonstrates to
|
||||||
make it easier to find the relevant one if a simple grep through all sources
|
make it easier to find the relevant one if a simple grep through all sources
|
||||||
@@ -920,7 +920,7 @@ control.
|
|||||||
@section page_samples_webview wxWebView Sample
|
@section page_samples_webview wxWebView Sample
|
||||||
|
|
||||||
The wxWebView sample demonstarates the various capabilities of the wxWebView
|
The wxWebView sample demonstarates the various capabilities of the wxWebView
|
||||||
control. It is set up as a simple single window web broswer, but with support
|
control. It is set up as a simple single window web browser, but with support
|
||||||
for many of the more complex wxWebView features, including browsing through
|
for many of the more complex wxWebView features, including browsing through
|
||||||
archives.
|
archives.
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@page page_topics Topic Overviews
|
@page page_topics Programming Guides
|
||||||
|
|
||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
@@ -22,7 +22,6 @@ topics related to building applications with wxWidgets.
|
|||||||
@li @subpage overview_roughguide
|
@li @subpage overview_roughguide
|
||||||
@li @subpage overview_helloworld
|
@li @subpage overview_helloworld
|
||||||
@li @subpage overview_python
|
@li @subpage overview_python
|
||||||
@li @subpage overview_changes_since28
|
|
||||||
|
|
||||||
@section page_topics_programming Important wxWidgets Topics
|
@section page_topics_programming Important wxWidgets Topics
|
||||||
|
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@page page_translations Translations
|
@page page_translations Translations to Other Languages
|
||||||
|
|
||||||
@tableofcontents
|
@tableofcontents
|
||||||
|
|
||||||
@@ -49,52 +49,78 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Afrikaans</td>
|
<td>Afrikaans</td>
|
||||||
<td class="orange">71%</td>
|
<td class="orange">68%</td>
|
||||||
<td><a href="mailto:rkwjpj@@puk.ac.za">Petri Jooste</a></td>
|
<td>
|
||||||
|
<a href="mailto:rkwjpj@@puk.ac.za">Petri Jooste</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Albanian</td>
|
<td>Albanian</td>
|
||||||
<td class="orange">79%</td>
|
<td class="orange">75%</td>
|
||||||
<td><a href="mailto:besnik@@programeshqip.org">Besnik Bleta</a></td>
|
<td>
|
||||||
|
<a href="mailto:besnik@@programeshqip.org">Besnik Bleta</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Arabic</td>
|
||||||
|
<td class="red">45%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:abouzekry@@gmail.com">Abdullah Abouzekry</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Basque</td>
|
<td>Basque</td>
|
||||||
<td class="red">18%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:3arrano@@euskalerria.org">3ARRANO Euskalgintza Taldea</a></td>
|
<td>
|
||||||
|
<a href="mailto:3arrano@@euskalerria.org">3ARRANO Euskalgintza Taldea</a>,
|
||||||
|
<a href="mailto:azpidatziak@@gmail.com">Xabier Aramendi</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Catalan</td>
|
<td>Catalan</td>
|
||||||
<td class="orange">67%</td>
|
<td class="orange">65%</td>
|
||||||
<td><a href="mailto:paubcrespo@@hotmail.com">Pau Bosch i Crespo</a></td>
|
<td>
|
||||||
|
<a href="mailto:paubcrespo@@hotmail.com">Pau Bosch i Crespo</a>,
|
||||||
|
<a href="mailto:rmh@@aybabtu.com">Robert Millan</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Chinese (simplified)</td>
|
<td>Chinese (simplified)</td>
|
||||||
<td class="green">80%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:mrfx@@fm365.com">mrfx</a></td>
|
<td>
|
||||||
|
<a href="mailto:mrfx@@fm365.com">mrfx</a>,
|
||||||
|
<a href="mailto:liouxiao@@hotmail.com">Liu XiaoXi</a>,
|
||||||
|
<a href="mailto:hjiawei@@gmail.com">Huang Jiawei</a>,
|
||||||
|
<a href="mailto:williamroot777@@qq.com">William Jiang</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Chinese (traditional)</td>
|
<td>Chinese (traditional)</td>
|
||||||
<td class="green">80%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:pal.tw@@yahoo.com.tw">pal.tw</a></td>
|
<td>
|
||||||
|
<a href="mailto:pal.tw@@yahoo.com.tw">pal.tw</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Czech</td>
|
<td>Czech</td>
|
||||||
<td class="orange">68%</td>
|
<td class="green">100%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:v.slavik@@volny.cz">Vaclav Slavik</a>,
|
<a href="mailto:v.slavik@@volny.cz">Vaclav Slavik</a>,
|
||||||
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>
|
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>,
|
||||||
|
<a href="mailto:zbynek.schwarz@@gmail.com">Zbyněk Schwarz</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Danish</td>
|
<td>Danish</td>
|
||||||
<td class="orange">78%</td>
|
<td class="orange">74%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:leif@@danmos.dk">Leif Jensen</a>,
|
<a href="mailto:leif@@danmos.dk">Leif Jensen</a>,
|
||||||
<a href="mailto:Henrik@@fangorn.dk">Henrik Ræder Clausen</a>,
|
<a href="mailto:Henrik@@fangorn.dk">Henrik Ræder Clausen</a>,
|
||||||
@@ -104,8 +130,12 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Dutch</td>
|
<td>Dutch</td>
|
||||||
<td class="green">92%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:phubers@@solve-i-t.com">Patrick Hubers</a></td>
|
<td>
|
||||||
|
<a href="mailto:phubers@@solve-i-t.com">Patrick Hubers</a>,
|
||||||
|
<a href="mailto:gvmelle@@gmail.com">Gideon van Melle</a>,
|
||||||
|
<a href="mailto:thomasderocker@@hotmail.com">Thomas De Rocker</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
@@ -116,18 +146,19 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Finnish</td>
|
<td>Finnish</td>
|
||||||
<td class="green">88%</td>
|
<td class="green">91%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>,
|
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>,
|
||||||
<a href="mailto:lanurmi@@iki.fi">Lauri Nurmi</a>,
|
<a href="mailto:lanurmi@@iki.fi">Lauri Nurmi</a>,
|
||||||
<a href="mailto:jmsalli79@@hotmail.com">Jaakko Salli</a>,
|
<a href="mailto:jmsalli79@@hotmail.com">Jaakko Salli</a>,
|
||||||
<a href="mailto:elias.julkunen@gmail.com">Elias Julkunen</a>
|
<a href="mailto:elias.julkunen@gmail.com">Elias Julkunen</a>,
|
||||||
|
<a href="mailto:jani.kinnunen@@wippies.fi">Jani Kinnunen</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>French (standard)</td>
|
<td>French (standard)</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">96%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:Stephane.Junique@@optics.kth.se">Stephane Junique</a>,
|
<a href="mailto:Stephane.Junique@@optics.kth.se">Stephane Junique</a>,
|
||||||
<a href="mailto:lionel.allorge@@lunerouge.com">Lionel Allorge</a>,
|
<a href="mailto:lionel.allorge@@lunerouge.com">Lionel Allorge</a>,
|
||||||
@@ -137,7 +168,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Galician</td>
|
<td>Galician</td>
|
||||||
<td class="green">80%</td>
|
<td class="orange">76%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:leandro.regueiro@@gmail.com">Leandro Regueiro</a>,
|
<a href="mailto:leandro.regueiro@@gmail.com">Leandro Regueiro</a>,
|
||||||
<a href="mailto:correoadrian82@@hotmail.com">Adrián González Alba</a>
|
<a href="mailto:correoadrian82@@hotmail.com">Adrián González Alba</a>
|
||||||
@@ -146,7 +177,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>German</td>
|
<td>German</td>
|
||||||
<td class="green">81%</td>
|
<td class="green">100%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:DanR@@gmx.de">Daniel Reith</a>,
|
<a href="mailto:DanR@@gmx.de">Daniel Reith</a>,
|
||||||
<a href="mailto:sparhawk@@aon.at">Gerhard Gruber</a>,
|
<a href="mailto:sparhawk@@aon.at">Gerhard Gruber</a>,
|
||||||
@@ -155,13 +186,15 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
Mark Johnson,
|
Mark Johnson,
|
||||||
<a href="mailto:martinnost@@users.sf.net">Martin Jost</a>,
|
<a href="mailto:martinnost@@users.sf.net">Martin Jost</a>,
|
||||||
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>,
|
<a href="mailto:deirdre_skye@@web.de">Herbert Breunung</a>,
|
||||||
<a href="mailto:chbuck@@gmail.com">Ch. Buck</a>
|
<a href="mailto:chbuck@@gmail.com">Ch. Buck</a>,
|
||||||
|
<a href="mailto:webmaster@@coderonline.de">Max Christian Pohle</a>,
|
||||||
|
<a href="mailto:Thomas.Krebs@@mecadtron.de">Thomas Krebs</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Greek</td>
|
<td>Greek</td>
|
||||||
<td class="orange">76%</td>
|
<td class="orange">73%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:tsolako1@@otenet.gr">Tsolakos Stavros</a>,
|
<a href="mailto:tsolako1@@otenet.gr">Tsolakos Stavros</a>,
|
||||||
<a href="mailto:nassosy@@compulink.gr">Nassos Yiannopoulos</a>
|
<a href="mailto:nassosy@@compulink.gr">Nassos Yiannopoulos</a>
|
||||||
@@ -170,7 +203,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Hindi</td>
|
<td>Hindi</td>
|
||||||
<td class="green">92%</td>
|
<td class="green">83%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:dysxhi@@yahoo.co.in">Dhananjaya Sharma</a>,
|
<a href="mailto:dysxhi@@yahoo.co.in">Dhananjaya Sharma</a>,
|
||||||
<a href="mailto:priyank.bolia@@gmail.com">Priyank Bolia</a>
|
<a href="mailto:priyank.bolia@@gmail.com">Priyank Bolia</a>
|
||||||
@@ -179,7 +212,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Hungarian</td>
|
<td>Hungarian</td>
|
||||||
<td class="green">80%</td>
|
<td class="orange">76%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:Janos_Vegh@@users.sourceforge.net">Végh János Dr.</a>
|
<a href="mailto:Janos_Vegh@@users.sourceforge.net">Végh János Dr.</a>
|
||||||
</td>
|
</td>
|
||||||
@@ -187,51 +220,78 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Indonesian</td>
|
<td>Indonesian</td>
|
||||||
<td class="orange">73%</td>
|
<td class="green">100%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:bambang@@3wsi.com">Bambang Purnomosidi D. P.</a>
|
<a href="mailto:bambang@@3wsi.com">Bambang Purnomosidi D. P.</a>,
|
||||||
|
<a href="mailto:doplank@@gmx.com">Rahmat Bambang</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Italian</td>
|
<td>Italian</td>
|
||||||
<td class="green">91%</td>
|
<td class="green">100%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:mbarbon@@cpan.org">Mattia Barbon</a>,
|
<a href="mailto:mbarbon@@cpan.org">Mattia Barbon</a>,
|
||||||
<a href="mailto:m.cavallini@@koansoftware.com">Marco Cavallini</a>
|
<a href="mailto:m.cavallini@@koansoftware.com">Marco Cavallini</a>,
|
||||||
(<a href="http://www.koansoftware.com">Koan Software</a>)
|
(<a href="http://www.koansoftware.com">Koan Software</a>),
|
||||||
|
<a href="mailto:l.stickell@@yahoo.it">Stefano</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Japanese</td>
|
<td>Japanese</td>
|
||||||
<td class="green">81%</td>
|
<td class="green">97%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:james.bishop1@@tiscali.co.uk">James Bishop</a>,
|
<a href="mailto:james.bishop1@@tiscali.co.uk">James Bishop</a>,
|
||||||
<a href="mailto:saito@@inetrt.skcapi.co.jp">Hiroshi Saito</a>,
|
<a href="mailto:saito@@inetrt.skcapi.co.jp">Hiroshi Saito</a>,
|
||||||
<a href="mailto:suzumizaki@@free.japandesign.ne.jp">Suzumizaki-Kimitaka</a>
|
<a href="mailto:suzumizaki@@free.japandesign.ne.jp">Suzumizaki-Kimitaka</a>,
|
||||||
|
<a href="mailto:kaba@@shall-systemservice.co.jp">Y. KABA.</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Korean</td>
|
||||||
|
<td class="green">85%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:dragoneyes.org@@gmail.com">Sungkee Jung</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Latvian</td>
|
<td>Latvian</td>
|
||||||
<td class="red">21%</td>
|
<td class="green">90%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:lauris@@nix.lv">Lauris Bukshis</a>
|
<a href="mailto:lauris@@nix.lv">Lauris Bukshis</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Lithuanian</td>
|
||||||
|
<td class="red">15%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:pieter.clarysse@@bricsys.com">Pieter</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Malay</td>
|
<td>Malay</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">89%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:mahrazi@@gmail.com">Mahrazi Mohd Kamal</a>
|
<a href="mailto:mahrazi@@gmail.com">Mahrazi Mohd Kamal</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Nepali</td>
|
||||||
|
<td class="green">100%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:drishtibachak@@gmail.com">Him Prasad Gautam</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Norwegian Bokmal</td>
|
<td>Norwegian Bokmal</td>
|
||||||
<td class="orange">78%</td>
|
<td class="orange">74%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:hans@@nordhaug.priv.no">Hans F. Nordhaug</a>
|
<a href="mailto:hans@@nordhaug.priv.no">Hans F. Nordhaug</a>
|
||||||
</td>
|
</td>
|
||||||
@@ -239,17 +299,19 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Polish</td>
|
<td>Polish</td>
|
||||||
<td class="green">81%</td>
|
<td class="green">94%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:matiso@@hoga.pl">Piotr Mackowiak</a>,
|
<a href="mailto:matiso@@hoga.pl">Piotr Mackowiak</a>,
|
||||||
<a href="mailto:jpiw@@go2.pl">Janusz Piwowarski</a>,
|
<a href="mailto:jpiw@@go2.pl">Janusz Piwowarski</a>,
|
||||||
<a href="mailto:abx@@abx.art.pl">ABX</a>
|
<a href="mailto:abx@@abx.art.pl">ABX</a>,
|
||||||
|
<a href="mailto:hippie_1968@@hotmail.com">Michał Trzebiatowski</a>,
|
||||||
|
<a href="mailto:grzezlo@@wp.pl">Grzegorz Zlotowicz</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Portuguese (pt)</td>
|
<td>Portuguese (pt)</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">89%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:bernardosw@@terra.com.br">Bernardo Santos Wernesback</a>,
|
<a href="mailto:bernardosw@@terra.com.br">Bernardo Santos Wernesback</a>,
|
||||||
<a href="mailto:marionrpereira76@@hotmail.com">Mario Pereira</a>,
|
<a href="mailto:marionrpereira76@@hotmail.com">Mario Pereira</a>,
|
||||||
@@ -264,13 +326,25 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
<td>
|
<td>
|
||||||
<a href="mailto:e.a.tacao@@terra.com.br">E.A. Tacao</a>,
|
<a href="mailto:e.a.tacao@@terra.com.br">E.A. Tacao</a>,
|
||||||
<a href="mailto:jecdiniz@@yahoo.com.br">José Eduardo de Carvalho Diniz</a>,
|
<a href="mailto:jecdiniz@@yahoo.com.br">José Eduardo de Carvalho Diniz</a>,
|
||||||
<a href="mailto:adiel@@inf.ufsc.br">Adiel Mittmann</a>
|
<a href="mailto:adiel@@inf.ufsc.br">Adiel Mittmann</a>,
|
||||||
|
<a href="mailto:allanjos@@gmail.com">Allann Jones</a>,
|
||||||
|
<a href="mailto:felipefpl@@ig.com.br">Felipe</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Romanian</td>
|
||||||
|
<td class="green">100%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:cata_sr@yahoo.com">Cătălin Răceanu</a>,
|
||||||
|
<a href="mailto:adrian.haisan@gmail.com">Adrian Hăisan</a>,
|
||||||
|
<a href="mailto:manuelrciosici@gmail.com">Manuel Ciosici</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Russian</td>
|
<td>Russian</td>
|
||||||
<td class="orange">78%</td>
|
<td class="orange">74%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:wolfsoft@@mail.ru">Dennis Prochko</a>,
|
<a href="mailto:wolfsoft@@mail.ru">Dennis Prochko</a>,
|
||||||
<a href="mailto:rolinsky@@mema.ucl.ac.be">Roman Rolinsky</a>,
|
<a href="mailto:rolinsky@@mema.ucl.ac.be">Roman Rolinsky</a>,
|
||||||
@@ -281,13 +355,15 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Slovak</td>
|
<td>Slovak</td>
|
||||||
<td class="orange">77%</td>
|
<td class="orange">74%</td>
|
||||||
<td><a href="mailto:helix84@@centrum.sk">Ivan Masar</a></td>
|
<td>
|
||||||
|
<a href="mailto:helix84@@centrum.sk">Ivan Masar</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Slovenian</td>
|
<td>Slovenian</td>
|
||||||
<td class="green">100%</td>
|
<td class="green">97%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:roman.plevel@@iskratr.si">Roman Plevel</a>,
|
<a href="mailto:roman.plevel@@iskratr.si">Roman Plevel</a>,
|
||||||
<a href="mailto:miles@@filmsi.net">Martin Srebotnjak</a>
|
<a href="mailto:miles@@filmsi.net">Martin Srebotnjak</a>
|
||||||
@@ -296,7 +372,7 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Spanish</td>
|
<td>Spanish</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">89%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:guille@@iies.es">Guillermo Rodriguez Garcia</a>,
|
<a href="mailto:guille@@iies.es">Guillermo Rodriguez Garcia</a>,
|
||||||
<a href="mailto:jsj666@@hotmail.com">JSJ</a>,
|
<a href="mailto:jsj666@@hotmail.com">JSJ</a>,
|
||||||
@@ -307,22 +383,33 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Swedish</td>
|
<td>Swedish</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">98%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:jor@@mindless.com">Jonas Rydberg</a>,
|
<a href="mailto:jor@@mindless.com">Jonas Rydberg</a>,
|
||||||
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>
|
<a href="mailto:kgb@@compart.fi">Kaj G Backas</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td>Tamil</td>
|
||||||
|
<td class="green">100%</td>
|
||||||
|
<td>
|
||||||
|
<a href="mailto:td.dinkar@@gmail.com">DINAKAR T.D.</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Turkish</td>
|
<td>Turkish</td>
|
||||||
<td class="green">92%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:dogusanh@@dynaset.org">Hakki Dogusan</a></td>
|
<td>
|
||||||
|
<a href="mailto:dogusanh@@dynaset.org">Hakki Dogusan</a>,
|
||||||
|
<a href="mailto:kayazeren@@gmail.com">Kaya Zeren</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Ukrainian</td>
|
<td>Ukrainian</td>
|
||||||
<td class="green">95%</td>
|
<td class="green">100%</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="mailto:manko@@salingshot.co.nz">Eugene Manko</a>,
|
<a href="mailto:manko@@salingshot.co.nz">Eugene Manko</a>,
|
||||||
<a href="mailto:yurchor@@ukr.net">Yuri Chornoivan</a>,
|
<a href="mailto:yurchor@@ukr.net">Yuri Chornoivan</a>,
|
||||||
@@ -332,14 +419,18 @@ to foil spam robots, remove one <tt>\@</tt> from them.
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Valencian (ca\@valencia)</td>
|
<td>Valencian (ca\@valencia)</td>
|
||||||
<td class="orange">67%</td>
|
<td class="orange">65%</td>
|
||||||
<td><a href="mailto:rmh@@aybabtu.com">Robert Millan</a></td>
|
<td>
|
||||||
|
<a href="mailto:rmh@@aybabtu.com">Robert Millan</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>Vietnamese</td>
|
<td>Vietnamese</td>
|
||||||
<td class="green">100%</td>
|
<td class="green">100%</td>
|
||||||
<td><a href="mailto:vnwildman@gmail.com">Tran Ngoc Quan</a></td>
|
<td>
|
||||||
|
<a href="mailto:vnwildman@gmail.com">Tran Ngoc Quan</a>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
@@ -47,7 +47,7 @@ You can find Helpview in @c utils/helpview.
|
|||||||
@section page_utils_hhp2cached HHP2Cached
|
@section page_utils_hhp2cached HHP2Cached
|
||||||
|
|
||||||
This utility creates a "cached" version of a @c .hhp file; using cached @c .hhp
|
This utility creates a "cached" version of a @c .hhp file; using cached @c .hhp
|
||||||
files in wxHtmlHelpController can drammatically improve the performances
|
files in wxHtmlHelpController can dramatically improve the performance
|
||||||
of the help viewer. See wxHtmlHelpController for more details.
|
of the help viewer. See wxHtmlHelpController for more details.
|
||||||
|
|
||||||
You can find HHP2Cached in @c utils/hhp2cached.
|
You can find HHP2Cached in @c utils/hhp2cached.
|
||||||
|
@@ -11,7 +11,12 @@
|
|||||||
@page overview_changes_since28 Changes Since wxWidgets 2.8
|
@page overview_changes_since28 Changes Since wxWidgets 2.8
|
||||||
|
|
||||||
This topic describes backwards-incompatible changes in wxWidgets 3.0 compared
|
This topic describes backwards-incompatible changes in wxWidgets 3.0 compared
|
||||||
to the last stable release.
|
to the last stable release and is very important to read if you are updating
|
||||||
|
from the 2.8 or an older version. And even if you hadn't used any previous
|
||||||
|
version of wxWidgets and are starting directly with 3.0, it can still be useful
|
||||||
|
to have at least a quick look at it just to know that some of the older
|
||||||
|
examples and tutorials may not be applicable any more to wxWidgets 3.0.
|
||||||
|
|
||||||
|
|
||||||
The incompatible changes can be grouped into the following categories:
|
The incompatible changes can be grouped into the following categories:
|
||||||
|
|
||||||
|
@@ -464,7 +464,7 @@ IMPLEMENT_DYNAMIC_CLASS(MyControlXmlHandler, wxXmlResourceHandler)
|
|||||||
|
|
||||||
MyControlXmlHandler::MyControlXmlHandler()
|
MyControlXmlHandler::MyControlXmlHandler()
|
||||||
{
|
{
|
||||||
// this call adds support for all wxWindows class styles
|
// this call adds support for all wxWidgets class styles
|
||||||
// (e.g. wxBORDER_SIMPLE, wxBORDER_SUNKEN, wxWS_EX_* etc etc)
|
// (e.g. wxBORDER_SIMPLE, wxBORDER_SUNKEN, wxWS_EX_* etc etc)
|
||||||
AddWindowStyles();
|
AddWindowStyles();
|
||||||
|
|
||||||
|
@@ -66,6 +66,23 @@ IF "%1" == "all" (
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
REM Check for Graphviz (its location should be in %PATH%).
|
||||||
|
REM
|
||||||
|
REM NB: Always do this check because it looks like errorlevel is not set
|
||||||
|
REM when the test is done inside the IF block.
|
||||||
|
dot <NUL >NUL 2>&1
|
||||||
|
IF %GENERATE_HTML%==YES (
|
||||||
|
IF NOT %errorlevel%==0 (
|
||||||
|
IF %errorlevel%==9009 (
|
||||||
|
echo Error: dot was not found in PATH, please install Graphviz!
|
||||||
|
) ELSE (
|
||||||
|
echo Error: %errorlevel% error code when running dot, please check Graphviz installation.
|
||||||
|
)
|
||||||
|
|
||||||
|
EXIT /B
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
REM
|
REM
|
||||||
REM NOW RUN DOXYGEN
|
REM NOW RUN DOXYGEN
|
||||||
REM
|
REM
|
||||||
@@ -75,3 +92,14 @@ REM not included!
|
|||||||
REM
|
REM
|
||||||
set PATH=%PATH%;%HHC_PATH%
|
set PATH=%PATH%;%HHC_PATH%
|
||||||
doxygen Doxyfile
|
doxygen Doxyfile
|
||||||
|
|
||||||
|
REM Check that class inheritance diagram images are present for html/chm docs.
|
||||||
|
REM
|
||||||
|
REM NB: Set the file to check outside the IF block,
|
||||||
|
REM otherwise the second check does not always pick its value.
|
||||||
|
set filetofind=out\html\classwx_app_console__inherit__graph.png
|
||||||
|
IF %GENERATE_HTML%==YES (
|
||||||
|
IF NOT EXIST %~dp0%filetofind% (
|
||||||
|
echo Warning: Class inheritance diagram images are missing, please check Graphviz installation.
|
||||||
|
)
|
||||||
|
)
|
||||||
|
@@ -22,7 +22,7 @@ and another one, which only uses X11 calls and which draws its
|
|||||||
widgets entirely itself, without using any outside library. This port
|
widgets entirely itself, without using any outside library. This port
|
||||||
is called wxX11 or sometimes more generally wxUniv (short for
|
is called wxX11 or sometimes more generally wxUniv (short for
|
||||||
wxUniversal), since this widget set (implemented entirely within
|
wxUniversal), since this widget set (implemented entirely within
|
||||||
wxWidgets) is available whereever wxWidgets is available. Since this
|
wxWidgets) is available wherever wxWidgets is available. Since this
|
||||||
short overview is mainly about how to write wxWidgets applications
|
short overview is mainly about how to write wxWidgets applications
|
||||||
for the GNOME<A HREF="http://www.gnome.org/"><SUP>[3]</SUP></A>
|
for the GNOME<A HREF="http://www.gnome.org/"><SUP>[3]</SUP></A>
|
||||||
desktop, I will focus on the GTK+ port, which is generally referred
|
desktop, I will focus on the GTK+ port, which is generally referred
|
||||||
@@ -43,11 +43,11 @@ most aspects of GUI and non-GUI application programming. Sometimes,
|
|||||||
various aspects of these design goals contradict each other and this
|
various aspects of these design goals contradict each other and this
|
||||||
holds true especially for the Linux platform which – from the
|
holds true especially for the Linux platform which – from the
|
||||||
point of view of the desktop environment integration – is
|
point of view of the desktop environment integration – is
|
||||||
lagging behind the other two major desktops (Windows and MacOS X)
|
lagging behind the other two major desktops (Windows and OS X)
|
||||||
mostly because of the schism between the GTK+ based GNOME desktop and
|
mostly because of the schism between the GTK+ based GNOME desktop and
|
||||||
the Qt<A HREF="http://www.trolltech.com/"><SUP>[5]</SUP></A> based
|
the Qt<A HREF="http://www.trolltech.com/"><SUP>[5]</SUP></A> based
|
||||||
KDE<A HREF="http://www.kde.org/"><SUP>[6]</SUP></A> desktop. So far,
|
KDE<A HREF="http://www.kde.org/"><SUP>[6]</SUP></A> desktop. So far,
|
||||||
the typical wxWidgets user targeted Windows, maybe MacOS X and Linux
|
the typical wxWidgets user targeted Windows, maybe OS X and Linux
|
||||||
<I>in general</I>, so the aim was to make wxGTK applications run as
|
<I>in general</I>, so the aim was to make wxGTK applications run as
|
||||||
well as possible on as many versions of Linux as possible, including
|
well as possible on as many versions of Linux as possible, including
|
||||||
those using the KDE environment. Luckily, most of these distributions
|
those using the KDE environment. Luckily, most of these distributions
|
||||||
|
@@ -1,19 +1,18 @@
|
|||||||
wxWidgets for Mac OS X installation
|
wxWidgets for Mac OS X installation
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
|
|
||||||
wxWidgets can be compiled using Apple's Carbon or Cocoa libraries.
|
wxWidgets can be compiled using Apple's Cocoa or Carbon libraries.
|
||||||
Carbon is the older library, and Cocoa is the more modern library.
|
Cocoa is the more modern library, and Carbon is the older deprecated library.
|
||||||
|
|
||||||
In wxWidgets 2.9.x, Cocoa is the recommended library. While Carbon is still
|
In wxWidgets 3, Cocoa is the recommended library. While Carbon is still
|
||||||
supported by Apple, little new work is being done in Carbon.
|
supported by Apple, little new work is being done in Carbon.
|
||||||
|
|
||||||
Most Mac OS X developers should start by downloading and installing Xcode
|
Most Mac OS X developers should start by downloading and installing Xcode
|
||||||
from http://developer.apple.com. It is a free IDE from Apple that provides
|
from http://developer.apple.com. It is a free IDE from Apple that provides
|
||||||
all of the tools you need for working with wxWidgets.
|
all of the tools you need for working with wxWidgets.
|
||||||
|
|
||||||
After Xcode is installed, download either wxWidgets-{version}.tar.gz or
|
After Xcode is installed, download wxWidgets-{version}.tar.bz2 and then
|
||||||
wxMac-{version}.tar.gz and then double-click on it to unpack it to create
|
double-click on it to unpack it to create a wxWidgets directory.
|
||||||
a wxWidgets directory.
|
|
||||||
|
|
||||||
Next use Terminal (under Applications, Utilities, Terminal) to access a command
|
Next use Terminal (under Applications, Utilities, Terminal) to access a command
|
||||||
prompt. Use cd to change directories to your wxWidgets directory and execute
|
prompt. Use cd to change directories to your wxWidgets directory and execute
|
||||||
@@ -28,7 +27,7 @@ installed when you install Xcode 3.x.
|
|||||||
# Build the library for Cocoa (wxWidgets 2.9.0 and later)
|
# Build the library for Cocoa (wxWidgets 2.9.0 and later)
|
||||||
mkdir build-cocoa-debug
|
mkdir build-cocoa-debug
|
||||||
cd build-cocoa-debug
|
cd build-cocoa-debug
|
||||||
../configure --with-osx_cocoa --enable-debug
|
../configure --enable-debug
|
||||||
make
|
make
|
||||||
# Build the samples and demos
|
# Build the samples and demos
|
||||||
cd samples; make;cd ..
|
cd samples; make;cd ..
|
||||||
@@ -39,7 +38,7 @@ cd demos; make;cd ..
|
|||||||
# Build the library for Carbon
|
# Build the library for Carbon
|
||||||
mkdir build-carbon-debug
|
mkdir build-carbon-debug
|
||||||
cd build-carbon-debug
|
cd build-carbon-debug
|
||||||
../configure --enable-debug --disable-shared --enable-macosx_arch=i386 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk CC=/Developer/usr/bin/gcc-4.2 CXX=/Developer/usr/bin/g++-4.2 LD=/Developer/usr/bin/ld
|
../configure --with-carbon --enable-debug --disable-shared --enable-macosx_arch=i386 --with-macosx-sdk=/Developer/SDKs/MacOSX10.6.sdk CC=/Developer/usr/bin/gcc-4.2 CXX=/Developer/usr/bin/g++-4.2 LD=/Developer/usr/bin/ld
|
||||||
make
|
make
|
||||||
# Build the samples and demos
|
# Build the samples and demos
|
||||||
cd samples;make;cd ..
|
cd samples;make;cd ..
|
||||||
@@ -48,10 +47,10 @@ cd demos; make;cd ..
|
|||||||
---------
|
---------
|
||||||
|
|
||||||
After the compilation completes, use Finder to run the samples and demos
|
After the compilation completes, use Finder to run the samples and demos
|
||||||
|
Go to build-cocoa-debug/samples to experiment with the Cocoa samples.
|
||||||
|
Go to build-cocoa-debug/demos to experiment with the Cocoa demos.
|
||||||
Go to build-carbon-debug/samples to experiment with the Carbon samples.
|
Go to build-carbon-debug/samples to experiment with the Carbon samples.
|
||||||
Go to build-carbon-debug/demos to experiment with the Carbon demos.
|
Go to build-carbon-debug/demos to experiment with the Carbon demos.
|
||||||
Go to build-cocoa-debug/samples to experiment with the Cocoa samples.
|
|
||||||
Go to biuld-cocoa-debug/demos to experiment with the Cocoa demos.
|
|
||||||
Double-click on the executables which have an icon showing three small squares.
|
Double-click on the executables which have an icon showing three small squares.
|
||||||
The source code for the samples is in wxWidgets/samples
|
The source code for the samples is in wxWidgets/samples
|
||||||
The source code for the demos is in wxWidgets/demos
|
The source code for the demos is in wxWidgets/demos
|
||||||
@@ -93,8 +92,10 @@ to wx-config with the --in-place option you can avoid installing the library.
|
|||||||
Apple Developer Tools: Xcode
|
Apple Developer Tools: Xcode
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
You can use the project in src/wxWindows.xcodeproj to build wxWidgets,
|
You can use the project in build/osx/wxcocoa.xcodeproj to build the Cocoa
|
||||||
and there is a sample project supplied with the minimal sample.
|
version of wxWidgets (wxOSX/Cocoa) and build/osx/wxcarbon.xcodeproj to
|
||||||
|
build the Carbon version of wxWidgets (wxOSX/Carbon). There are also sample
|
||||||
|
projects supplied with the minimal sample.
|
||||||
|
|
||||||
Notice that the command line build above builds not just the library itself but
|
Notice that the command line build above builds not just the library itself but
|
||||||
also wxrc tool which doesn't have its own Xcode project. If you need this tool,
|
also wxrc tool which doesn't have its own Xcode project. If you need this tool,
|
||||||
@@ -130,8 +131,8 @@ binaries together. Assuming building on a PPC system:
|
|||||||
|
|
||||||
2. Then, build for Intel, in a different folder. This time use:
|
2. Then, build for Intel, in a different folder. This time use:
|
||||||
|
|
||||||
export CFLAGS="-g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386"
|
export CFLAGS="-g -isysroot /Developer/SDKs/MacOSX10.5.sdk -arch i386"
|
||||||
export LDFLAGS="-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"
|
export LDFLAGS="-syslibroot,/Developer/SDKs/MacOSX10.5.sdk"
|
||||||
|
|
||||||
./configure --disable-dependency-tracking --enable-static=yes --enable-shared=no \
|
./configure --disable-dependency-tracking --enable-static=yes --enable-shared=no \
|
||||||
--target=i386-apple-darwin8 --host=powerpc-apple-darwin8 --build=i386-apple-darwin8
|
--target=i386-apple-darwin8 --host=powerpc-apple-darwin8 --build=i386-apple-darwin8
|
||||||
|
@@ -41,7 +41,7 @@ mention that wxWidgets is a C++ framework for building rich GUI
|
|||||||
applications from a single source which can then be compiled on
|
applications from a single source which can then be compiled on
|
||||||
different operating systems, resulting in a native application on
|
different operating systems, resulting in a native application on
|
||||||
each system. wxWidgets uses native controls (or widgets) and other
|
each system. wxWidgets uses native controls (or widgets) and other
|
||||||
native functions whereever possible so that the resulting
|
native functions wherever possible so that the resulting
|
||||||
applications will look and feel as native as possible, and they are
|
applications will look and feel as native as possible, and they are
|
||||||
usually not distinguishable from applications written using single
|
usually not distinguishable from applications written using single
|
||||||
platform toolkits such as MFC for Windows, GTK+ for Linux or Cocoa
|
platform toolkits such as MFC for Windows, GTK+ for Linux or Cocoa
|
||||||
@@ -51,9 +51,9 @@ achieve perfect integration with that platform.</P>
|
|||||||
<P ALIGN=JUSTIFY>The major operating system for which wxWidgets
|
<P ALIGN=JUSTIFY>The major operating system for which wxWidgets
|
||||||
supports are Windows (Windows 95, NT, 2000, XP, Vista) including its
|
supports are Windows (Windows 95, NT, 2000, XP, Vista) including its
|
||||||
mobile variants (Windows CE, PocketPC, Windows Mobile), Linux and
|
mobile variants (Windows CE, PocketPC, Windows Mobile), Linux and
|
||||||
Unix using the GTK+ 2 toolkit (minimum version is GTK+ 2.4, more
|
Unix using the GTK+ 2 toolkit (minimum version is GTK+ 2.6, more
|
||||||
recent features are used when available) and Mac OS X (minimum
|
recent features are used when available) and Mac OS X (minimum
|
||||||
version 10.4 Tiger, both Intel, PPC and the Universal Binaries for
|
version 10.5 Tiger, both Intel, PPC and the Universal Binaries for
|
||||||
both are supported). wxWidgets includes many code pieces for
|
both are supported). wxWidgets includes many code pieces for
|
||||||
optimising dialog and general layout for small screens such as those
|
optimising dialog and general layout for small screens such as those
|
||||||
of the recent netbooks and mobile phones and tablets.</P>
|
of the recent netbooks and mobile phones and tablets.</P>
|
||||||
@@ -103,8 +103,8 @@ tries to both make use of new features of the different operating
|
|||||||
systems and support older systems for as long as possible and as long
|
systems and support older systems for as long as possible and as long
|
||||||
as supporting them does not hinder development for up-to-date
|
as supporting them does not hinder development for up-to-date
|
||||||
systems. This is especially true for OS X and GTK+ 2 and it was
|
systems. This is especially true for OS X and GTK+ 2 and it was
|
||||||
therefore decided that OS X versions older than 10.4 Tiger and GTK+ 2
|
therefore decided that OS X versions older than 10.5 Leopard and GTK+ 2
|
||||||
version older than 2.4 are no longer supported. The wxWidgets team
|
version older than 2.6 are no longer supported. The wxWidgets team
|
||||||
also realized that it could not do everything and that support for a
|
also realized that it could not do everything and that support for a
|
||||||
cross-platform database API was beyond the scope and focus of the
|
cross-platform database API was beyond the scope and focus of the
|
||||||
project so that its old wxODBC database connectivity classes were
|
project so that its old wxODBC database connectivity classes were
|
||||||
@@ -209,7 +209,7 @@ and may thus be the most important changes from a user's perspective
|
|||||||
control used to display lists and hierarchies of name-value pairs.
|
control used to display lists and hierarchies of name-value pairs.
|
||||||
Like wxDataViewCtrl, it offers a number of ready-to-use editors for
|
Like wxDataViewCtrl, it offers a number of ready-to-use editors for
|
||||||
editing text, numbers, lists, fonts, file names etc. using in-place
|
editing text, numbers, lists, fonts, file names etc. using in-place
|
||||||
editing or using pop-up dialog and combo boxes. Developement of
|
editing or using pop-up dialog and combo boxes. Development of
|
||||||
wxPropertyGrid has so far taken place outside of wxWidgets as a
|
wxPropertyGrid has so far taken place outside of wxWidgets as a
|
||||||
separate project, but it has not been included in wxWidgets per se.
|
separate project, but it has not been included in wxWidgets per se.
|
||||||
See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_property_grid.html">wxPropertyGrid</A>.</P>
|
See also <A HREF="http://docs.wxwidgets.org/trunk/classwx_property_grid.html">wxPropertyGrid</A>.</P>
|
||||||
@@ -271,28 +271,24 @@ iPhone and iPod, and these are devices are clearly not Macs. Apart
|
|||||||
from the name change – wxMac has undergone the most fundamental
|
from the name change – wxMac has undergone the most fundamental
|
||||||
changes of the three main ports, even if some of the changes were
|
changes of the three main ports, even if some of the changes were
|
||||||
mostly reorganizing code instead of writing new code. The code has
|
mostly reorganizing code instead of writing new code. The code has
|
||||||
been reorganized into common code (common to Carbon, Cocoa and Cocoa
|
been reorganized into common code (common to Carbon, Cocoa, and Cocoa
|
||||||
Touch) including both general wrapping or front-end classes for much
|
Touch) including both general wrapping or front-end classes for much
|
||||||
of the GUI code as well as a wrapper for the so called CoreFoundation
|
of the GUI code as well as a wrapper for the so called CoreFoundation
|
||||||
classes of OS X, which are responsible on all OS X variants for
|
classes of OS X, which are responsible on all OS X variants for
|
||||||
string manipulation, font support, graphics and other basic
|
string manipulation, font support, graphics and other basic
|
||||||
functionality (CoreImage and CoreVideo have recently been added by
|
functionality and toolkit dependent code for the Carbon, Cocoa, and
|
||||||
Apple) and toolkit dependent code for the Carbon, Cocoa and Cocoa
|
Cocoa Touch API. wxOSX/Carbon is the core of what used to be wxMac
|
||||||
Touch API. The Carbon variant is the core of what used to be wxMac
|
and is now deprecated in favour of wxOSX/Cocoa. Existing applications
|
||||||
and is the most stable and mature version. The reason behind adding
|
are encouraged to switch to wxOSX/Cocoa as Carbon is a deprecated OS X
|
||||||
optional support for Cocoa and Cocoa Touch is that Carbon is not
|
feature, not available for 64-bit GUI applications, and not available for
|
||||||
available on iPhones at all and that it has been deprecated for all
|
iOS devices at all.</P>
|
||||||
64-bit versions of OS X, which is likely to be the default a few
|
|
||||||
years from now. So while present applications using wxOSX are advised
|
|
||||||
to use the Carbon backend due its maturity, future developement will
|
|
||||||
have to focus on the Cocoa backend.</P>
|
|
||||||
<P ALIGN=JUSTIFY>As part of the restructuring, all remaining drawing
|
<P ALIGN=JUSTIFY>As part of the restructuring, all remaining drawing
|
||||||
code using the old QuickDraw API has been removed (it was only an
|
code using the old QuickDraw API has been removed (it was only an
|
||||||
option before) and drawing now always takes place using CoreGraphics.
|
option before) and drawing now always takes place using CoreGraphics.
|
||||||
Likewise, all code using Carbon functions no longer present in OS X
|
Likewise, all code using Carbon functions no longer present in OS X
|
||||||
10.4 has been removed to clean-up the code greatly. This is turn
|
10.4 and 10.5 has been removed to clean-up the code greatly. This is turn
|
||||||
means, as mentioned above, that applications will require a minimum
|
means, as mentioned above, that applications will require a minimum
|
||||||
of OS X 10.4 in order to run, better yet OS X 10.5.</P>
|
of OS X 10.5 in order to run.</P>
|
||||||
<P ALIGN=JUSTIFY>Apart from these large changes, these additional
|
<P ALIGN=JUSTIFY>Apart from these large changes, these additional
|
||||||
features can be noted:</P>
|
features can be noted:</P>
|
||||||
<UL>
|
<UL>
|
||||||
@@ -311,7 +307,7 @@ compatible way. The main problem of this approach is that
|
|||||||
applications written using wxGTK should work with relatively old
|
applications written using wxGTK should work with relatively old
|
||||||
versions of GTK+ but should also make use of recent features. In some
|
versions of GTK+ but should also make use of recent features. In some
|
||||||
cases, supporting an old version of GTK+ hinders development so we
|
cases, supporting an old version of GTK+ hinders development so we
|
||||||
decided to declare GTK+ 2.4 the minimum toolkit version that is
|
decided to declare GTK+ 2.6 the minimum toolkit version that is
|
||||||
supported. As an example, this made it possible to always use the
|
supported. As an example, this made it possible to always use the
|
||||||
GTK+ file dialog instead of the old generic file dialog which had to
|
GTK+ file dialog instead of the old generic file dialog which had to
|
||||||
be used when GTK+ didn't have a usable file dialog.
|
be used when GTK+ didn't have a usable file dialog.
|
||||||
|
@@ -1,13 +1,15 @@
|
|||||||
October 28, 2013 -- The wxWidgets team is pleased to announce the
|
November 11, 2013 -- The wxWidgets team is pleased to announce a
|
||||||
first release candidate release of wxWidgets 3.0.
|
major new release of our open source framework for the development
|
||||||
|
of native cross-platform applications in C++.
|
||||||
|
|
||||||
wxWidgets 3.0-RC2 is available at
|
wxWidgets 3.0.0 is the first release in the new major stable 3.0
|
||||||
|
branch and is available at
|
||||||
|
|
||||||
https://sourceforge.net/downloads/wxwindows/3.0.0-rc2/
|
https://sourceforge.net/downloads/wxwindows/3.0.0/
|
||||||
|
|
||||||
and at our FTP mirror at
|
and at our FTP mirror at
|
||||||
|
|
||||||
ftp://ftp.wxwidgets.org/pub/3.0.0-rc2/
|
ftp://ftp.wxwidgets.org/pub/3.0.0/
|
||||||
|
|
||||||
Please choose the archive format suitable for your platform, i.e. 7z
|
Please choose the archive format suitable for your platform, i.e. 7z
|
||||||
or ZIP for Windows platforms and tar.bz2 for the Unix systems
|
or ZIP for Windows platforms and tar.bz2 for the Unix systems
|
||||||
@@ -20,7 +22,7 @@ as only sources, not binaries, are installed.
|
|||||||
We also provide the pre-built versions of wxMSW libraries for the
|
We also provide the pre-built versions of wxMSW libraries for the
|
||||||
selected compilers at
|
selected compilers at
|
||||||
|
|
||||||
https://sourceforge.net/downloads/wxwindows/3.0.0-rc2/binaries/
|
https://sourceforge.net/downloads/wxwindows/3.0.0/binaries/
|
||||||
|
|
||||||
Please see the README file there for the descriptions of the
|
Please see the README file there for the descriptions of the
|
||||||
individual files.
|
individual files.
|
||||||
@@ -41,20 +43,20 @@ here, but the most important ones are:
|
|||||||
|
|
||||||
Please see the changes.txt file in the "docs" subdirectory of
|
Please see the changes.txt file in the "docs" subdirectory of
|
||||||
wxWidgets distribution or also available online at
|
wxWidgets distribution or also available online at
|
||||||
https://sourceforge.net/projects/wxwindows/files/3.0.0-rc2/changes.txt
|
https://sourceforge.net/projects/wxwindows/files/3.0.0/changes.txt
|
||||||
for more details and please read the "INCOMPATIBLE CHANGES" section
|
for more details and please read the "INCOMPATIBLE CHANGES" section
|
||||||
in its beginning for a brief description of changes if you are
|
in its beginning for a brief description of changes if you are
|
||||||
upgrading from wxWidgets 2.8. For more details, please see
|
upgrading from wxWidgets 2.8. For more details, please see
|
||||||
http://docs.wxwidgets.org/3.0.0/overview_changes_since28.html
|
http://docs.wxwidgets.org/3.0.0/overview_changes_since28.html
|
||||||
|
|
||||||
|
|
||||||
Please test this release candidate version to help us with making the
|
We recommend that you use wxWidgets 3.0 for any new programs and
|
||||||
final 3.0 release as problem-free as possible. We are especially
|
also update any existing code using the older versions to the new
|
||||||
looking forward to your feedback about the changes in this release
|
one (which should be easier than the jump in the version number
|
||||||
compared to 2.8 version if you're upgrading. Please let us know about
|
indicates) as all the future development will only happen in 3.x
|
||||||
any regressions (http://trac.wxwidgets.org/newticket) so that we could
|
series.
|
||||||
fix them in the upcoming 3.0.
|
|
||||||
|
|
||||||
Thanks in advance!
|
|
||||||
|
We hope that you will enjoy using the new release!
|
||||||
|
|
||||||
Vadim Zeitlin, on behalf of wxWidgets development team.
|
Vadim Zeitlin, on behalf of wxWidgets development team.
|
||||||
|
@@ -1,37 +1,39 @@
|
|||||||
wxWidgets 3.0-RC2 Release Notes
|
wxWidgets 3.0.0 Release Notes
|
||||||
===============================
|
=============================
|
||||||
|
|
||||||
Welcome to the latest release of wxWidgets, a free cross-platform C++
|
Welcome to the latest release of wxWidgets, a free and open source
|
||||||
framework for writing advanced GUI applications using native controls.
|
cross-platform C++ framework for writing advanced GUI applications
|
||||||
|
using native controls.
|
||||||
|
|
||||||
|
|
||||||
In addition to common and advanced GUI facilities such as frames,
|
wxWidgets allows you to write native-looking GUI applications for
|
||||||
scrolling windows, toolbars, tree controls, icons, device contexts,
|
all the major desktop platforms and also helps with abstracting
|
||||||
printing, splitter windows and so on, there are wrappers for common
|
the differences in the non-GUI aspects between them. It is free
|
||||||
file operations, facilities for writing network applications,
|
for the use in both open source and commercial applications, comes
|
||||||
thread handling, and so on. You can learn more about wxWidgets at
|
with the full, easy to read and modify, source and extensive
|
||||||
|
documentation and a collection of more than a hundred examples.
|
||||||
|
You can learn more about wxWidgets at
|
||||||
|
|
||||||
http://www.wxwidgets.org/
|
http://www.wxwidgets.org/
|
||||||
|
|
||||||
|
and read its documentation online at
|
||||||
|
|
||||||
wxWidgets sources are available for download from
|
http://docs.wxwidgets.org/3.0.0/
|
||||||
|
|
||||||
https://sourceforge.net/projects/wxwindows/files/3.0.0-rc2/
|
|
||||||
|
wxWidgets sources and binaries for the selected platforms are
|
||||||
|
available for download from
|
||||||
|
|
||||||
|
https://sourceforge.net/projects/wxwindows/files/3.0.0/
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
ftp://ftp.wxwidgets.org/pub/3.0.0-rc2/
|
ftp://ftp.wxwidgets.org/pub/3.0.0/
|
||||||
|
|
||||||
Please see the "Files" section below for the description of various
|
Please see the "Files" section below for the description of various
|
||||||
files available at these locations.
|
files available at these locations.
|
||||||
|
|
||||||
|
|
||||||
A detailed reference manual including in-depth overviews for various
|
|
||||||
topics is supplied in various formats and can be accessed online at
|
|
||||||
|
|
||||||
http://docs.wxwidgets.org/3.0.0/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Changes in this release
|
Changes in this release
|
||||||
-----------------------
|
-----------------------
|
||||||
@@ -39,7 +41,7 @@ Changes in this release
|
|||||||
This release contains several years worth of improvements compared
|
This release contains several years worth of improvements compared
|
||||||
to 2.8 version. Notably, Unicode support has been completely
|
to 2.8 version. Notably, Unicode support has been completely
|
||||||
overhauled and made much easier to use. Debugging support, including
|
overhauled and made much easier to use. Debugging support, including
|
||||||
when using a release build of the library, was much improved making
|
when using a release build of the library, was greatly improved making
|
||||||
it less likely that you use the library incorrectly. Dynamic event
|
it less likely that you use the library incorrectly. Dynamic event
|
||||||
handling was made much more comfortable. Many new GUI and base classes
|
handling was made much more comfortable. Many new GUI and base classes
|
||||||
have been added or improved and all ports, and especially wxOSX/Cocoa
|
have been added or improved and all ports, and especially wxOSX/Cocoa
|
||||||
@@ -63,9 +65,9 @@ Platforms supported
|
|||||||
|
|
||||||
wxWidgets currently supports the following primary platforms:
|
wxWidgets currently supports the following primary platforms:
|
||||||
|
|
||||||
- Windows 95/98/ME, NT, 2000, XP, Vista, 7
|
- Windows 95/98/ME, NT, 2000, XP, Vista, 7 (32/64 bits).
|
||||||
- Most Unix variants using the GTK+ toolkit (version 2.6 or newer)
|
- Most Unix variants using the GTK+ toolkit (version 2.6 or newer)
|
||||||
- Mac OS X (10.5 or newer) using either Carbon or Cocoa
|
- Mac OS X (10.5 or newer) using Cocoa (32/64 bits) or Carbon (32 only)
|
||||||
|
|
||||||
There is some support for the following platforms:
|
There is some support for the following platforms:
|
||||||
|
|
||||||
@@ -98,8 +100,8 @@ In addition to the sources, documentation in HTML, CHM and HTB
|
|||||||
for Microsoft Windows. Notice that you will still need to compile
|
for Microsoft Windows. Notice that you will still need to compile
|
||||||
wxWidgets even when using the installer.
|
wxWidgets even when using the installer.
|
||||||
|
|
||||||
Experimentally, we also supply binaries of wxMSW libraries built
|
We also supply binaries of wxMSW libraries built with several
|
||||||
with several versions of Microsoft Visual C++ compiler for this
|
versions of Microsoft Visual C++ and GNU g++ compiler for this
|
||||||
release. They are available in the "binaries" subdirectory, see
|
release. They are available in the "binaries" subdirectory, see
|
||||||
the description of the files in the README file there.
|
the description of the files in the README file there.
|
||||||
|
|
||||||
@@ -107,10 +109,11 @@ the description of the files in the README file there.
|
|||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
|
||||||
wxWidgets needs to be compiled before you can test out the samples
|
Unless you have downloaded the binaries for your compiler, you
|
||||||
or write your own applications. For installation information, please
|
will need to build wxWidgets before you can test out the samples
|
||||||
see the install.txt file in the docs subdirectory appropriate for
|
or write your own applications. For installation information,
|
||||||
the platform you use.
|
please see the install.txt file in the docs subdirectory
|
||||||
|
appropriate for the platform you use.
|
||||||
|
|
||||||
|
|
||||||
Licence information
|
Licence information
|
||||||
@@ -136,13 +139,7 @@ applications using wxWidgets.
|
|||||||
However, if you distribute wxGTK or wxMotif (with Lesstif)
|
However, if you distribute wxGTK or wxMotif (with Lesstif)
|
||||||
version of your application, don't forget that it is linked
|
version of your application, don't forget that it is linked
|
||||||
against GTK+ (or Lesstif) which is covered by LGPL *without*
|
against GTK+ (or Lesstif) which is covered by LGPL *without*
|
||||||
exception notice. Under Linux systems your app is probably linked
|
exception notice and so is bound by its requirements.
|
||||||
against LGPL glibc as well. Please read carefully LGPL, section
|
|
||||||
6. which describes conditions for distribution of closed source
|
|
||||||
applications linked against LGPL library. Basically you should
|
|
||||||
link dynamically and include source code of LGPL libraries with
|
|
||||||
your product (unless it is already present in user's system -
|
|
||||||
like glibc usually is).
|
|
||||||
|
|
||||||
If you use TIFF image handler, please see src/tiff/COPYRIGHT
|
If you use TIFF image handler, please see src/tiff/COPYRIGHT
|
||||||
for libtiff licence details.
|
for libtiff licence details.
|
||||||
@@ -156,16 +153,17 @@ If you use wxRegEx class on a system without native regular
|
|||||||
expressions support (i.e. MS Windows), see src/regex/COPYRIGHT
|
expressions support (i.e. MS Windows), see src/regex/COPYRIGHT
|
||||||
file for Henry Spencer's regular expression library copyright.
|
file for Henry Spencer's regular expression library copyright.
|
||||||
|
|
||||||
If you use wxXML classes or XRC, see src/expat/COPYING for licence details.
|
If you use wxXML classes or XRC, see src/expat/COPYING for licence
|
||||||
|
details.
|
||||||
|
|
||||||
|
|
||||||
Documentation
|
Documentation
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
wxWidgets documentation is available online at
|
wxWidgets documentation is available online at
|
||||||
http://docs.wxwidgets.org/3.0.0/ and can also be downloaded in HTML
|
http://docs.wxwidgets.org/3.0.0/ and can also be downloaded in
|
||||||
format. To generate documentation in other formats (PDF, CHM, ...)
|
HTML format. To generate documentation in other formats (PDF, CHM,
|
||||||
please use the scripts in docs/doxygen directory.
|
...) please use the scripts in docs/doxygen directory.
|
||||||
|
|
||||||
|
|
||||||
Bug reporting
|
Bug reporting
|
||||||
@@ -188,19 +186,14 @@ addressed sooner.
|
|||||||
Further information
|
Further information
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
The wxWidgets Web site is located at:
|
If you are looking for support, you can get it from
|
||||||
|
|
||||||
http://www.wxwidgets.org/
|
- wxForum at http://forums.wxwidgets.org/
|
||||||
|
- wx-users mailing list (http://www.wxwidgets.org/support/maillst2.htm)
|
||||||
|
- #wxwidgets IRC channel
|
||||||
|
- http://stackoverflow.com/ if you tag your question with "wxwidgets"
|
||||||
|
|
||||||
The main wxWidgets ftp site is at:
|
|
||||||
|
|
||||||
ftp://ftp.wxwidgets.org/pub/
|
|
||||||
|
|
||||||
A wxWidgets CD-ROM with the latest distribution plus an HTML
|
|
||||||
front-end and hundreds of MB of compilers, utilities and other
|
|
||||||
material may be ordered from the CD-ROM page: see the wxWidgets
|
|
||||||
web site.
|
|
||||||
|
|
||||||
Have fun!
|
Have fun!
|
||||||
|
|
||||||
The wxWidgets Team, October 2013
|
The wxWidgets Team, November 2013
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
wxWidgets 3.0.0-rc2 Binaries
|
wxWidgets 3.0.0 Binaries
|
||||||
============================
|
========================
|
||||||
|
|
||||||
This directory contains binary files for wxWidgets 3.0.0-rc2 release.
|
This directory contains binary files for wxWidgets 3.0.0 release.
|
||||||
|
|
||||||
* Microsoft Visual C++ compiler versions 9.0, 10.0, 11.0 and 12.0
|
* Microsoft Visual C++ compiler versions 9.0, 10.0, 11.0 and 12.0
|
||||||
corresponding to marketing product names of Microsoft Visual Studio
|
corresponding to marketing product names of Microsoft Visual Studio
|
||||||
@@ -14,9 +14,10 @@ For Developers
|
|||||||
--------------
|
--------------
|
||||||
|
|
||||||
For developing applications with wxWidgets you need to download the
|
For developing applications with wxWidgets you need to download the
|
||||||
compiler-independent wxWidgets-3.0.0-rc2_Headers.7z file and one of
|
compiler-independent wxWidgets-3.0.0_Headers.7z file (found in the
|
||||||
wxMSW-3.0.0-rc2-vcXXX_Dev.7z or wxMSW-3.0.0-rc2_gccXXX_Dev.7z files
|
parent directory) and one of wxMSW-3.0.0-vcXXX_Dev.7z or
|
||||||
depending on your compiler and its version.
|
wxMSW-3.0.0_gccXXX_Dev.7z files depending on your compiler, its
|
||||||
|
version and the target architecture (x86 if not specified or x64).
|
||||||
|
|
||||||
Unpack both files into the same directory so that "include" and "lib"
|
Unpack both files into the same directory so that "include" and "lib"
|
||||||
directories are at the same level after unpacking. You should be able
|
directories are at the same level after unpacking. You should be able
|
||||||
@@ -29,15 +30,15 @@ symbols.
|
|||||||
For End Users
|
For End Users
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
End users may download one of wxMSW-3.0.0-rc2_vcXXX_ReleaseDLL.7z or
|
End users may download one of wxMSW-3.0.0_vcXXX_ReleaseDLL.7z or
|
||||||
wxMSW-3.0.0-rc2_gccXXX_ReleaseDLL.7z files to get just the DLLs
|
wxMSW-3.0.0_gccXXX_ReleaseDLL.7z files to get just the DLLs
|
||||||
required for running the applications using wxWidgets.
|
required for running the applications using wxWidgets.
|
||||||
|
|
||||||
|
|
||||||
For Debugging
|
For Debugging
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
* Microsoft Visual C++ users: Files wxMSW-3.0.0-rc2_vcXXX_ReleasePDB.7z
|
* Microsoft Visual C++ users: Files wxMSW-3.0.0_vcXXX_ReleasePDB.7z
|
||||||
contain the debug symbols for the release build of the DLLs. Download
|
contain the debug symbols for the release build of the DLLs. Download
|
||||||
them if you want to debug your own applications in release build or
|
them if you want to debug your own applications in release build or
|
||||||
if you want to get meaningful information from mini-dumps retrieved
|
if you want to get meaningful information from mini-dumps retrieved
|
||||||
@@ -62,32 +63,38 @@ Check Sums
|
|||||||
|
|
||||||
To verify your download you can use the following sha1sums:
|
To verify your download you can use the following sha1sums:
|
||||||
|
|
||||||
23c043ccfc76d7f55db972e165d90c102ac444e4 wxMSW-3.0.0-rc2_vc100_Dev.7z
|
1d9e785e2526efe2b4f184c177ce383179348da7 wxMSW-3.0.0_gcc471TDM_Dev.7z
|
||||||
a29b1701e601421d90d38234fecafa5ea089108e wxMSW-3.0.0-rc2_vc100_ReleaseDLL.7z
|
1abdb1eb3020625c1e1c803b562f77b631acd4cc wxMSW-3.0.0_gcc471TDM_ReleaseDLL.7z
|
||||||
e320f53d3524200cafe9b93422de49b3387f2c72 wxMSW-3.0.0-rc2_vc100_ReleasePDB.7z
|
3100fdac0a8be5533cbfde6964ad593b6a07cda0 wxMSW-3.0.0_gcc471TDM_x64_Dev.7z
|
||||||
b9c4a0780f1d0e1a4b05fa77fc169310562d0d66 wxMSW-3.0.0-rc2_vc100_x64_Dev.7z
|
c4b0064ec1d5907685659cbcc5347c8ea3ab0cc0 wxMSW-3.0.0_gcc471TDM_x64_ReleaseDLL.7z
|
||||||
bfe474fe29eed0ffb567556995f98051dcdfbb89 wxMSW-3.0.0-rc2_vc100_x64_ReleaseDLL.7z
|
bd8cf4814f07be3ddc5749598eb50738373b7430 wxMSW-3.0.0_gcc481TDM_Dev.7z
|
||||||
1a4aa9a983987cd2ab9e6398cb11dedfd66bea2d wxMSW-3.0.0-rc2_vc100_x64_ReleaseDLL.msi
|
912b85b4c8de1bdb794c9f6fd71504849d4e8b19 wxMSW-3.0.0_gcc481TDM_ReleaseDLL.7z
|
||||||
0d89da7e3e72b094a04ae37e49e30197e6e33bcb wxMSW-3.0.0-rc2_vc100_x64_ReleasePDB.7z
|
0c55cff4957a599f032430a25bd2049b2e771db9 wxMSW-3.0.0_gcc481TDM_x64_Dev.7z
|
||||||
e4d31dcca207616ab9d0b9702976a2b21ae126a1 wxMSW-3.0.0-rc2_vc100_x86_ReleaseDLL.msi
|
6a39af55d53e46957bddf97b451acddb591a85f6 wxMSW-3.0.0_gcc481TDM_x64_ReleaseDLL.7z
|
||||||
05aa6624ff1fab4a9ed2c639327648dcafda0efd wxMSW-3.0.0-rc2_vc110_Dev.7z
|
7f6e73ecb79373fe65adcc1aa1ecad8687944ba9 wxMSW-3.0.0_vc90_Dev.7z
|
||||||
ebbd9be982aa66abf3793e8700be98d14486fe0c wxMSW-3.0.0-rc2_vc110_ReleaseDLL.7z
|
910e0bf0113521d49682cbd71c14991547b47d9b wxMSW-3.0.0_vc90_ReleaseDLL.7z
|
||||||
79c0f8bb3d4197c83a14991b98bf65386be9951c wxMSW-3.0.0-rc2_vc110_ReleasePDB.7z
|
7ad4c98bd8366b59a0264507ecc69510cddd0b0f wxMSW-3.0.0_vc90_ReleasePDB.7z
|
||||||
a2a109293b88decc944e43966bbaab90a049d398 wxMSW-3.0.0-rc2_vc110_x64_Dev.7z
|
a9340e4ee9748e2d20646f0602ab0e8770f2e2c4 wxMSW-3.0.0_vc90_x64_Dev.7z
|
||||||
bceedf4c1c131a1b37d5421c48f0f9098009b3bc wxMSW-3.0.0-rc2_vc110_x64_ReleaseDLL.7z
|
3c4daa2c37f7d32e4d0e94436da5c075ab4c2d40 wxMSW-3.0.0_vc90_x64_ReleaseDLL.7z
|
||||||
bb034c5d0f573054afd2864460e22bf95767cca4 wxMSW-3.0.0-rc2_vc110_x64_ReleaseDLL.msi
|
7ce8db26a1f2f6262a876b67631f6015c07e2b4c wxMSW-3.0.0_vc90_x64_ReleasePDB.7z
|
||||||
12721bf2607a412f18c620c52db30fa56629c066 wxMSW-3.0.0-rc2_vc110_x64_ReleasePDB.7z
|
eb695388ed136115c90f2c1f67cfed73f58d7570 wxMSW-3.0.0_vc100_Dev.7z
|
||||||
d4da114c62ea4f246f907981447205bb90007e8b wxMSW-3.0.0-rc2_vc110_x86_ReleaseDLL.msi
|
e11800ed1ae1b15c6bb090f30aa81d95f9ccb21e wxMSW-3.0.0_vc100_ReleaseDLL.7z
|
||||||
6f09a33634736cf7caa7c0acddea34d1d119cfae wxMSW-3.0.0-rc2_vc90_Dev.7z
|
9825d9ab0b6be619555a7dfb3428ca63d97c1edf wxMSW-3.0.0_vc100_ReleasePDB.7z
|
||||||
640784f90996625fcc2a3b62c99b92936dfae2ce wxMSW-3.0.0-rc2_vc90_ReleaseDLL.7z
|
0e5fec3fb8052bcb10ac995a62a4245d66ea54bd wxMSW-3.0.0_vc100_x64_Dev.7z
|
||||||
2a36ad418c856caa040d4efc8807dbb75dd88330 wxMSW-3.0.0-rc2_vc90_ReleasePDB.7z
|
b9c3773ded5633bd751701491204666d8e919580 wxMSW-3.0.0_vc100_x64_ReleaseDLL.7z
|
||||||
f356b8edc7445271ce5a77c41f6b1370154d9799 wxMSW-3.0.0-rc2_vc90_x64_Dev.7z
|
ceb6eeaffff187e1e32fbd0b51d915c547a82673 wxMSW-3.0.0_vc100_x64_ReleasePDB.7z
|
||||||
282f02c23e7bcb331b1373a2b0b8a2f59f7d7a6e wxMSW-3.0.0-rc2_vc90_x64_ReleaseDLL.7z
|
3180663d7f31a0569679e77a43cb89a764ce7709 wxMSW-3.0.0_vc110_Dev.7z
|
||||||
69096f6ff598285e0a8117caba879b10c4b08528 wxMSW-3.0.0-rc2_vc90_x64_ReleaseDLL.msi
|
3507a63729251b1a820cac228bf316369d93b553 wxMSW-3.0.0_vc110_ReleaseDLL.7z
|
||||||
30c7442d37646b7c9d8a7be3d174b5b7c24cb093 wxMSW-3.0.0-rc2_vc90_x64_ReleasePDB.7z
|
72aead1781b8d472a40d40609c8f457e154331cb wxMSW-3.0.0_vc110_ReleasePDB.7z
|
||||||
d1fa1c531c1bdf1d7c8806038b51a5dab0fce158 wxMSW-3.0.0-rc2_vc90_x86_ReleaseDLL.msi
|
7913f34bd92bc4a50a6d54e952e79e6403cb8125 wxMSW-3.0.0_vc110_x64_Dev.7z
|
||||||
c084e9a5af9c082b9d201c0fee2919d7265578bb wxWidgets-3.0.0-rc2_Headers.7z
|
2ffc603abbef783280c6ddfff0efcc3aed2ff3df wxMSW-3.0.0_vc110_x64_ReleaseDLL.7z
|
||||||
|
c1e4bb79569ccfbf73ccaca7dfc286f6e4ec553d wxMSW-3.0.0_vc110_x64_ReleasePDB.7z
|
||||||
|
0a33015bfc00729063c2dfcacb06080e41b416b7 wxMSW-3.0.0_vc120_Dev.7z
|
||||||
|
672c58c5f46c82fd62a09c5d84d9b8b8020a2137 wxMSW-3.0.0_vc120_ReleaseDLL.7z
|
||||||
|
2c408e39c9a104bf1ad594f28be5d36e24ac0764 wxMSW-3.0.0_vc120_ReleasePDB.7z
|
||||||
|
4aef4cff95215daa46c1ba67e36a4135c1da3d13 wxMSW-3.0.0_vc120_x64_Dev.7z
|
||||||
|
d6086391b72dee6ba96f6cacbe18c4ca140231e8 wxMSW-3.0.0_vc120_x64_ReleaseDLL.7z
|
||||||
|
5ef9495d65db950e5177a7781ee8bdeb36e1f575 wxMSW-3.0.0_vc120_x64_ReleasePDB.7z
|
||||||
|
|
||||||
|
|
||||||
Credit
|
Credit
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
wxWidgets 3.0.0-rc2
|
wxWidgets 3.0.0
|
||||||
===================
|
===============
|
||||||
|
|
||||||
This directory contains the files for wxWidgets 3.0.0-rc2 release.
|
This directory contains the files for wxWidgets 3.0.0 release.
|
||||||
|
|
||||||
Please notice that since the 2.9 series only a single source distribution is
|
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
|
provided instead of the multiple distributions containing only the files for
|
||||||
@@ -24,10 +24,12 @@ Check Sums
|
|||||||
|
|
||||||
To verify your download you can use the following sha1sums:
|
To verify your download you can use the following sha1sums:
|
||||||
|
|
||||||
143b08577a4da2381d32db86cade9a6419353b9d wxWidgets-3.0.0-rc2.7z
|
01751f115a8a92a51122245ffef390c273f6e642 wxWidgets-3.0.0.7z
|
||||||
edbcb9a105567d2ab4838183dd232317fce8ccc7 wxWidgets-3.0.0-rc2.tar.bz2
|
b862990fc3dd97b4194c3955ff73b4f6aa47f823 wxWidgets-3.0.0.tar.bz2
|
||||||
20b91a32c9e618c7f6dc767d74cc879227c59fdc wxWidgets-3.0.0-rc2.zip
|
73afa20f3fe911f90fce344098c06e2269e69585 wxWidgets-3.0.0.zip
|
||||||
aa77457c4e13de229d7ff83efaff732f530c760d wxWidgets-3.0.0-rc2-docs-html.tar.bz2
|
6ec5137bf53bc55ae0d213ec1c00735e8684981f wxWidgets-3.0.0-docs-html.zip
|
||||||
6ec5137bf53bc55ae0d213ec1c00735e8684981f wxWidgets-3.0.0-rc2-docs-html.zip
|
aa77457c4e13de229d7ff83efaff732f530c760d wxWidgets-3.0.0-docs-html.tar.bz2
|
||||||
606a25aa73b9b34d3e5434d708a9026c22de1d25 wxWidgets-3.0.0-rc2_headers.7z
|
a482ad56606352a73e0f095af7014095c299791a wxWidgets-3.0.0-docs-chm.zip
|
||||||
|
c6f45af13a376364e4169f91a1ab2191a500ab44 wxWidgets-3.0.0_headers.7z
|
||||||
|
c1211acee0b3c24982607f1febb2d81ce0b5c2fd wxMSW-3.0.0-Setup.exe
|
||||||
|
|
||||||
|
@@ -4,6 +4,8 @@
|
|||||||
Before making the release
|
Before making the release
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
Change the version in include/wx/version.h.
|
||||||
|
|
||||||
Update docs/readme.txt. Please review its contents in addition to just
|
Update docs/readme.txt. Please review its contents in addition to just
|
||||||
changing the version number.
|
changing the version number.
|
||||||
|
|
||||||
|
@@ -268,9 +268,22 @@ public:
|
|||||||
|
|
||||||
wxCharTypeBuffer(size_t len)
|
wxCharTypeBuffer(size_t len)
|
||||||
{
|
{
|
||||||
this->m_data =
|
CharType* const str = (CharType *)malloc((len + 1)*sizeof(CharType));
|
||||||
new Data((CharType *)malloc((len + 1)*sizeof(CharType)), len);
|
if ( str )
|
||||||
this->m_data->Get()[len] = (CharType)0;
|
{
|
||||||
|
str[len] = (CharType)0;
|
||||||
|
|
||||||
|
// There is a potential memory leak here if new throws because it
|
||||||
|
// fails to allocate Data, we ought to use new(nothrow) here, but
|
||||||
|
// this might fail to compile under some platforms so until this
|
||||||
|
// can be fully tested, just live with this (rather unlikely, as
|
||||||
|
// Data is a small object) potential leak.
|
||||||
|
this->m_data = new Data(str, len);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this->m_data = this->GetNullData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
wxCharTypeBuffer(const wxCharTypeBuffer& src)
|
wxCharTypeBuffer(const wxCharTypeBuffer& src)
|
||||||
|
@@ -560,7 +560,7 @@ protected:
|
|||||||
// just recalculate.
|
// just recalculate.
|
||||||
void CalculateAreas( int btnWidth = 0 );
|
void CalculateAreas( int btnWidth = 0 );
|
||||||
|
|
||||||
// Standard textctrl positioning routine. Just give it platform-dependant
|
// Standard textctrl positioning routine. Just give it platform-dependent
|
||||||
// textctrl coordinate adjustment.
|
// textctrl coordinate adjustment.
|
||||||
virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
|
virtual void PositionTextCtrl( int textCtrlXAdjust = 0,
|
||||||
int textCtrlYAdjust = 0);
|
int textCtrlYAdjust = 0);
|
||||||
@@ -701,7 +701,7 @@ protected:
|
|||||||
// area used by the button
|
// area used by the button
|
||||||
wxSize m_btnSize;
|
wxSize m_btnSize;
|
||||||
|
|
||||||
// platform-dependant customization and other flags
|
// platform-dependent customization and other flags
|
||||||
wxUint32 m_iFlags;
|
wxUint32 m_iFlags;
|
||||||
|
|
||||||
// custom style for m_text
|
// custom style for m_text
|
||||||
|
@@ -16,6 +16,11 @@
|
|||||||
#include "wx/gtk/private/string.h"
|
#include "wx/gtk/private/string.h"
|
||||||
#include "wx/gtk/private/gtk2-compat.h"
|
#include "wx/gtk/private/gtk2-compat.h"
|
||||||
|
|
||||||
|
#ifndef G_VALUE_INIT
|
||||||
|
// introduced in GLib 2.30
|
||||||
|
#define G_VALUE_INIT { 0, { { 0 } } }
|
||||||
|
#endif
|
||||||
|
|
||||||
// pango_version_check symbol is quite recent ATM (4/2007)... so we
|
// pango_version_check symbol is quite recent ATM (4/2007)... so we
|
||||||
// use our own wrapper which implements a smart trick.
|
// use our own wrapper which implements a smart trick.
|
||||||
// Use this function as you'd use pango_version_check:
|
// Use this function as you'd use pango_version_check:
|
||||||
|
@@ -47,8 +47,6 @@ public:
|
|||||||
virtual bool Enable( bool enable = true );
|
virtual bool Enable( bool enable = true );
|
||||||
|
|
||||||
// implementation
|
// implementation
|
||||||
void OnSize( wxSizeEvent &event );
|
|
||||||
|
|
||||||
int m_pos;
|
int m_pos;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@@ -61,9 +59,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
typedef wxSpinButtonBase base_type;
|
typedef wxSpinButtonBase base_type;
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
|
||||||
DECLARE_DYNAMIC_CLASS(wxSpinButton)
|
DECLARE_DYNAMIC_CLASS(wxSpinButton)
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif // _WX_GTK_SPINBUTT_H_
|
||||||
// _WX_GTK_SPINBUTT_H_
|
|
||||||
|
@@ -133,6 +133,9 @@ protected:
|
|||||||
|
|
||||||
virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
|
virtual wxSize DoGetSizeFromTextSize(int xlen, int ylen = -1) const;
|
||||||
|
|
||||||
|
// Override this one to avoid eating events from our popup listbox.
|
||||||
|
virtual wxWindow *MSWFindItem(long id, WXHWND hWnd) const;
|
||||||
|
|
||||||
// this is the implementation of GetEditHWND() which can also be used when
|
// this is the implementation of GetEditHWND() which can also be used when
|
||||||
// we don't have the edit control, it simply returns NULL then
|
// we don't have the edit control, it simply returns NULL then
|
||||||
//
|
//
|
||||||
|
@@ -121,6 +121,9 @@ protected:
|
|||||||
// one
|
// one
|
||||||
virtual WXHBRUSH DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd);
|
virtual WXHBRUSH DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd);
|
||||||
|
|
||||||
|
// Look in our GetSubcontrols() for the windows with the given ID.
|
||||||
|
virtual wxWindow *MSWFindItem(long id, WXHWND hWnd) const;
|
||||||
|
|
||||||
// for controls like radiobuttons which are really composite this array
|
// for controls like radiobuttons which are really composite this array
|
||||||
// holds the ids (not HWNDs!) of the sub controls
|
// holds the ids (not HWNDs!) of the sub controls
|
||||||
wxArrayLong m_subControls;
|
wxArrayLong m_subControls;
|
||||||
|
@@ -37,7 +37,12 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#ifndef _CRTBLD
|
|
||||||
|
// Defining _CRTBLD should never be necessary at all, but keep it for now
|
||||||
|
// as there is no time to retest all the compilers before 3.0 release.
|
||||||
|
// Definitely do not use it with MSVS 2013 as defining it results in errors
|
||||||
|
// if the standard <assert.h> is included afterwards.
|
||||||
|
#if !defined(_CRTBLD) && !wxCHECK_VISUALC_VERSION(12)
|
||||||
// Needed when building with pure MS SDK
|
// Needed when building with pure MS SDK
|
||||||
#define _CRTBLD
|
#define _CRTBLD
|
||||||
#endif
|
#endif
|
||||||
|
@@ -116,13 +116,13 @@ public:
|
|||||||
void SetLCID(WXLCID lcid);
|
void SetLCID(WXLCID lcid);
|
||||||
|
|
||||||
// Returns the flags used for conversions between wxVariant and OLE
|
// Returns the flags used for conversions between wxVariant and OLE
|
||||||
// VARIANT, see wxConvertVariantToOleFlags. The default value is
|
// VARIANT, see wxOleConvertVariantFlags. The default value is
|
||||||
// wxOleConvertVariant_Default but all the objects obtained by GetObject()
|
// wxOleConvertVariant_Default but all the objects obtained by GetObject()
|
||||||
// inherit the flags from the one that created them.
|
// inherit the flags from the one that created them.
|
||||||
long GetConvertVariantFlags() const;
|
long GetConvertVariantFlags() const;
|
||||||
|
|
||||||
// Sets the flags used for conversions between wxVariant and OLE VARIANT,
|
// Sets the flags used for conversions between wxVariant and OLE VARIANT,
|
||||||
// see wxConvertVariantToOleFlags (default is wxOleConvertVariant_Default.
|
// see wxOleConvertVariantFlags (default is wxOleConvertVariant_Default.
|
||||||
void SetConvertVariantFlags(long flags);
|
void SetConvertVariantFlags(long flags);
|
||||||
|
|
||||||
public: // public for compatibility only, don't use m_dispatchPtr directly.
|
public: // public for compatibility only, don't use m_dispatchPtr directly.
|
||||||
|
@@ -206,7 +206,7 @@ public:
|
|||||||
// to understand why does it work, look at SubclassWin() code and comments
|
// to understand why does it work, look at SubclassWin() code and comments
|
||||||
bool IsOfStandardClass() const { return m_oldWndProc != NULL; }
|
bool IsOfStandardClass() const { return m_oldWndProc != NULL; }
|
||||||
|
|
||||||
wxWindow *FindItem(long id) const;
|
wxWindow *FindItem(long id, WXHWND hWnd = NULL) const;
|
||||||
wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const;
|
wxWindow *FindItemByHWND(WXHWND hWnd, bool controlOnly = false) const;
|
||||||
|
|
||||||
// MSW only: true if this control is part of the main control
|
// MSW only: true if this control is part of the main control
|
||||||
@@ -663,6 +663,15 @@ protected:
|
|||||||
|
|
||||||
bool MSWEnableHWND(WXHWND hWnd, bool enable);
|
bool MSWEnableHWND(WXHWND hWnd, bool enable);
|
||||||
|
|
||||||
|
// Return the pointer to this window or one of its sub-controls if this ID
|
||||||
|
// and HWND combination belongs to one of them.
|
||||||
|
//
|
||||||
|
// This is used by FindItem() and is overridden in wxControl, see there.
|
||||||
|
virtual wxWindow* MSWFindItem(long WXUNUSED(id), WXHWND WXUNUSED(hWnd)) const
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
@@ -143,6 +143,14 @@ public:
|
|||||||
virtual void MacNewFile() ;
|
virtual void MacNewFile() ;
|
||||||
// in response of a reopen-application apple event
|
// in response of a reopen-application apple event
|
||||||
virtual void MacReopenApp() ;
|
virtual void MacReopenApp() ;
|
||||||
|
|
||||||
|
// Notice that this is just a placeholder and doesn't work yet!
|
||||||
|
//
|
||||||
|
// Override this to return false from a non-bundled console app in order to
|
||||||
|
// stay in background instead of being made a foreground application as
|
||||||
|
// happens by default.
|
||||||
|
virtual bool OSXIsGUIApplication() { return true; }
|
||||||
|
|
||||||
#if wxOSX_USE_COCOA_OR_IPHONE
|
#if wxOSX_USE_COCOA_OR_IPHONE
|
||||||
// immediately before the native event loop launches
|
// immediately before the native event loop launches
|
||||||
virtual void OSXOnWillFinishLaunching();
|
virtual void OSXOnWillFinishLaunching();
|
||||||
|
@@ -74,10 +74,6 @@ public:
|
|||||||
virtual void MarkDirty();
|
virtual void MarkDirty();
|
||||||
virtual void DiscardEdits();
|
virtual void DiscardEdits();
|
||||||
|
|
||||||
// set the grayed out hint text
|
|
||||||
virtual bool SetHint(const wxString& hint);
|
|
||||||
virtual wxString GetHint() const;
|
|
||||||
|
|
||||||
// text control under some platforms supports the text styles: these
|
// text control under some platforms supports the text styles: these
|
||||||
// methods apply the given text style to the given selection or to
|
// methods apply the given text style to the given selection or to
|
||||||
// set/get the style which will be used for all appended text
|
// set/get the style which will be used for all appended text
|
||||||
@@ -151,7 +147,6 @@ protected:
|
|||||||
|
|
||||||
private :
|
private :
|
||||||
wxMenu *m_privateContextMenu;
|
wxMenu *m_privateContextMenu;
|
||||||
wxString m_hintString;
|
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
@@ -81,6 +81,10 @@ public:
|
|||||||
|
|
||||||
virtual bool SendMaxLenEvent();
|
virtual bool SendMaxLenEvent();
|
||||||
|
|
||||||
|
// set the grayed out hint text
|
||||||
|
virtual bool SetHint(const wxString& hint);
|
||||||
|
virtual wxString GetHint() const;
|
||||||
|
|
||||||
// Implementation
|
// Implementation
|
||||||
// --------------
|
// --------------
|
||||||
|
|
||||||
@@ -102,6 +106,8 @@ protected:
|
|||||||
// need to make this public because of the current implementation via callbacks
|
// need to make this public because of the current implementation via callbacks
|
||||||
unsigned long m_maxLength;
|
unsigned long m_maxLength;
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxString m_hintString;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // _WX_OSX_TEXTENTRY_H_
|
#endif // _WX_OSX_TEXTENTRY_H_
|
||||||
|
@@ -156,7 +156,7 @@ protected:
|
|||||||
wxDECLARE_NO_COPY_CLASS(wxTextMeasureBase);
|
wxDECLARE_NO_COPY_CLASS(wxTextMeasureBase);
|
||||||
};
|
};
|
||||||
|
|
||||||
// Include the platform dependant class declaration, if any.
|
// Include the platform dependent class declaration, if any.
|
||||||
#if defined(__WXGTK20__)
|
#if defined(__WXGTK20__)
|
||||||
#include "wx/gtk/private/textmeasure.h"
|
#include "wx/gtk/private/textmeasure.h"
|
||||||
#elif defined(__WXMSW__)
|
#elif defined(__WXMSW__)
|
||||||
|
@@ -80,7 +80,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// (re)init
|
// (re)init
|
||||||
void Init() { m_defaultState = false; }
|
void Init() { m_count = 0; m_defaultState = false; }
|
||||||
|
|
||||||
// the total number of items we handle
|
// the total number of items we handle
|
||||||
unsigned m_count;
|
unsigned m_count;
|
||||||
|
@@ -29,7 +29,7 @@
|
|||||||
#define wxMINOR_VERSION 0
|
#define wxMINOR_VERSION 0
|
||||||
#define wxRELEASE_NUMBER 0
|
#define wxRELEASE_NUMBER 0
|
||||||
#define wxSUBRELEASE_NUMBER 0
|
#define wxSUBRELEASE_NUMBER 0
|
||||||
#define wxVERSION_STRING wxT("wxWidgets 3.0.0-rc2")
|
#define wxVERSION_STRING wxT("wxWidgets 3.0.0")
|
||||||
|
|
||||||
/* nothing to update below this line when updating the version */
|
/* nothing to update below this line when updating the version */
|
||||||
/* ---------------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------------- */
|
||||||
|
@@ -1271,7 +1271,7 @@ public:
|
|||||||
@return @true on success, @false if an error occurred (for example,
|
@return @true on success, @false if an error occurred (for example,
|
||||||
the file doesn't exist).
|
the file doesn't exist).
|
||||||
*/
|
*/
|
||||||
bool SetPermissions(int permissions)
|
bool SetPermissions(int permissions);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Sets the file creation and last access/modification times (any of the pointers
|
Sets the file creation and last access/modification times (any of the pointers
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
@class wxGraphicsPath
|
@class wxGraphicsPath
|
||||||
|
|
||||||
A wxGraphicsPath is a native representation of a geometric path. The
|
A wxGraphicsPath is a native representation of a geometric path. The
|
||||||
contents are specific an private to the respective renderer. Instances are
|
contents are specific and private to the respective renderer. Instances are
|
||||||
reference counted and can therefore be assigned as usual. The only way to
|
reference counted and can therefore be assigned as usual. The only way to
|
||||||
get a valid instance is by using wxGraphicsContext::CreatePath() or
|
get a valid instance is by using wxGraphicsContext::CreatePath() or
|
||||||
wxGraphicsRenderer::CreatePath().
|
wxGraphicsRenderer::CreatePath().
|
||||||
|
@@ -1372,7 +1372,7 @@ public:
|
|||||||
/**
|
/**
|
||||||
The data.
|
The data.
|
||||||
*/
|
*/
|
||||||
long GetData() const;
|
wxUIntPtr GetData() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The image.
|
The image.
|
||||||
|
@@ -433,8 +433,8 @@ public:
|
|||||||
@note
|
@note
|
||||||
Please note that @e wxID_ABOUT and @e wxID_EXIT are predefined by wxWidgets
|
Please note that @e wxID_ABOUT and @e wxID_EXIT are predefined by wxWidgets
|
||||||
and have a special meaning since entries using these IDs will be taken out
|
and have a special meaning since entries using these IDs will be taken out
|
||||||
of the normal menus under MacOS X and will be inserted into the system menu
|
of the normal menus under OS X and will be inserted into the system menu
|
||||||
(following the appropriate MacOS X interface guideline).
|
(following the appropriate OS X interface guideline).
|
||||||
|
|
||||||
Menu items may be either @e normal items, @e check items or @e radio items.
|
Menu items may be either @e normal items, @e check items or @e radio items.
|
||||||
Normal items don't have any special properties while the check items have a
|
Normal items don't have any special properties while the check items have a
|
||||||
|
@@ -610,7 +610,7 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the flags used for conversions between wxVariant and OLE
|
Returns the flags used for conversions between wxVariant and OLE
|
||||||
VARIANT, see wxConvertVariantToOleFlags.
|
VARIANT, see wxOleConvertVariantFlags.
|
||||||
|
|
||||||
The default value is wxOleConvertVariant_Default for compatibility but
|
The default value is wxOleConvertVariant_Default for compatibility but
|
||||||
it can be changed using SetConvertVariantFlags().
|
it can be changed using SetConvertVariantFlags().
|
||||||
@@ -624,7 +624,7 @@ public:
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
Sets the flags used for conversions between wxVariant and OLE VARIANT,
|
Sets the flags used for conversions between wxVariant and OLE VARIANT,
|
||||||
see wxConvertVariantToOleFlags.
|
see wxOleConvertVariantFlags.
|
||||||
|
|
||||||
The default value is wxOleConvertVariant_Default.
|
The default value is wxOleConvertVariant_Default.
|
||||||
|
|
||||||
|
14
locale/eu.po
14
locale/eu.po
@@ -4,7 +4,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: wxWidgets 3.0\n"
|
"Project-Id-Version: wxWidgets 3.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
|
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
|
||||||
"PO-Revision-Date: 2013-08-23 19:26+0100\n"
|
"PO-Revision-Date: 2013-11-02 14:37+0100\n"
|
||||||
"Last-Translator: Xabier Aramendi (Azpidatziak) <azpidatziak@gmail.com>\n"
|
"Last-Translator: Xabier Aramendi (Azpidatziak) <azpidatziak@gmail.com>\n"
|
||||||
"Language-Team: (EUS_Xabier Aramendi) <azpidatziak@gmail.com>\n"
|
"Language-Team: (EUS_Xabier Aramendi) <azpidatziak@gmail.com>\n"
|
||||||
"Language: eu\n"
|
"Language: eu\n"
|
||||||
@@ -1146,14 +1146,12 @@ msgid "Add"
|
|||||||
msgstr "Gehitua"
|
msgstr "Gehitua"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10751
|
#: ../src/richtext/richtextbuffer.cpp:10751
|
||||||
#, fuzzy
|
|
||||||
msgid "Add Column"
|
msgid "Add Column"
|
||||||
msgstr "Gehitu zutabea"
|
msgstr "Gehitu Zutabea"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10688
|
#: ../src/richtext/richtextbuffer.cpp:10688
|
||||||
#, fuzzy
|
|
||||||
msgid "Add Row"
|
msgid "Add Row"
|
||||||
msgstr "Gehitu lerroa"
|
msgstr "Gehitu Lerroa"
|
||||||
|
|
||||||
#: ../src/html/helpwnd.cpp:439
|
#: ../src/html/helpwnd.cpp:439
|
||||||
msgid "Add current page to bookmarks"
|
msgid "Add current page to bookmarks"
|
||||||
@@ -2576,14 +2574,12 @@ msgid "Delete A&ll"
|
|||||||
msgstr "Ezabatu &Denak"
|
msgstr "Ezabatu &Denak"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10637
|
#: ../src/richtext/richtextbuffer.cpp:10637
|
||||||
#, fuzzy
|
|
||||||
msgid "Delete Column"
|
msgid "Delete Column"
|
||||||
msgstr "Ezabatu zutabea"
|
msgstr "Ezabatu Zutabea"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10587
|
#: ../src/richtext/richtextbuffer.cpp:10587
|
||||||
#, fuzzy
|
|
||||||
msgid "Delete Row"
|
msgid "Delete Row"
|
||||||
msgstr "Ezabatu lerroa"
|
msgstr "Ezabatu Lerroa"
|
||||||
|
|
||||||
#: ../src/richtext/richtextstyledlg.cpp:779
|
#: ../src/richtext/richtextstyledlg.cpp:779
|
||||||
msgid "Delete Style"
|
msgid "Delete Style"
|
||||||
|
14
locale/nl.po
14
locale/nl.po
@@ -3,7 +3,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: wxWidgets 3.0\n"
|
"Project-Id-Version: wxWidgets 3.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
|
"POT-Creation-Date: 2013-10-01 19:04+0200\n"
|
||||||
"PO-Revision-Date: 2013-07-31 14:30+0100\n"
|
"PO-Revision-Date: 2013-10-30 10:18+0100\n"
|
||||||
"Last-Translator: Dingoe <translations@gvmelle.com>\n"
|
"Last-Translator: Dingoe <translations@gvmelle.com>\n"
|
||||||
"Language-Team: wxWidgets translators <wx-translators@wxwidgets.org>\n"
|
"Language-Team: wxWidgets translators <wx-translators@wxwidgets.org>\n"
|
||||||
"Language: nl_NL\n"
|
"Language: nl_NL\n"
|
||||||
@@ -1145,14 +1145,12 @@ msgid "Add"
|
|||||||
msgstr "Toevoegen"
|
msgstr "Toevoegen"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10751
|
#: ../src/richtext/richtextbuffer.cpp:10751
|
||||||
#, fuzzy
|
|
||||||
msgid "Add Column"
|
msgid "Add Column"
|
||||||
msgstr "Voeg kolom toe"
|
msgstr "Kolom toevoegen"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10688
|
#: ../src/richtext/richtextbuffer.cpp:10688
|
||||||
#, fuzzy
|
|
||||||
msgid "Add Row"
|
msgid "Add Row"
|
||||||
msgstr "voeg rij toe"
|
msgstr "Rij toevoegen"
|
||||||
|
|
||||||
#: ../src/html/helpwnd.cpp:439
|
#: ../src/html/helpwnd.cpp:439
|
||||||
msgid "Add current page to bookmarks"
|
msgid "Add current page to bookmarks"
|
||||||
@@ -1667,7 +1665,7 @@ msgstr "Kan niet schrijven naar deflate stream: %s"
|
|||||||
#: ../src/msw/msgdlg.cpp:489 ../src/msw/progdlg.cpp:673
|
#: ../src/msw/msgdlg.cpp:489 ../src/msw/progdlg.cpp:673
|
||||||
#: ../src/gtk1/fontdlg.cpp:144 ../src/motif/msgdlg.cpp:196
|
#: ../src/gtk1/fontdlg.cpp:144 ../src/motif/msgdlg.cpp:196
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Annuleer"
|
msgstr "Annuleren"
|
||||||
|
|
||||||
#: ../src/os2/thread.cpp:116
|
#: ../src/os2/thread.cpp:116
|
||||||
msgid "Cannot create mutex."
|
msgid "Cannot create mutex."
|
||||||
@@ -2579,12 +2577,10 @@ msgid "Delete A&ll"
|
|||||||
msgstr "A&lles verwijderen"
|
msgstr "A&lles verwijderen"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10637
|
#: ../src/richtext/richtextbuffer.cpp:10637
|
||||||
#, fuzzy
|
|
||||||
msgid "Delete Column"
|
msgid "Delete Column"
|
||||||
msgstr "Kolom verwijderen"
|
msgstr "Kolom verwijderen"
|
||||||
|
|
||||||
#: ../src/richtext/richtextbuffer.cpp:10587
|
#: ../src/richtext/richtextbuffer.cpp:10587
|
||||||
#, fuzzy
|
|
||||||
msgid "Delete Row"
|
msgid "Delete Row"
|
||||||
msgstr "Rij verwijderen"
|
msgstr "Rij verwijderen"
|
||||||
|
|
||||||
@@ -6322,7 +6318,7 @@ msgid ""
|
|||||||
"[Cancel] if it cannot be replaced"
|
"[Cancel] if it cannot be replaced"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"De tekenset '%s' is onbekend. U kunt een andere\n"
|
"De tekenset '%s' is onbekend. U kunt een andere\n"
|
||||||
"tekenset kiezen om te vervangen of kies [Annuleer]\n"
|
"tekenset kiezen om te vervangen of kies [Annuleren]\n"
|
||||||
"als het niet vervangen kan worden"
|
"als het niet vervangen kan worden"
|
||||||
|
|
||||||
#: ../src/msw/ole/dataobj.cpp:367
|
#: ../src/msw/ole/dataobj.cpp:367
|
||||||
|
@@ -2058,7 +2058,7 @@ void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) )
|
|||||||
#endif
|
#endif
|
||||||
, s_windowFocus->GetName().c_str()
|
, s_windowFocus->GetName().c_str()
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
, (unsigned int) s_windowFocus->GetHWND()
|
, (unsigned)wxPtrToUInt(s_windowFocus->GetHWND())
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@@ -1305,9 +1305,9 @@ void MyListCtrl::OnRightClick(wxMouseEvent& event)
|
|||||||
|
|
||||||
void MyListCtrl::LogEvent(const wxListEvent& event, const wxChar *eventName)
|
void MyListCtrl::LogEvent(const wxListEvent& event, const wxChar *eventName)
|
||||||
{
|
{
|
||||||
wxLogMessage(wxT("Item %ld: %s (item text = %s, data = %ld)"),
|
wxLogMessage(wxT("Item %d: %s (item text = %s, data = %ld)"),
|
||||||
event.GetIndex(), eventName,
|
event.GetIndex(), eventName,
|
||||||
event.GetText().c_str(), event.GetData());
|
event.GetText(), static_cast<long>(event.GetData()));
|
||||||
}
|
}
|
||||||
|
|
||||||
wxString MyListCtrl::OnGetItemText(long item, long column) const
|
wxString MyListCtrl::OnGetItemText(long item, long column) const
|
||||||
|
@@ -171,42 +171,42 @@ SimpleTransientPopup::~SimpleTransientPopup()
|
|||||||
|
|
||||||
void SimpleTransientPopup::Popup(wxWindow* WXUNUSED(focus))
|
void SimpleTransientPopup::Popup(wxWindow* WXUNUSED(focus))
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::Popup"), long(this) );
|
wxLogMessage( "%p SimpleTransientPopup::Popup", this );
|
||||||
wxPopupTransientWindow::Popup();
|
wxPopupTransientWindow::Popup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleTransientPopup::OnDismiss()
|
void SimpleTransientPopup::OnDismiss()
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnDismiss"), long(this) );
|
wxLogMessage( "%p SimpleTransientPopup::OnDismiss", this );
|
||||||
wxPopupTransientWindow::OnDismiss();
|
wxPopupTransientWindow::OnDismiss();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SimpleTransientPopup::ProcessLeftDown(wxMouseEvent& event)
|
bool SimpleTransientPopup::ProcessLeftDown(wxMouseEvent& event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::ProcessLeftDown pos(%d, %d)"), long(this), event.GetX(), event.GetY());
|
wxLogMessage( "%p SimpleTransientPopup::ProcessLeftDown pos(%d, %d)", this, event.GetX(), event.GetY());
|
||||||
return wxPopupTransientWindow::ProcessLeftDown(event);
|
return wxPopupTransientWindow::ProcessLeftDown(event);
|
||||||
}
|
}
|
||||||
bool SimpleTransientPopup::Show( bool show )
|
bool SimpleTransientPopup::Show( bool show )
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::Show %d"), long(this), int(show));
|
wxLogMessage( "%p SimpleTransientPopup::Show %d", this, int(show));
|
||||||
return wxPopupTransientWindow::Show(show);
|
return wxPopupTransientWindow::Show(show);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleTransientPopup::OnSize(wxSizeEvent &event)
|
void SimpleTransientPopup::OnSize(wxSizeEvent &event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSize"), long(this) );
|
wxLogMessage( "%p SimpleTransientPopup::OnSize", this );
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleTransientPopup::OnSetFocus(wxFocusEvent &event)
|
void SimpleTransientPopup::OnSetFocus(wxFocusEvent &event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSetFocus"), long(this) );
|
wxLogMessage( "%p SimpleTransientPopup::OnSetFocus", this );
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleTransientPopup::OnKillFocus(wxFocusEvent &event)
|
void SimpleTransientPopup::OnKillFocus(wxFocusEvent &event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnKillFocus"), long(this) );
|
wxLogMessage( "%p SimpleTransientPopup::OnKillFocus", this );
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -220,8 +220,8 @@ void SimpleTransientPopup::OnMouse(wxMouseEvent &event)
|
|||||||
if (rect.Contains(event.GetPosition()))
|
if (rect.Contains(event.GetPosition()))
|
||||||
{
|
{
|
||||||
colour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
colour = wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHT);
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnMouse pos(%d, %d)"),
|
wxLogMessage( "%p SimpleTransientPopup::OnMouse pos(%d, %d)",
|
||||||
long(event.GetEventObject()), event.GetX(), event.GetY());
|
event.GetEventObject(), event.GetX(), event.GetY());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (colour != m_mouseText->GetBackgroundColour())
|
if (colour != m_mouseText->GetBackgroundColour())
|
||||||
@@ -234,7 +234,7 @@ void SimpleTransientPopup::OnMouse(wxMouseEvent &event)
|
|||||||
|
|
||||||
void SimpleTransientPopup::OnButton(wxCommandEvent& event)
|
void SimpleTransientPopup::OnButton(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnButton ID %d"), long(this), event.GetId());
|
wxLogMessage( "%p SimpleTransientPopup::OnButton ID %d", this, event.GetId());
|
||||||
|
|
||||||
wxButton *button = wxDynamicCast(event.GetEventObject(), wxButton);
|
wxButton *button = wxDynamicCast(event.GetEventObject(), wxButton);
|
||||||
if (button->GetLabel() == wxT("Press Me"))
|
if (button->GetLabel() == wxT("Press Me"))
|
||||||
@@ -247,8 +247,8 @@ void SimpleTransientPopup::OnButton(wxCommandEvent& event)
|
|||||||
|
|
||||||
void SimpleTransientPopup::OnSpinCtrl(wxSpinEvent& event)
|
void SimpleTransientPopup::OnSpinCtrl(wxSpinEvent& event)
|
||||||
{
|
{
|
||||||
wxLogMessage( wxT("0x%lx SimpleTransientPopup::OnSpinCtrl ID %d Value %d"),
|
wxLogMessage( "%p SimpleTransientPopup::OnSpinCtrl ID %d Value %d",
|
||||||
long(this), event.GetId(), event.GetInt());
|
this, event.GetId(), event.GetInt());
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ void MyFrame::OnStartSimplePopup(wxCommandEvent& event)
|
|||||||
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
||||||
wxSize sz = btn->GetSize();
|
wxSize sz = btn->GetSize();
|
||||||
m_simplePopup->Position( pos, sz );
|
m_simplePopup->Position( pos, sz );
|
||||||
wxLogMessage( wxT("0x%lx Simple Popup Shown pos(%d, %d) size(%d, %d)"), long(m_simplePopup), pos.x, pos.y, sz.x, sz.y );
|
wxLogMessage( "%p Simple Popup Shown pos(%d, %d) size(%d, %d)", m_simplePopup, pos.x, pos.y, sz.x, sz.y );
|
||||||
m_simplePopup->Popup();
|
m_simplePopup->Popup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -425,7 +425,7 @@ void MyFrame::OnStartScrolledPopup(wxCommandEvent& event)
|
|||||||
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
||||||
wxSize sz = btn->GetSize();
|
wxSize sz = btn->GetSize();
|
||||||
m_scrolledPopup->Position( pos, sz );
|
m_scrolledPopup->Position( pos, sz );
|
||||||
wxLogMessage( wxT("0x%lx Scrolled Popup Shown pos(%d, %d) size(%d, %d)"), long(m_scrolledPopup), pos.x, pos.y, sz.x, sz.y );
|
wxLogMessage( "%p Scrolled Popup Shown pos(%d, %d) size(%d, %d)", m_scrolledPopup, pos.x, pos.y, sz.x, sz.y );
|
||||||
m_scrolledPopup->Popup();
|
m_scrolledPopup->Popup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -488,7 +488,7 @@ void MyDialog::OnStartSimplePopup(wxCommandEvent& event)
|
|||||||
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
||||||
wxSize sz = btn->GetSize();
|
wxSize sz = btn->GetSize();
|
||||||
m_simplePopup->Position( pos, sz );
|
m_simplePopup->Position( pos, sz );
|
||||||
wxLogMessage( wxT("0x%lx Dialog Simple Popup Shown pos(%d, %d) size(%d, %d)"), long(m_simplePopup), pos.x, pos.y, sz.x, sz.y );
|
wxLogMessage( "%p Dialog Simple Popup Shown pos(%d, %d) size(%d, %d)", m_simplePopup, pos.x, pos.y, sz.x, sz.y );
|
||||||
m_simplePopup->Popup();
|
m_simplePopup->Popup();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -501,6 +501,6 @@ void MyDialog::OnStartScrolledPopup(wxCommandEvent& event)
|
|||||||
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
wxPoint pos = btn->ClientToScreen( wxPoint(0,0) );
|
||||||
wxSize sz = btn->GetSize();
|
wxSize sz = btn->GetSize();
|
||||||
m_scrolledPopup->Position( pos, sz );
|
m_scrolledPopup->Position( pos, sz );
|
||||||
wxLogMessage( wxT("0x%lx Dialog Scrolled Popup Shown pos(%d, %d) size(%d, %d)"), long(m_scrolledPopup), pos.x, pos.y, sz.x, sz.y );
|
wxLogMessage( "%p Dialog Scrolled Popup Shown pos(%d, %d) size(%d, %d)", m_scrolledPopup, pos.x, pos.y, sz.x, sz.y );
|
||||||
m_scrolledPopup->Popup();
|
m_scrolledPopup->Popup();
|
||||||
}
|
}
|
||||||
|
@@ -1801,7 +1801,7 @@ void wxDataViewListStore::SetItemData( const wxDataViewItem& item, wxUIntPtr dat
|
|||||||
wxUIntPtr wxDataViewListStore::GetItemData( const wxDataViewItem& item ) const
|
wxUIntPtr wxDataViewListStore::GetItemData( const wxDataViewItem& item ) const
|
||||||
{
|
{
|
||||||
wxDataViewListStoreLine* line = m_data[GetRow(item)];
|
wxDataViewListStoreLine* line = m_data[GetRow(item)];
|
||||||
if (!line) return static_cast<wxUIntPtr>(NULL);
|
if (!line) return 0;
|
||||||
|
|
||||||
return line->GetData();
|
return line->GetData();
|
||||||
}
|
}
|
||||||
|
@@ -517,7 +517,13 @@ IMPLEMENT_DYNAMIC_CLASS(wxWindowModalDialogEvent, wxCommandEvent)
|
|||||||
|
|
||||||
void wxDialogBase::ShowWindowModal ()
|
void wxDialogBase::ShowWindowModal ()
|
||||||
{
|
{
|
||||||
ShowModal();
|
int retval = ShowModal();
|
||||||
|
// wxWindowModalDialogEvent relies on GetReturnCode() returning correct
|
||||||
|
// code. Rather than doing it manually in all ShowModal() overrides for
|
||||||
|
// native dialogs (and getting accidentally broken again), set it here.
|
||||||
|
// The worst that can happen is that it will be set twice to the same
|
||||||
|
// value.
|
||||||
|
SetReturnCode(retval);
|
||||||
SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED );
|
SendWindowModalDialogEvent ( wxEVT_WINDOW_MODAL_DIALOG_CLOSED );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -315,14 +315,20 @@ static bool IsUNCPath(const wxString& path, wxPathFormat format)
|
|||||||
!IsDOSPathSep(path[2u]);
|
!IsDOSPathSep(path[2u]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __WIN32__
|
// Under Unix-ish systems (basically everything except Windows but we can't
|
||||||
|
// just test for non-__WIN32__ because Cygwin defines it, yet we want to use
|
||||||
|
// lstat() under it, so test for all the rest explicitly) we may work either
|
||||||
|
// with the file itself or its target if it's a symbolic link and we should
|
||||||
|
// dereference it, as determined by wxFileName::ShouldFollowLink() and the
|
||||||
|
// absence of the wxFILE_EXISTS_NO_FOLLOW flag. StatAny() can be used to stat
|
||||||
|
// the appropriate file with an extra twist that it also works when there is no
|
||||||
|
// wxFileName object at all, as is the case in static methods.
|
||||||
|
|
||||||
// Under Unix-ish systems (basically everything except Windows) we may work
|
#if defined(__UNIX_LIKE__) || defined(__WXMAC__) || defined(__OS2__) || (defined(__DOS__) && defined(__WATCOMC__))
|
||||||
// either with the file itself or its target if it's a symbolic link and we
|
#define wxHAVE_LSTAT
|
||||||
// should dereference it, as determined by wxFileName::ShouldFollowLink() and
|
#endif
|
||||||
// the absence of the wxFILE_EXISTS_NO_FOLLOW flag. StatAny() can be used to
|
|
||||||
// stat the appropriate file with an extra twist that it also works when there
|
#ifdef wxHAVE_LSTAT
|
||||||
// is no wxFileName object at all, as is the case in static methods.
|
|
||||||
|
|
||||||
// Private implementation, don't call directly, use one of the overloads below.
|
// Private implementation, don't call directly, use one of the overloads below.
|
||||||
bool DoStatAny(wxStructStat& st, wxString path, bool dereference)
|
bool DoStatAny(wxStructStat& st, wxString path, bool dereference)
|
||||||
@@ -363,7 +369,7 @@ bool StatAny(wxStructStat& st, const wxFileName& fn)
|
|||||||
return DoStatAny(st, fn.GetFullPath(), fn.ShouldFollowLink());
|
return DoStatAny(st, fn.GetFullPath(), fn.ShouldFollowLink());
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // !__WIN32__
|
#endif // wxHAVE_LSTAT
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// private constants
|
// private constants
|
||||||
@@ -1851,7 +1857,7 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const
|
|||||||
if ( fn1.GetFullPath() == fn2.GetFullPath() )
|
if ( fn1.GetFullPath() == fn2.GetFullPath() )
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
#if defined(__UNIX__)
|
#ifdef wxHAVE_LSTAT
|
||||||
wxStructStat st1, st2;
|
wxStructStat st1, st2;
|
||||||
if ( StatAny(st1, fn1) && StatAny(st2, fn2) )
|
if ( StatAny(st1, fn1) && StatAny(st2, fn2) )
|
||||||
{
|
{
|
||||||
@@ -1859,7 +1865,7 @@ bool wxFileName::SameAs(const wxFileName& filepath, wxPathFormat format) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
//else: It's not an error if one or both files don't exist.
|
//else: It's not an error if one or both files don't exist.
|
||||||
#endif // defined __UNIX__
|
#endif // wxHAVE_LSTAT
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2752,7 +2758,7 @@ bool wxFileName::GetTimes(wxDateTime *dtAccess,
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
#elif defined(__UNIX_LIKE__) || defined(__WXMAC__) || defined(__OS2__) || (defined(__DOS__) && defined(__WATCOMC__))
|
#elif defined(wxHAVE_LSTAT)
|
||||||
// no need to test for IsDir() here
|
// no need to test for IsDir() here
|
||||||
wxStructStat stBuf;
|
wxStructStat stBuf;
|
||||||
if ( StatAny(stBuf, *this) )
|
if ( StatAny(stBuf, *this) )
|
||||||
|
@@ -333,7 +333,7 @@ void wxColourDatabase::Initialize()
|
|||||||
{wxT("LIGHT GREY"), 192, 192, 192},
|
{wxT("LIGHT GREY"), 192, 192, 192},
|
||||||
{wxT("LIGHT STEEL BLUE"), 143, 143, 188},
|
{wxT("LIGHT STEEL BLUE"), 143, 143, 188},
|
||||||
{wxT("LIME GREEN"), 50, 204, 50},
|
{wxT("LIME GREEN"), 50, 204, 50},
|
||||||
{wxT("LIGHT MAGENTA"), 255, 0, 255},
|
{wxT("LIGHT MAGENTA"), 255, 119, 255},
|
||||||
{wxT("MAGENTA"), 255, 0, 255},
|
{wxT("MAGENTA"), 255, 0, 255},
|
||||||
{wxT("MAROON"), 142, 35, 107},
|
{wxT("MAROON"), 142, 35, 107},
|
||||||
{wxT("MEDIUM AQUAMARINE"), 50, 204, 153},
|
{wxT("MEDIUM AQUAMARINE"), 50, 204, 153},
|
||||||
|
@@ -76,9 +76,10 @@ wxXLocale& wxXLocale::GetCLocale()
|
|||||||
{
|
{
|
||||||
if ( !gs_cLocale )
|
if ( !gs_cLocale )
|
||||||
{
|
{
|
||||||
// NOTE: bcc551 has trouble doing static_cast with incomplete
|
// Notice that we need a separate variable because clang 3.1 refuses to
|
||||||
// type definition. reinterpret_cast used as workaround
|
// cast nullptr (which is how NULL is defined in it) to anything.
|
||||||
gs_cLocale = new wxXLocale( reinterpret_cast<wxXLocaleCTag *>(NULL) );
|
static wxXLocaleCTag* const tag = NULL;
|
||||||
|
gs_cLocale = new wxXLocale(tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
return *gs_cLocale;
|
return *gs_cLocale;
|
||||||
|
@@ -4454,7 +4454,7 @@ void wxDataViewMainWindow::OnColumnsCountChanged()
|
|||||||
editableCount++;
|
editableCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_useCellFocus = (editableCount > 1);
|
m_useCellFocus = (editableCount > 0);
|
||||||
|
|
||||||
UpdateDisplay();
|
UpdateDisplay();
|
||||||
}
|
}
|
||||||
|
@@ -3496,6 +3496,12 @@ size_t wxListMainWindow::GetItemCount() const
|
|||||||
|
|
||||||
void wxListMainWindow::SetItemCount(long count)
|
void wxListMainWindow::SetItemCount(long count)
|
||||||
{
|
{
|
||||||
|
// Update the current item if it's not valid any longer (notice that this
|
||||||
|
// invalidates it completely if the control is becoming empty, which is the
|
||||||
|
// right thing to do).
|
||||||
|
if ( HasCurrent() && m_current >= (size_t)count )
|
||||||
|
ChangeCurrent(count - 1);
|
||||||
|
|
||||||
m_selStore.SetItemCount(count);
|
m_selStore.SetItemCount(count);
|
||||||
m_countVirt = count;
|
m_countVirt = count;
|
||||||
|
|
||||||
|
@@ -202,7 +202,7 @@ void wxBitmapComboBox::SetItemBitmap(unsigned int n, const wxBitmap& bitmap)
|
|||||||
|
|
||||||
if ( gtk_tree_model_iter_nth_child( model, &iter, NULL, n ) )
|
if ( gtk_tree_model_iter_nth_child( model, &iter, NULL, n ) )
|
||||||
{
|
{
|
||||||
GValue value0 = { 0, };
|
GValue value0 = G_VALUE_INIT;
|
||||||
g_value_init( &value0, G_TYPE_OBJECT );
|
g_value_init( &value0, G_TYPE_OBJECT );
|
||||||
g_value_set_object( &value0, bitmap.GetPixbuf() );
|
g_value_set_object( &value0, bitmap.GetPixbuf() );
|
||||||
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter,
|
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter,
|
||||||
@@ -222,7 +222,7 @@ wxBitmap wxBitmapComboBox::GetItemBitmap(unsigned int n) const
|
|||||||
|
|
||||||
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
||||||
{
|
{
|
||||||
GValue value = { 0, };
|
GValue value = G_VALUE_INIT;
|
||||||
gtk_tree_model_get_value( model, &iter,
|
gtk_tree_model_get_value( model, &iter,
|
||||||
m_bitmapCellIndex, &value );
|
m_bitmapCellIndex, &value );
|
||||||
GdkPixbuf* pixbuf = (GdkPixbuf*) g_value_get_object( &value );
|
GdkPixbuf* pixbuf = (GdkPixbuf*) g_value_get_object( &value );
|
||||||
@@ -300,7 +300,7 @@ void wxBitmapComboBox::GTKInsertComboBoxTextItem( unsigned int n, const wxString
|
|||||||
|
|
||||||
gtk_list_store_insert( store, &iter, n );
|
gtk_list_store_insert( store, &iter, n );
|
||||||
|
|
||||||
GValue value = { 0, };
|
GValue value = G_VALUE_INIT;
|
||||||
g_value_init( &value, G_TYPE_STRING );
|
g_value_init( &value, G_TYPE_STRING );
|
||||||
g_value_set_string( &value, wxGTK_CONV( text ) );
|
g_value_set_string( &value, wxGTK_CONV( text ) );
|
||||||
gtk_list_store_set_value( store, &iter, m_stringCellIndex, &value );
|
gtk_list_store_set_value( store, &iter, m_stringCellIndex, &value );
|
||||||
|
@@ -15,6 +15,7 @@
|
|||||||
#include "wx/checklst.h"
|
#include "wx/checklst.h"
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
#include "wx/gtk/private.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// "toggled"
|
// "toggled"
|
||||||
@@ -111,7 +112,7 @@ bool wxCheckListBox::IsChecked(unsigned int index) const
|
|||||||
if(!res)
|
if(!res)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
GValue value = {0, };
|
GValue value = G_VALUE_INIT;
|
||||||
gtk_tree_model_get_value(GTK_TREE_MODEL(m_liststore),
|
gtk_tree_model_get_value(GTK_TREE_MODEL(m_liststore),
|
||||||
&iter,
|
&iter,
|
||||||
0, //column
|
0, //column
|
||||||
|
@@ -208,7 +208,7 @@ int wxChoice::FindString( const wxString &item, bool bCase ) const
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
GValue value = { 0, };
|
GValue value = G_VALUE_INIT;
|
||||||
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
|
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
|
||||||
wxString str = wxGTK_CONV_BACK( g_value_get_string( &value ) );
|
wxString str = wxGTK_CONV_BACK( g_value_get_string( &value ) );
|
||||||
g_value_unset( &value );
|
g_value_unset( &value );
|
||||||
@@ -239,7 +239,7 @@ void wxChoice::SetString(unsigned int n, const wxString &text)
|
|||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
||||||
{
|
{
|
||||||
GValue value = { 0, };
|
GValue value = G_VALUE_INIT;
|
||||||
g_value_init( &value, G_TYPE_STRING );
|
g_value_init( &value, G_TYPE_STRING );
|
||||||
g_value_set_string( &value, wxGTK_CONV( text ) );
|
g_value_set_string( &value, wxGTK_CONV( text ) );
|
||||||
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter, m_stringCellIndex, &value );
|
gtk_list_store_set_value( GTK_LIST_STORE(model), &iter, m_stringCellIndex, &value );
|
||||||
@@ -260,7 +260,7 @@ wxString wxChoice::GetString(unsigned int n) const
|
|||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
if (gtk_tree_model_iter_nth_child (model, &iter, NULL, n))
|
||||||
{
|
{
|
||||||
GValue value = { 0, };
|
GValue value = G_VALUE_INIT;
|
||||||
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
|
gtk_tree_model_get_value( model, &iter, m_stringCellIndex, &value );
|
||||||
wxString tmp = wxGTK_CONV_BACK( g_value_get_string( &value ) );
|
wxString tmp = wxGTK_CONV_BACK( g_value_get_string( &value ) );
|
||||||
g_value_unset( &value );
|
g_value_unset( &value );
|
||||||
@@ -305,10 +305,7 @@ void wxChoice::SetColumns(int n)
|
|||||||
|
|
||||||
int wxChoice::GetColumns() const
|
int wxChoice::GetColumns() const
|
||||||
{
|
{
|
||||||
// gtk_combo_box_get_wrap_width() was added in gtk 2.6
|
return gtk_combo_box_get_wrap_width(GTK_COMBO_BOX(m_widget));
|
||||||
gint intval;
|
|
||||||
g_object_get(G_OBJECT(m_widget), "wrap-width", &intval, NULL);
|
|
||||||
return intval;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxChoice::GTKDisableEvents()
|
void wxChoice::GTKDisableEvents()
|
||||||
|
@@ -608,6 +608,7 @@ gtk_wx_tree_model_get_type (void)
|
|||||||
sizeof (GtkWxTreeModel),
|
sizeof (GtkWxTreeModel),
|
||||||
0,
|
0,
|
||||||
wxgtk_tree_model_init,
|
wxgtk_tree_model_init,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static const GInterfaceInfo tree_model_iface_info =
|
static const GInterfaceInfo tree_model_iface_info =
|
||||||
@@ -1114,6 +1115,7 @@ gtk_wx_cell_renderer_text_get_type (void)
|
|||||||
sizeof (GtkWxCellRendererText),
|
sizeof (GtkWxCellRendererText),
|
||||||
0, /* n_preallocs */
|
0, /* n_preallocs */
|
||||||
gtk_wx_cell_renderer_text_init,
|
gtk_wx_cell_renderer_text_init,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER_TEXT,
|
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER_TEXT,
|
||||||
@@ -1264,6 +1266,7 @@ gtk_wx_cell_renderer_get_type (void)
|
|||||||
sizeof (GtkWxCellRenderer),
|
sizeof (GtkWxCellRenderer),
|
||||||
0, /* n_preallocs */
|
0, /* n_preallocs */
|
||||||
gtk_wx_cell_renderer_init,
|
gtk_wx_cell_renderer_init,
|
||||||
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER,
|
cell_wx_type = g_type_register_static( GTK_TYPE_CELL_RENDERER,
|
||||||
@@ -1875,7 +1878,7 @@ void wxDataViewRenderer::SetMode( wxDataViewCellMode mode )
|
|||||||
m_mode = mode;
|
m_mode = mode;
|
||||||
|
|
||||||
// This value is most often ignored in GtkTreeView
|
// This value is most often ignored in GtkTreeView
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
||||||
g_value_set_enum( &gvalue, gtkMode );
|
g_value_set_enum( &gvalue, gtkMode );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "mode", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "mode", &gvalue );
|
||||||
@@ -1936,7 +1939,7 @@ void wxDataViewRenderer::GtkApplyAlignment(GtkCellRenderer *renderer)
|
|||||||
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
||||||
xalign = 0.5;
|
xalign = 0.5;
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_FLOAT );
|
g_value_init( &gvalue, G_TYPE_FLOAT );
|
||||||
g_value_set_float( &gvalue, xalign );
|
g_value_set_float( &gvalue, xalign );
|
||||||
g_object_set_property( G_OBJECT(renderer), "xalign", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "xalign", &gvalue );
|
||||||
@@ -1950,7 +1953,7 @@ void wxDataViewRenderer::GtkApplyAlignment(GtkCellRenderer *renderer)
|
|||||||
else if (align & wxALIGN_CENTER_VERTICAL)
|
else if (align & wxALIGN_CENTER_VERTICAL)
|
||||||
yalign = 0.5;
|
yalign = 0.5;
|
||||||
|
|
||||||
GValue gvalue2 = { 0, };
|
GValue gvalue2 = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue2, G_TYPE_FLOAT );
|
g_value_init( &gvalue2, G_TYPE_FLOAT );
|
||||||
g_value_set_float( &gvalue2, yalign );
|
g_value_set_float( &gvalue2, yalign );
|
||||||
g_object_set_property( G_OBJECT(renderer), "yalign", &gvalue2 );
|
g_object_set_property( G_OBJECT(renderer), "yalign", &gvalue2 );
|
||||||
@@ -1976,7 +1979,7 @@ void wxDataViewRenderer::EnableEllipsize(wxEllipsizeMode mode)
|
|||||||
|
|
||||||
// we use the same values in wxEllipsizeMode as PangoEllipsizeMode so we
|
// we use the same values in wxEllipsizeMode as PangoEllipsizeMode so we
|
||||||
// can just cast between them
|
// can just cast between them
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
|
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
|
||||||
g_value_set_enum( &gvalue, static_cast<PangoEllipsizeMode>(mode) );
|
g_value_set_enum( &gvalue, static_cast<PangoEllipsizeMode>(mode) );
|
||||||
g_object_set_property( G_OBJECT(rend), "ellipsize", &gvalue );
|
g_object_set_property( G_OBJECT(rend), "ellipsize", &gvalue );
|
||||||
@@ -1989,7 +1992,7 @@ wxEllipsizeMode wxDataViewRenderer::GetEllipsizeMode() const
|
|||||||
if ( !rend )
|
if ( !rend )
|
||||||
return wxELLIPSIZE_NONE;
|
return wxELLIPSIZE_NONE;
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
|
g_value_init( &gvalue, PANGO_TYPE_ELLIPSIZE_MODE );
|
||||||
g_object_get_property( G_OBJECT(rend), "ellipsize", &gvalue );
|
g_object_get_property( G_OBJECT(rend), "ellipsize", &gvalue );
|
||||||
wxEllipsizeMode
|
wxEllipsizeMode
|
||||||
@@ -2052,7 +2055,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
{
|
{
|
||||||
const GdkColor * const gcol = attr.GetColour().GetColor();
|
const GdkColor * const gcol = attr.GetColour().GetColor();
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, GDK_TYPE_COLOR );
|
g_value_init( &gvalue, GDK_TYPE_COLOR );
|
||||||
g_value_set_boxed( &gvalue, gcol );
|
g_value_set_boxed( &gvalue, gcol );
|
||||||
g_object_set_property( G_OBJECT(renderer), "foreground_gdk", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "foreground_gdk", &gvalue );
|
||||||
@@ -2062,7 +2065,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, FALSE );
|
g_value_set_boolean( &gvalue, FALSE );
|
||||||
g_object_set_property( G_OBJECT(renderer), "foreground-set", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "foreground-set", &gvalue );
|
||||||
@@ -2071,7 +2074,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
|
|
||||||
if (attr.GetItalic())
|
if (attr.GetItalic())
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, PANGO_TYPE_STYLE );
|
g_value_init( &gvalue, PANGO_TYPE_STYLE );
|
||||||
g_value_set_enum( &gvalue, PANGO_STYLE_ITALIC );
|
g_value_set_enum( &gvalue, PANGO_STYLE_ITALIC );
|
||||||
g_object_set_property( G_OBJECT(renderer), "style", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "style", &gvalue );
|
||||||
@@ -2081,7 +2084,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, FALSE );
|
g_value_set_boolean( &gvalue, FALSE );
|
||||||
g_object_set_property( G_OBJECT(renderer), "style-set", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "style-set", &gvalue );
|
||||||
@@ -2091,7 +2094,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
|
|
||||||
if (attr.GetBold())
|
if (attr.GetBold())
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, PANGO_TYPE_WEIGHT );
|
g_value_init( &gvalue, PANGO_TYPE_WEIGHT );
|
||||||
g_value_set_enum( &gvalue, PANGO_WEIGHT_BOLD );
|
g_value_set_enum( &gvalue, PANGO_WEIGHT_BOLD );
|
||||||
g_object_set_property( G_OBJECT(renderer), "weight", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "weight", &gvalue );
|
||||||
@@ -2101,7 +2104,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, FALSE );
|
g_value_set_boolean( &gvalue, FALSE );
|
||||||
g_object_set_property( G_OBJECT(renderer), "weight-set", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "weight-set", &gvalue );
|
||||||
@@ -2114,7 +2117,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
wxColour colour = attr.GetBackgroundColour();
|
wxColour colour = attr.GetBackgroundColour();
|
||||||
const GdkColor * const gcol = colour.GetColor();
|
const GdkColor * const gcol = colour.GetColor();
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, GDK_TYPE_COLOR );
|
g_value_init( &gvalue, GDK_TYPE_COLOR );
|
||||||
g_value_set_boxed( &gvalue, gcol );
|
g_value_set_boxed( &gvalue, gcol );
|
||||||
g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue );
|
||||||
@@ -2122,7 +2125,7 @@ bool GtkApplyAttr(GtkCellRendererText *renderer, const wxDataViewItemAttr& attr)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, FALSE );
|
g_value_set_boolean( &gvalue, FALSE );
|
||||||
g_object_set_property( G_OBJECT(renderer), "cell-background-set", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "cell-background-set", &gvalue );
|
||||||
@@ -2147,7 +2150,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
|
|||||||
|
|
||||||
if (mode & wxDATAVIEW_CELL_EDITABLE)
|
if (mode & wxDATAVIEW_CELL_EDITABLE)
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, true );
|
g_value_set_boolean( &gvalue, true );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "editable", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "editable", &gvalue );
|
||||||
@@ -2164,7 +2167,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
|
|||||||
|
|
||||||
bool wxDataViewTextRenderer::SetTextValue(const wxString& str)
|
bool wxDataViewTextRenderer::SetTextValue(const wxString& str)
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
g_value_set_string( &gvalue, wxGTK_CONV_FONT( str, GetOwner()->GetOwner()->GetFont() ) );
|
g_value_set_string( &gvalue, wxGTK_CONV_FONT( str, GetOwner()->GetOwner()->GetFont() ) );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "text", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "text", &gvalue );
|
||||||
@@ -2175,7 +2178,7 @@ bool wxDataViewTextRenderer::SetTextValue(const wxString& str)
|
|||||||
|
|
||||||
bool wxDataViewTextRenderer::GetTextValue(wxString& str) const
|
bool wxDataViewTextRenderer::GetTextValue(wxString& str) const
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
|
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
|
||||||
str = wxGTK_CONV_BACK_FONT( g_value_get_string( &gvalue ), const_cast<wxDataViewTextRenderer*>(this)->GetOwner()->GetOwner()->GetFont() );
|
str = wxGTK_CONV_BACK_FONT( g_value_get_string( &gvalue ), const_cast<wxDataViewTextRenderer*>(this)->GetOwner()->GetOwner()->GetFont() );
|
||||||
@@ -2200,7 +2203,7 @@ void wxDataViewTextRenderer::SetAlignment( int align )
|
|||||||
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
||||||
pangoAlign = PANGO_ALIGN_CENTER;
|
pangoAlign = PANGO_ALIGN_CENTER;
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
||||||
g_value_set_enum( &gvalue, pangoAlign );
|
g_value_set_enum( &gvalue, pangoAlign );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
|
||||||
@@ -2227,7 +2230,7 @@ namespace
|
|||||||
// set "pixbuf" property on the given renderer
|
// set "pixbuf" property on the given renderer
|
||||||
void SetPixbufProp(GtkCellRenderer *renderer, GdkPixbuf *pixbuf)
|
void SetPixbufProp(GtkCellRenderer *renderer, GdkPixbuf *pixbuf)
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_OBJECT );
|
g_value_init( &gvalue, G_TYPE_OBJECT );
|
||||||
g_value_set_object( &gvalue, pixbuf );
|
g_value_set_object( &gvalue, pixbuf );
|
||||||
g_object_set_property( G_OBJECT(renderer), "pixbuf", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "pixbuf", &gvalue );
|
||||||
@@ -2294,7 +2297,7 @@ static void wxGtkToggleRendererToggledCallback( GtkCellRendererToggle *renderer,
|
|||||||
wxDataViewToggleRenderer *cell = (wxDataViewToggleRenderer*) user_data;
|
wxDataViewToggleRenderer *cell = (wxDataViewToggleRenderer*) user_data;
|
||||||
|
|
||||||
// get old value
|
// get old value
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_object_get_property( G_OBJECT(renderer), "active", &gvalue );
|
g_object_get_property( G_OBJECT(renderer), "active", &gvalue );
|
||||||
// invert it
|
// invert it
|
||||||
@@ -2329,7 +2332,7 @@ wxDataViewToggleRenderer::wxDataViewToggleRenderer( const wxString &varianttype,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, false );
|
g_value_set_boolean( &gvalue, false );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "activatable", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "activatable", &gvalue );
|
||||||
@@ -2344,7 +2347,7 @@ bool wxDataViewToggleRenderer::SetValue( const wxVariant &value )
|
|||||||
{
|
{
|
||||||
bool tmp = value;
|
bool tmp = value;
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, tmp );
|
g_value_set_boolean( &gvalue, tmp );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "active", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "active", &gvalue );
|
||||||
@@ -2355,7 +2358,7 @@ bool wxDataViewToggleRenderer::SetValue( const wxVariant &value )
|
|||||||
|
|
||||||
bool wxDataViewToggleRenderer::GetValue( wxVariant &value ) const
|
bool wxDataViewToggleRenderer::GetValue( wxVariant &value ) const
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_object_get_property( G_OBJECT(m_renderer), "active", &gvalue );
|
g_object_get_property( G_OBJECT(m_renderer), "active", &gvalue );
|
||||||
value = g_value_get_boolean( &gvalue ) != 0;
|
value = g_value_get_boolean( &gvalue ) != 0;
|
||||||
@@ -2451,7 +2454,7 @@ void wxDataViewCustomRenderer::RenderText( const wxString &text,
|
|||||||
|
|
||||||
GtkCellRendererText * const textRenderer = GtkGetTextRenderer();
|
GtkCellRendererText * const textRenderer = GtkGetTextRenderer();
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
g_value_set_string( &gvalue, wxGTK_CONV_FONT( text, GetOwner()->GetOwner()->GetFont() ) );
|
g_value_set_string( &gvalue, wxGTK_CONV_FONT( text, GetOwner()->GetOwner()->GetFont() ) );
|
||||||
g_object_set_property( G_OBJECT(textRenderer), "text", &gvalue );
|
g_object_set_property( G_OBJECT(textRenderer), "text", &gvalue );
|
||||||
@@ -2562,7 +2565,7 @@ wxDataViewProgressRenderer::~wxDataViewProgressRenderer()
|
|||||||
|
|
||||||
void wxDataViewProgressRenderer::GTKSetLabel()
|
void wxDataViewProgressRenderer::GTKSetLabel()
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
|
|
||||||
// Take care to not use GetOwner() here if the label is empty, we can be
|
// Take care to not use GetOwner() here if the label is empty, we can be
|
||||||
@@ -2590,7 +2593,7 @@ bool wxDataViewProgressRenderer::SetValue( const wxVariant &value )
|
|||||||
#endif // !wxUSE_UNICODE
|
#endif // !wxUSE_UNICODE
|
||||||
|
|
||||||
gint tmp = (long) value;
|
gint tmp = (long) value;
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_INT );
|
g_value_init( &gvalue, G_TYPE_INT );
|
||||||
g_value_set_int( &gvalue, tmp );
|
g_value_set_int( &gvalue, tmp );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "value", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "value", &gvalue );
|
||||||
@@ -2672,7 +2675,7 @@ wxSize wxDataViewChoiceRenderer::GetSize() const
|
|||||||
|
|
||||||
bool wxDataViewChoiceRenderer::SetValue( const wxVariant &value )
|
bool wxDataViewChoiceRenderer::SetValue( const wxVariant &value )
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
g_value_set_string(&gvalue,
|
g_value_set_string(&gvalue,
|
||||||
wxGTK_CONV_FONT(value.GetString(),
|
wxGTK_CONV_FONT(value.GetString(),
|
||||||
@@ -2685,7 +2688,7 @@ bool wxDataViewChoiceRenderer::SetValue( const wxVariant &value )
|
|||||||
|
|
||||||
bool wxDataViewChoiceRenderer::GetValue( wxVariant &value ) const
|
bool wxDataViewChoiceRenderer::GetValue( wxVariant &value ) const
|
||||||
{
|
{
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
|
g_object_get_property( G_OBJECT(m_renderer), "text", &gvalue );
|
||||||
wxString temp = wxGTK_CONV_BACK_FONT(g_value_get_string(&gvalue),
|
wxString temp = wxGTK_CONV_BACK_FONT(g_value_get_string(&gvalue),
|
||||||
@@ -2712,7 +2715,7 @@ void wxDataViewChoiceRenderer::SetAlignment( int align )
|
|||||||
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
else if (align & wxALIGN_CENTER_HORIZONTAL)
|
||||||
pangoAlign = PANGO_ALIGN_CENTER;
|
pangoAlign = PANGO_ALIGN_CENTER;
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
g_value_init( &gvalue, gtk_cell_renderer_mode_get_type() );
|
||||||
g_value_set_enum( &gvalue, pangoAlign );
|
g_value_set_enum( &gvalue, pangoAlign );
|
||||||
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
|
g_object_set_property( G_OBJECT(m_renderer), "alignment", &gvalue );
|
||||||
@@ -2894,7 +2897,7 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *WXUNUSED(column),
|
|||||||
visible = true;
|
visible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, visible );
|
g_value_set_boolean( &gvalue, visible );
|
||||||
g_object_set_property( G_OBJECT(renderer), "visible", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "visible", &gvalue );
|
||||||
@@ -2920,7 +2923,7 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *WXUNUSED(column),
|
|||||||
bool enabled = wx_model->IsEnabled( item, cell->GetOwner()->GetModelColumn() );
|
bool enabled = wx_model->IsEnabled( item, cell->GetOwner()->GetModelColumn() );
|
||||||
|
|
||||||
// a) this sets the appearance to disabled grey
|
// a) this sets the appearance to disabled grey
|
||||||
GValue gvalue = { 0, };
|
GValue gvalue = G_VALUE_INIT;
|
||||||
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
g_value_init( &gvalue, G_TYPE_BOOLEAN );
|
||||||
g_value_set_boolean( &gvalue, enabled );
|
g_value_set_boolean( &gvalue, enabled );
|
||||||
g_object_set_property( G_OBJECT(renderer), "sensitive", &gvalue );
|
g_object_set_property( G_OBJECT(renderer), "sensitive", &gvalue );
|
||||||
@@ -4260,6 +4263,7 @@ wxdataview_selection_changed_callback( GtkTreeSelection* WXUNUSED(selection), wx
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
wxDataViewEvent event( wxEVT_DATAVIEW_SELECTION_CHANGED, dv->GetId() );
|
wxDataViewEvent event( wxEVT_DATAVIEW_SELECTION_CHANGED, dv->GetId() );
|
||||||
|
event.SetEventObject( dv );
|
||||||
event.SetItem( dv->GetSelection() );
|
event.SetItem( dv->GetSelection() );
|
||||||
event.SetModel( dv->GetModel() );
|
event.SetModel( dv->GetModel() );
|
||||||
dv->HandleWindowEvent( event );
|
dv->HandleWindowEvent( event );
|
||||||
|
@@ -487,6 +487,7 @@ bool wxFont::GTKSetPangoAttrs(PangoLayout* layout) const
|
|||||||
PangoAttrList* attrs = pango_attr_list_new();
|
PangoAttrList* attrs = pango_attr_list_new();
|
||||||
PangoAttribute* a;
|
PangoAttribute* a;
|
||||||
|
|
||||||
|
#ifndef __WXGTK3__
|
||||||
if (wx_pango_version_check(1,16,0))
|
if (wx_pango_version_check(1,16,0))
|
||||||
{
|
{
|
||||||
// a PangoLayout which has leading/trailing spaces with underlined font
|
// a PangoLayout which has leading/trailing spaces with underlined font
|
||||||
@@ -525,6 +526,8 @@ bool wxFont::GTKSetPangoAttrs(PangoLayout* layout) const
|
|||||||
pango_attr_list_insert(attrs, a);
|
pango_attr_list_insert(attrs, a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // !__WXGTK3__
|
||||||
|
|
||||||
if (GetUnderlined())
|
if (GetUnderlined())
|
||||||
{
|
{
|
||||||
a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
|
||||||
|
@@ -14,10 +14,6 @@
|
|||||||
|
|
||||||
#include "wx/spinbutt.h"
|
#include "wx/spinbutt.h"
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
|
||||||
#include "wx/utils.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -71,10 +67,6 @@ gtk_value_changed(GtkSpinButton* spinbutton, wxSpinButton* win)
|
|||||||
// wxSpinButton
|
// wxSpinButton
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(wxSpinButton, wxControl)
|
|
||||||
EVT_SIZE(wxSpinButton::OnSize)
|
|
||||||
END_EVENT_TABLE()
|
|
||||||
|
|
||||||
wxSpinButton::wxSpinButton()
|
wxSpinButton::wxSpinButton()
|
||||||
{
|
{
|
||||||
m_pos = 0;
|
m_pos = 0;
|
||||||
@@ -87,14 +79,8 @@ bool wxSpinButton::Create(wxWindow *parent,
|
|||||||
long style,
|
long style,
|
||||||
const wxString& name)
|
const wxString& name)
|
||||||
{
|
{
|
||||||
wxSize new_size = size,
|
if (!PreCreation(parent, pos, size) ||
|
||||||
sizeBest = DoGetBestSize();
|
!CreateBase(parent, id, pos, size, style, wxDefaultValidator, name))
|
||||||
new_size.x = sizeBest.x; // override width always
|
|
||||||
if (new_size.y == -1)
|
|
||||||
new_size.y = sizeBest.y;
|
|
||||||
|
|
||||||
if (!PreCreation( parent, pos, new_size ) ||
|
|
||||||
!CreateBase( parent, id, pos, new_size, style, wxDefaultValidator, name ))
|
|
||||||
{
|
{
|
||||||
wxFAIL_MSG( wxT("wxSpinButton creation failed") );
|
wxFAIL_MSG( wxT("wxSpinButton creation failed") );
|
||||||
return false;
|
return false;
|
||||||
@@ -105,6 +91,7 @@ bool wxSpinButton::Create(wxWindow *parent,
|
|||||||
m_widget = gtk_spin_button_new_with_range(0, 100, 1);
|
m_widget = gtk_spin_button_new_with_range(0, 100, 1);
|
||||||
g_object_ref(m_widget);
|
g_object_ref(m_widget);
|
||||||
|
|
||||||
|
gtk_entry_set_width_chars(GTK_ENTRY(m_widget), 0);
|
||||||
gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget),
|
gtk_spin_button_set_wrap( GTK_SPIN_BUTTON(m_widget),
|
||||||
(int)(m_windowStyle & wxSP_WRAP) );
|
(int)(m_windowStyle & wxSP_WRAP) );
|
||||||
|
|
||||||
@@ -113,7 +100,7 @@ bool wxSpinButton::Create(wxWindow *parent,
|
|||||||
|
|
||||||
m_parent->DoAddChild( this );
|
m_parent->DoAddChild( this );
|
||||||
|
|
||||||
PostCreation(new_size);
|
PostCreation(size);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -163,14 +150,6 @@ void wxSpinButton::SetRange(int minVal, int maxVal)
|
|||||||
GtkEnableEvents();
|
GtkEnableEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxSpinButton::OnSize( wxSizeEvent &WXUNUSED(event) )
|
|
||||||
{
|
|
||||||
wxCHECK_RET( (m_widget != NULL), wxT("invalid spin button") );
|
|
||||||
|
|
||||||
m_width = DoGetBestSize().x;
|
|
||||||
gtk_widget_set_size_request( m_widget, m_width, m_height );
|
|
||||||
}
|
|
||||||
|
|
||||||
bool wxSpinButton::Enable( bool enable )
|
bool wxSpinButton::Enable( bool enable )
|
||||||
{
|
{
|
||||||
if (!base_type::Enable(enable))
|
if (!base_type::Enable(enable))
|
||||||
@@ -207,7 +186,20 @@ GdkWindow *wxSpinButton::GTKGetWindow(wxArrayGdkWindows& WXUNUSED(windows)) cons
|
|||||||
|
|
||||||
wxSize wxSpinButton::DoGetBestSize() const
|
wxSize wxSpinButton::DoGetBestSize() const
|
||||||
{
|
{
|
||||||
wxSize best(15, 26); // FIXME
|
wxSize best = base_type::DoGetBestSize();
|
||||||
|
#ifdef __WXGTK3__
|
||||||
|
GtkStyleContext* sc = gtk_widget_get_style_context(m_widget);
|
||||||
|
GtkBorder pad = { 0, 0, 0, 0 };
|
||||||
|
gtk_style_context_get_padding(sc, GtkStateFlags(0), &pad);
|
||||||
|
best.x -= pad.left + pad.right;
|
||||||
|
#else
|
||||||
|
gtk_widget_ensure_style(m_widget);
|
||||||
|
int w = PANGO_PIXELS(pango_font_description_get_size(m_widget->style->font_desc));
|
||||||
|
w &= ~1;
|
||||||
|
if (w < 6)
|
||||||
|
w = 6;
|
||||||
|
best.x = w + 2 * m_widget->style->xthickness;
|
||||||
|
#endif
|
||||||
CacheBestSize(best);
|
CacheBestSize(best);
|
||||||
return best;
|
return best;
|
||||||
}
|
}
|
||||||
@@ -219,4 +211,4 @@ wxSpinButton::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
|
|||||||
return GetDefaultAttributesFromGTKWidget(gtk_spin_button_new_with_range(0, 100, 1));
|
return GetDefaultAttributesFromGTKWidget(gtk_spin_button_new_with_range(0, 100, 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif // wxUSE_SPINBTN
|
||||||
|
@@ -674,4 +674,22 @@ wxSize wxComboBox::DoGetSizeFromTextSize(int xlen, int ylen) const
|
|||||||
return tsize;
|
return tsize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindow *wxComboBox::MSWFindItem(long id, WXHWND hWnd) const
|
||||||
|
{
|
||||||
|
// The base class version considers that any window with the same ID as
|
||||||
|
// this one must be this window itself, but this is not the case for the
|
||||||
|
// comboboxes where the native control seems to always use the ID of 1000
|
||||||
|
// for the popup listbox that it creates -- and this ID may be the same as
|
||||||
|
// our own one. So we must explicitly check the HWND value too here and
|
||||||
|
// avoid eating the events from the listbox as otherwise it is rendered
|
||||||
|
// inoperative, see #15647.
|
||||||
|
if ( id == GetId() && hWnd != GetHWND() )
|
||||||
|
{
|
||||||
|
// Must be the case described above.
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return wxChoice::MSWFindItem(id, hWnd);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_COMBOBOX
|
#endif // wxUSE_COMBOBOX
|
||||||
|
@@ -442,6 +442,15 @@ WXHBRUSH wxControl::MSWControlColorDisabled(WXHDC pDC)
|
|||||||
GetHWND());
|
GetHWND());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxWindow* wxControl::MSWFindItem(long id, WXHWND hWnd) const
|
||||||
|
{
|
||||||
|
// is it us or one of our "internal" children?
|
||||||
|
if ( id == GetId() || (GetSubcontrols().Index(id) != wxNOT_FOUND) )
|
||||||
|
return const_cast<wxControl *>(this);
|
||||||
|
|
||||||
|
return wxControlBase::MSWFindItem(id, hWnd);
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxControlWithItems
|
// wxControlWithItems
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -148,7 +148,7 @@ wxAlphaBlend(HDC hdcDst, int xDst, int yDst,
|
|||||||
|
|
||||||
#endif // wxHAS_RAW_BITMAP
|
#endif // wxHAS_RAW_BITMAP
|
||||||
|
|
||||||
namespace wxMSW
|
namespace wxMSWImpl
|
||||||
{
|
{
|
||||||
|
|
||||||
// Wrappers for the dynamically loaded {Set,Get}Layout() functions. They work
|
// Wrappers for the dynamically loaded {Set,Get}Layout() functions. They work
|
||||||
@@ -162,7 +162,7 @@ DWORD SetLayout(HDC hdc, DWORD dwLayout);
|
|||||||
// temporary compatible memory DC to the real target DC) using the same layout.
|
// temporary compatible memory DC to the real target DC) using the same layout.
|
||||||
HDC CreateCompatibleDCWithLayout(HDC hdc);
|
HDC CreateCompatibleDCWithLayout(HDC hdc);
|
||||||
|
|
||||||
} // namespace wxMSW
|
} // namespace wxMSWImpl
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// private classes
|
// private classes
|
||||||
@@ -1341,7 +1341,7 @@ void wxMSWDCImpl::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool
|
|||||||
#endif // wxUSE_SYSTEM_OPTIONS
|
#endif // wxUSE_SYSTEM_OPTIONS
|
||||||
{
|
{
|
||||||
HDC cdc = GetHdc();
|
HDC cdc = GetHdc();
|
||||||
HDC hdcMem = wxMSW::CreateCompatibleDCWithLayout(cdc);
|
HDC hdcMem = wxMSWImpl::CreateCompatibleDCWithLayout(cdc);
|
||||||
HGDIOBJ hOldBitmap = ::SelectObject(hdcMem, GetHbitmapOf(bmp));
|
HGDIOBJ hOldBitmap = ::SelectObject(hdcMem, GetHbitmapOf(bmp));
|
||||||
#if wxUSE_PALETTE
|
#if wxUSE_PALETTE
|
||||||
wxPalette *pal = bmp.GetPalette();
|
wxPalette *pal = bmp.GetPalette();
|
||||||
@@ -1382,7 +1382,7 @@ void wxMSWDCImpl::DoDrawBitmap( const wxBitmap &bmp, wxCoord x, wxCoord y, bool
|
|||||||
else // no mask, just use BitBlt()
|
else // no mask, just use BitBlt()
|
||||||
{
|
{
|
||||||
HDC cdc = GetHdc();
|
HDC cdc = GetHdc();
|
||||||
HDC memdc = wxMSW::CreateCompatibleDCWithLayout( cdc );
|
HDC memdc = wxMSWImpl::CreateCompatibleDCWithLayout( cdc );
|
||||||
HBITMAP hbitmap = (HBITMAP) bmp.GetHBITMAP( );
|
HBITMAP hbitmap = (HBITMAP) bmp.GetHBITMAP( );
|
||||||
|
|
||||||
wxASSERT_MSG( hbitmap, wxT("bitmap is ok but HBITMAP is NULL?") );
|
wxASSERT_MSG( hbitmap, wxT("bitmap is ok but HBITMAP is NULL?") );
|
||||||
@@ -2281,8 +2281,8 @@ bool wxMSWDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
|
|||||||
buffer_bmap = (HBITMAP) bitmapCacheEntry->m_bitmap;
|
buffer_bmap = (HBITMAP) bitmapCacheEntry->m_bitmap;
|
||||||
#else // !wxUSE_DC_CACHEING
|
#else // !wxUSE_DC_CACHEING
|
||||||
// create a temp buffer bitmap and DCs to access it and the mask
|
// create a temp buffer bitmap and DCs to access it and the mask
|
||||||
dc_mask = wxMSW::CreateCompatibleDCWithLayout(hdcSrc);
|
dc_mask = wxMSWImpl::CreateCompatibleDCWithLayout(hdcSrc);
|
||||||
dc_buffer = wxMSW::CreateCompatibleDCWithLayout(GetHdc());
|
dc_buffer = wxMSWImpl::CreateCompatibleDCWithLayout(GetHdc());
|
||||||
buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), dstWidth, dstHeight);
|
buffer_bmap = ::CreateCompatibleBitmap(GetHdc(), dstWidth, dstHeight);
|
||||||
#endif // wxUSE_DC_CACHEING/!wxUSE_DC_CACHEING
|
#endif // wxUSE_DC_CACHEING/!wxUSE_DC_CACHEING
|
||||||
HGDIOBJ hOldMaskBitmap = ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap());
|
HGDIOBJ hOldMaskBitmap = ::SelectObject(dc_mask, (HBITMAP) mask->GetMaskBitmap());
|
||||||
@@ -2595,7 +2595,7 @@ wxDCCacheEntry* wxMSWDCImpl::FindDCInCache(wxDCCacheEntry* notThis, WXHDC dc)
|
|||||||
|
|
||||||
node = node->GetNext();
|
node = node->GetNext();
|
||||||
}
|
}
|
||||||
WXHDC hDC = (WXHDC) wxMSW::CreateCompatibleDCWithLayout((HDC) dc);
|
WXHDC hDC = (WXHDC) wxMSWImpl::CreateCompatibleDCWithLayout((HDC) dc);
|
||||||
if ( !hDC)
|
if ( !hDC)
|
||||||
{
|
{
|
||||||
wxLogLastError(wxT("CreateCompatibleDC"));
|
wxLogLastError(wxT("CreateCompatibleDC"));
|
||||||
@@ -2827,7 +2827,7 @@ void wxMSWDCImpl::DoGradientFillLinear (const wxRect& rect,
|
|||||||
|
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
|
|
||||||
namespace wxMSW
|
namespace wxMSWImpl
|
||||||
{
|
{
|
||||||
|
|
||||||
DWORD GetLayout(HDC hdc)
|
DWORD GetLayout(HDC hdc)
|
||||||
@@ -2853,19 +2853,19 @@ HDC CreateCompatibleDCWithLayout(HDC hdc)
|
|||||||
HDC hdcNew = ::CreateCompatibleDC(hdc);
|
HDC hdcNew = ::CreateCompatibleDC(hdc);
|
||||||
if ( hdcNew )
|
if ( hdcNew )
|
||||||
{
|
{
|
||||||
DWORD dwLayout = wxMSW::GetLayout(hdc);
|
DWORD dwLayout = wxMSWImpl::GetLayout(hdc);
|
||||||
if ( dwLayout != GDI_ERROR )
|
if ( dwLayout != GDI_ERROR )
|
||||||
wxMSW::SetLayout(hdcNew, dwLayout);
|
wxMSWImpl::SetLayout(hdcNew, dwLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
return hdcNew;
|
return hdcNew;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace wxMSW
|
} // namespace wxMSWImpl
|
||||||
|
|
||||||
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const
|
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const
|
||||||
{
|
{
|
||||||
DWORD layout = wxMSW::GetLayout(GetHdc());
|
DWORD layout = wxMSWImpl::GetLayout(GetHdc());
|
||||||
|
|
||||||
if ( layout == GDI_ERROR )
|
if ( layout == GDI_ERROR )
|
||||||
return wxLayout_Default;
|
return wxLayout_Default;
|
||||||
@@ -2882,7 +2882,7 @@ void wxMSWDCImpl::SetLayoutDirection(wxLayoutDirection dir)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD layout = wxMSW::GetLayout(GetHdc());
|
DWORD layout = wxMSWImpl::GetLayout(GetHdc());
|
||||||
if ( layout == GDI_ERROR )
|
if ( layout == GDI_ERROR )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -2891,13 +2891,13 @@ void wxMSWDCImpl::SetLayoutDirection(wxLayoutDirection dir)
|
|||||||
else
|
else
|
||||||
layout &= ~LAYOUT_RTL;
|
layout &= ~LAYOUT_RTL;
|
||||||
|
|
||||||
wxMSW::SetLayout(GetHdc(), layout);
|
wxMSWImpl::SetLayout(GetHdc(), layout);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else // !wxUSE_DYNLIB_CLASS
|
#else // !wxUSE_DYNLIB_CLASS
|
||||||
|
|
||||||
// Provide stubs to avoid ifdefs in the code using these functions.
|
// Provide stubs to avoid ifdefs in the code using these functions.
|
||||||
namespace wxMSW
|
namespace wxMSWImpl
|
||||||
{
|
{
|
||||||
|
|
||||||
DWORD GetLayout(HDC WXUNUSED(hdc))
|
DWORD GetLayout(HDC WXUNUSED(hdc))
|
||||||
@@ -2915,7 +2915,7 @@ HDC CreateCompatibleDCWithLayout(HDC hdc)
|
|||||||
return ::CreateCompatibleDC(hdc);
|
return ::CreateCompatibleDC(hdc);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace wxMSW
|
} // namespace wxMSWImpl
|
||||||
|
|
||||||
// we can't provide RTL support without dynamic loading, so stub it out
|
// we can't provide RTL support without dynamic loading, so stub it out
|
||||||
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const
|
wxLayoutDirection wxMSWDCImpl::GetLayoutDirection() const
|
||||||
|
@@ -586,9 +586,7 @@ int wxMessageDialog::ShowMessageBox()
|
|||||||
// do show the dialog
|
// do show the dialog
|
||||||
int msAns = MessageBox(hWnd, message.t_str(), m_caption.t_str(), msStyle);
|
int msAns = MessageBox(hWnd, message.t_str(), m_caption.t_str(), msStyle);
|
||||||
|
|
||||||
int ret = MSWTranslateReturnCode(msAns);
|
return MSWTranslateReturnCode(msAns);
|
||||||
SetReturnCode(ret);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxMessageDialog::ShowModal()
|
int wxMessageDialog::ShowModal()
|
||||||
@@ -623,9 +621,7 @@ int wxMessageDialog::ShowModal()
|
|||||||
msAns = IDOK;
|
msAns = IDOK;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = MSWTranslateReturnCode(msAns);
|
return MSWTranslateReturnCode( msAns );
|
||||||
SetReturnCode(ret);
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
#endif // wxHAS_MSW_TASKDIALOG
|
#endif // wxHAS_MSW_TASKDIALOG
|
||||||
|
|
||||||
|
@@ -110,24 +110,20 @@ wxSize wxStaticText::DoGetBestClientSize() const
|
|||||||
widthTextMax += 2;
|
widthTextMax += 2;
|
||||||
#endif // __WXWINCE__
|
#endif // __WXWINCE__
|
||||||
|
|
||||||
// It looks like the static control needs "slightly" more vertical space
|
// This extra pixel is a hack we use to ensure that a wxStaticText
|
||||||
// than the character height and while the text isn't actually truncated if
|
// vertically centered around the same position as a wxTextCtrl shows its
|
||||||
// we use just the minimal height, it is positioned differently than when
|
// text on exactly the same baseline. It is not clear why is this needed
|
||||||
// the control has enough space and this result in the text in edit and
|
// nor even whether this works in all cases, but it does work, at least
|
||||||
// static controls not being aligned when the controls themselves are. As
|
// with the default fonts, under Windows XP, 7 and 8, so just use it for
|
||||||
// this is something you really should be able to count on, increase the
|
// now.
|
||||||
// space allocated for the control so that the base lines do align
|
|
||||||
// correctly. Notice that while the above is true at least for the single
|
|
||||||
// line controls, there doesn't seem to do any harm to allocate two extra
|
|
||||||
// pixels in multi-line case neither so do it always for consistency.
|
|
||||||
//
|
//
|
||||||
// I still have no idea why exactly is this needed nor why should we use 2
|
// In the future we really ought to provide a way for each of the controls
|
||||||
// and not something else. This seems to work in all the configurations
|
// to provide information about the position of the baseline for the text
|
||||||
// though (small/large fonts, different OS versions, ...) so just hard code
|
// it shows and use this information in the sizer code when centering the
|
||||||
// it for now. If we need something better later it might be worth looking
|
// controls vertically, otherwise we simply can't ensure that the text is
|
||||||
// at the height of the text control returned by ::GetComboBoxInfo() as it
|
// always on the same line, e.g. even with this hack wxComboBox text is
|
||||||
// seems to be the "minimal acceptable" height.
|
// still not aligned to the same position.
|
||||||
heightTextTotal += 2;
|
heightTextTotal += 1;
|
||||||
|
|
||||||
return wxSize(widthTextMax, heightTextTotal);
|
return wxSize(widthTextMax, heightTextTotal);
|
||||||
}
|
}
|
||||||
|
@@ -51,7 +51,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__GNUWIN32__)
|
#if defined(__GNUWIN32__)
|
||||||
#include <sys/unistd.h>
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@@ -365,30 +365,21 @@ END_EVENT_TABLE()
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
// Find an item given the MS Windows id
|
// Find an item given the MS Windows id
|
||||||
wxWindow *wxWindowMSW::FindItem(long id) const
|
wxWindow *wxWindowMSW::FindItem(long id, WXHWND hWnd) const
|
||||||
{
|
{
|
||||||
#if wxUSE_CONTROLS
|
// First check for the control itself and its Windows-level children which
|
||||||
wxControl *item = wxDynamicCastThis(wxControl);
|
// are mapped to the same wxWindow at wx level.
|
||||||
if ( item )
|
wxWindow *wnd = MSWFindItem(id, hWnd);
|
||||||
{
|
if ( wnd )
|
||||||
// is it us or one of our "internal" children?
|
return wnd;
|
||||||
if ( item->GetId() == id
|
|
||||||
#ifndef __WXUNIVERSAL__
|
|
||||||
|| (item->GetSubcontrols().Index(id) != wxNOT_FOUND)
|
|
||||||
#endif // __WXUNIVERSAL__
|
|
||||||
)
|
|
||||||
{
|
|
||||||
return item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // wxUSE_CONTROLS
|
|
||||||
|
|
||||||
|
// Then check wx level children.
|
||||||
wxWindowList::compatibility_iterator current = GetChildren().GetFirst();
|
wxWindowList::compatibility_iterator current = GetChildren().GetFirst();
|
||||||
while (current)
|
while (current)
|
||||||
{
|
{
|
||||||
wxWindow *childWin = current->GetData();
|
wxWindow *childWin = current->GetData();
|
||||||
|
|
||||||
wxWindow *wnd = childWin->FindItem(id);
|
wnd = childWin->FindItem(id, hWnd);
|
||||||
if ( wnd )
|
if ( wnd )
|
||||||
return wnd;
|
return wnd;
|
||||||
|
|
||||||
@@ -675,7 +666,8 @@ wxWindowMSW::MSWShowWithEffect(bool show,
|
|||||||
unsigned timeout)
|
unsigned timeout)
|
||||||
{
|
{
|
||||||
#if wxUSE_DYNLIB_CLASS
|
#if wxUSE_DYNLIB_CLASS
|
||||||
if ( effect == wxSHOW_EFFECT_NONE )
|
if ( effect == wxSHOW_EFFECT_NONE ||
|
||||||
|
(GetParent() && !GetParent()->IsShownOnScreen()) )
|
||||||
return Show(show);
|
return Show(show);
|
||||||
|
|
||||||
if ( !wxWindowBase::Show(show) )
|
if ( !wxWindowBase::Show(show) )
|
||||||
@@ -5323,7 +5315,7 @@ bool wxWindowMSW::HandleCommand(WXWORD id_, WXWORD cmd, WXHWND control)
|
|||||||
// try the id
|
// try the id
|
||||||
if ( !win )
|
if ( !win )
|
||||||
{
|
{
|
||||||
win = FindItem(id);
|
win = FindItem(id, control);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( win )
|
if ( win )
|
||||||
|
@@ -302,8 +302,6 @@ protected:
|
|||||||
wxListBox *list = static_cast<wxListBox*> ( impl->GetWXPeer());
|
wxListBox *list = static_cast<wxListBox*> ( impl->GetWXPeer());
|
||||||
wxCHECK_RET( list != NULL , wxT("Listbox expected"));
|
wxCHECK_RET( list != NULL , wxT("Listbox expected"));
|
||||||
|
|
||||||
wxCommandEvent event( wxEVT_LISTBOX, list->GetId() );
|
|
||||||
|
|
||||||
if ((row < 0) || (row > (int) list->GetCount())) // OS X can select an item below the last item
|
if ((row < 0) || (row > (int) list->GetCount())) // OS X can select an item below the last item
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@@ -254,7 +254,6 @@ public:
|
|||||||
#endif // wxOSX_USE_NATIVE_TOOLBAR
|
#endif // wxOSX_USE_NATIVE_TOOLBAR
|
||||||
|
|
||||||
private:
|
private:
|
||||||
#if wxOSX_USE_NATIVE_TOOLBAR
|
|
||||||
wxFontEncoding GetToolBarFontEncoding() const
|
wxFontEncoding GetToolBarFontEncoding() const
|
||||||
{
|
{
|
||||||
wxFont f;
|
wxFont f;
|
||||||
@@ -262,7 +261,6 @@ private:
|
|||||||
f = GetToolBar()->GetFont();
|
f = GetToolBar()->GetFont();
|
||||||
return f.IsOk() ? f.GetEncoding() : wxFont::GetDefaultEncoding();
|
return f.IsOk() ? f.GetEncoding() : wxFont::GetDefaultEncoding();
|
||||||
}
|
}
|
||||||
#endif // wxOSX_USE_NATIVE_TOOLBAR
|
|
||||||
|
|
||||||
void Init()
|
void Init()
|
||||||
{
|
{
|
||||||
@@ -689,9 +687,11 @@ wxToolBar::~wxToolBar()
|
|||||||
frame->SetToolBar(NULL);
|
frame->SetToolBar(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxOSX_USE_NATIVE_TOOLBAR
|
||||||
[(NSToolbar*)m_macToolbar setDelegate:nil];
|
[(NSToolbar*)m_macToolbar setDelegate:nil];
|
||||||
[(NSToolbar*)m_macToolbar release];
|
[(NSToolbar*)m_macToolbar release];
|
||||||
m_macToolbar = NULL;
|
m_macToolbar = NULL;
|
||||||
|
#endif // wxOSX_USE_NATIVE_TOOLBAR
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxToolBar::Show( bool show )
|
bool wxToolBar::Show( bool show )
|
||||||
|
@@ -432,7 +432,13 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
|||||||
totHeight = GetRowCount() * maxHeight + (GetRowCount() - 1) * space;
|
totHeight = GetRowCount() * maxHeight + (GetRowCount() - 1) * space;
|
||||||
totWidth = GetColumnCount() * (maxWidth + charWidth);
|
totWidth = GetColumnCount() * (maxWidth + charWidth);
|
||||||
|
|
||||||
wxSize sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
|
// Determine the full size in case we need to use it as fallback.
|
||||||
|
wxSize sz;
|
||||||
|
if ( (width == wxDefaultCoord && (sizeFlags & wxSIZE_AUTO_WIDTH)) ||
|
||||||
|
(height == wxDefaultCoord && (sizeFlags & wxSIZE_AUTO_HEIGHT)) )
|
||||||
|
{
|
||||||
|
sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
|
||||||
|
}
|
||||||
|
|
||||||
// change the width / height only when specified
|
// change the width / height only when specified
|
||||||
if ( width == wxDefaultCoord )
|
if ( width == wxDefaultCoord )
|
||||||
@@ -453,6 +459,11 @@ void wxRadioBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
|||||||
|
|
||||||
wxControl::DoSetSize( x_offset, y_offset, width, height, wxSIZE_AUTO );
|
wxControl::DoSetSize( x_offset, y_offset, width, height, wxSIZE_AUTO );
|
||||||
|
|
||||||
|
// But now recompute the full size again because it could have changed.
|
||||||
|
// This notably happens if the previous full size was too small to fully
|
||||||
|
// fit the box margins.
|
||||||
|
sz = DoGetSizeFromClientSize( wxSize( totWidth, totHeight ) ) ;
|
||||||
|
|
||||||
// arrange radio buttons
|
// arrange radio buttons
|
||||||
int x_start, y_start;
|
int x_start, y_start;
|
||||||
|
|
||||||
|
@@ -599,21 +599,6 @@ bool wxTextCtrl::MacSetupCursor( const wxPoint& pt )
|
|||||||
return true ;
|
return true ;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool wxTextCtrl::SetHint(const wxString& hint)
|
|
||||||
{
|
|
||||||
m_hintString = hint;
|
|
||||||
|
|
||||||
if ( GetTextPeer() && GetTextPeer()->SetHint(hint) )
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
wxString wxTextCtrl::GetHint() const
|
|
||||||
{
|
|
||||||
return m_hintString;
|
|
||||||
}
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// implementation base class
|
// implementation base class
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -287,6 +287,18 @@ wxTextWidgetImpl * wxTextEntry::GetTextPeer() const
|
|||||||
return win ? dynamic_cast<wxTextWidgetImpl *>(win->GetPeer()) : NULL;
|
return win ? dynamic_cast<wxTextWidgetImpl *>(win->GetPeer()) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool wxTextEntry::SetHint(const wxString& hint)
|
||||||
|
{
|
||||||
|
m_hintString = hint;
|
||||||
|
return GetTextPeer() && GetTextPeer()->SetHint(hint);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxString wxTextEntry::GetHint() const
|
||||||
|
{
|
||||||
|
return m_hintString;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Auto-completion
|
// Auto-completion
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -1297,8 +1297,10 @@ void wxPropertyGrid::CalculateFontAndBitmapStuff( int vspacing )
|
|||||||
|
|
||||||
void wxPropertyGrid::OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) )
|
void wxPropertyGrid::OnSysColourChanged( wxSysColourChangedEvent &WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
RegainColours();
|
if ((m_iFlags & wxPG_FL_INITIALIZED)!=0) {
|
||||||
Refresh();
|
RegainColours();
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
@@ -537,15 +537,12 @@ void SurfaceImpl::MeasureWidths(Font &font, const char *s, int len, XYPOSITION *
|
|||||||
}
|
}
|
||||||
ui++;
|
ui++;
|
||||||
}
|
}
|
||||||
#else
|
#else // !wxUSE_UNICODE
|
||||||
|
|
||||||
// If not unicode then just use the widths we have
|
// If not unicode then just use the widths we have
|
||||||
#if wxUSE_STD_CONTAINERS
|
for (int i = 0; i < len; i++) {
|
||||||
std::copy(tpos.begin(), tpos.end(), positions);
|
positions[i] = tpos[i];
|
||||||
#else
|
}
|
||||||
memcpy(positions, tpos.begin(), len * sizeof(int));
|
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -870,10 +870,10 @@ bool wxTextCtrl::ReplaceLine(wxTextCoord line,
|
|||||||
// now change the line
|
// now change the line
|
||||||
MData().m_lines[line] = text;
|
MData().m_lines[line] = text;
|
||||||
|
|
||||||
// OPT: we choose to lay it our immediately instead of delaying it
|
// OPT: we choose to lay it out immediately instead of delaying it
|
||||||
// until it is needed because it allows us to avoid invalidating
|
// until it is needed because it allows us to avoid invalidating
|
||||||
// lines further down if the number of rows didn't chnage, but
|
// lines further down if the number of rows didn't change, but
|
||||||
// maybe we can imporve this even further?
|
// maybe we can improve this even further?
|
||||||
LayoutLine(line, lineData);
|
LayoutLine(line, lineData);
|
||||||
|
|
||||||
int rowsNew = lineData.GetExtraRowCount();
|
int rowsNew = lineData.GetExtraRowCount();
|
||||||
|
Reference in New Issue
Block a user