Merge branch 'master' into webview-chromium
This commit is contained in:
commit
ff59ef301b
342 changed files with 8214 additions and 4407 deletions
6
.github/workflows/ci_msw_cross.yml
vendored
6
.github/workflows/ci_msw_cross.yml
vendored
|
|
@ -68,17 +68,21 @@ jobs:
|
||||||
# versions of MinGW and Wine and is simpler to test with locally than the
|
# versions of MinGW and Wine and is simpler to test with locally than the
|
||||||
# bespoke container used by GitHub Actions by default.
|
# bespoke container used by GitHub Actions by default.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: debian:testing-slim
|
container: debian:${{ matrix.debian_release }}-slim
|
||||||
name: ${{ matrix.name }}
|
name: ${{ matrix.name }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- name: wxMSW 64 bits
|
- name: wxMSW 64 bits
|
||||||
|
debian_release: testing
|
||||||
configure_flags: --disable-compat32
|
configure_flags: --disable-compat32
|
||||||
- name: wxMSW 32 bits
|
- name: wxMSW 32 bits
|
||||||
|
# Testing doesn't have 32 bit support any more.
|
||||||
|
debian_release: stable
|
||||||
triplet: i686-w64-mingw32
|
triplet: i686-w64-mingw32
|
||||||
- name: wxMSW/Univ
|
- name: wxMSW/Univ
|
||||||
|
debian_release: testing
|
||||||
configure_flags: --enable-universal --disable-compat32 --disable-debug --disable-optimise
|
configure_flags: --enable-universal --disable-compat32 --disable-debug --disable-optimise
|
||||||
minimal: true
|
minimal: true
|
||||||
env:
|
env:
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ math(EXPR wxSOVERSION_MAJOR "${WX_CURRENT} - ${WX_AGE}")
|
||||||
set(wxSOVERSION ${wxSOVERSION_MAJOR}.${WX_AGE}.${WX_REVISION})
|
set(wxSOVERSION ${wxSOVERSION_MAJOR}.${WX_AGE}.${WX_REVISION})
|
||||||
|
|
||||||
set(wxVERSION ${wxMAJOR_VERSION}.${wxMINOR_VERSION}.${wxRELEASE_NUMBER})
|
set(wxVERSION ${wxMAJOR_VERSION}.${wxMINOR_VERSION}.${wxRELEASE_NUMBER})
|
||||||
set(wxCOPYRIGHT "2002-2023 wxWidgets")
|
set(wxCOPYRIGHT "2002-2024 wxWidgets")
|
||||||
|
|
||||||
set(wxLANGUAGES C CXX)
|
set(wxLANGUAGES C CXX)
|
||||||
if(APPLE AND NOT CMAKE_VERSION VERSION_LESS "3.16")
|
if(APPLE AND NOT CMAKE_VERSION VERSION_LESS "3.16")
|
||||||
|
|
@ -97,9 +97,6 @@ endif()
|
||||||
|
|
||||||
project(wxWidgets VERSION ${wxVERSION} LANGUAGES ${wxLANGUAGES})
|
project(wxWidgets VERSION ${wxVERSION} LANGUAGES ${wxLANGUAGES})
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 11)
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
||||||
|
|
||||||
include(build/cmake/main.cmake)
|
include(build/cmake/main.cmake)
|
||||||
|
|
||||||
# Set the default startup project for Visual Studio
|
# Set the default startup project for Visual Studio
|
||||||
|
|
|
||||||
44
Makefile.in
44
Makefile.in
|
|
@ -604,6 +604,7 @@ ALL_BASE_HEADERS = \
|
||||||
wx/lzmastream.h \
|
wx/lzmastream.h \
|
||||||
wx/localedefs.h \
|
wx/localedefs.h \
|
||||||
wx/uilocale.h \
|
wx/uilocale.h \
|
||||||
|
wx/fs_data.h \
|
||||||
$(BASE_PLATFORM_HDR) \
|
$(BASE_PLATFORM_HDR) \
|
||||||
wx/fs_inet.h \
|
wx/fs_inet.h \
|
||||||
wx/protocol/file.h \
|
wx/protocol/file.h \
|
||||||
|
|
@ -790,6 +791,7 @@ ALL_PORTS_BASE_HEADERS = \
|
||||||
wx/lzmastream.h \
|
wx/lzmastream.h \
|
||||||
wx/localedefs.h \
|
wx/localedefs.h \
|
||||||
wx/uilocale.h \
|
wx/uilocale.h \
|
||||||
|
wx/fs_data.h \
|
||||||
wx/unix/app.h \
|
wx/unix/app.h \
|
||||||
wx/unix/apptbase.h \
|
wx/unix/apptbase.h \
|
||||||
wx/unix/apptrait.h \
|
wx/unix/apptrait.h \
|
||||||
|
|
@ -926,6 +928,7 @@ ALL_BASE_SOURCES = \
|
||||||
src/common/secretstore.cpp \
|
src/common/secretstore.cpp \
|
||||||
src/common/lzmastream.cpp \
|
src/common/lzmastream.cpp \
|
||||||
src/common/uilocale.cpp \
|
src/common/uilocale.cpp \
|
||||||
|
src/common/fs_data.cpp \
|
||||||
src/common/fdiodispatcher.cpp \
|
src/common/fdiodispatcher.cpp \
|
||||||
src/common/selectdispatcher.cpp \
|
src/common/selectdispatcher.cpp \
|
||||||
src/unix/appunix.cpp \
|
src/unix/appunix.cpp \
|
||||||
|
|
@ -1131,6 +1134,7 @@ MONODLL_OBJECTS = \
|
||||||
monodll_common_secretstore.o \
|
monodll_common_secretstore.o \
|
||||||
monodll_lzmastream.o \
|
monodll_lzmastream.o \
|
||||||
monodll_common_uilocale.o \
|
monodll_common_uilocale.o \
|
||||||
|
monodll_fs_data.o \
|
||||||
$(__BASE_PLATFORM_SRC_OBJECTS) \
|
$(__BASE_PLATFORM_SRC_OBJECTS) \
|
||||||
monodll_event.o \
|
monodll_event.o \
|
||||||
monodll_fs_mem.o \
|
monodll_fs_mem.o \
|
||||||
|
|
@ -1290,6 +1294,7 @@ MONOLIB_OBJECTS = \
|
||||||
monolib_common_secretstore.o \
|
monolib_common_secretstore.o \
|
||||||
monolib_lzmastream.o \
|
monolib_lzmastream.o \
|
||||||
monolib_common_uilocale.o \
|
monolib_common_uilocale.o \
|
||||||
|
monolib_fs_data.o \
|
||||||
$(__BASE_PLATFORM_SRC_OBJECTS_1) \
|
$(__BASE_PLATFORM_SRC_OBJECTS_1) \
|
||||||
monolib_event.o \
|
monolib_event.o \
|
||||||
monolib_fs_mem.o \
|
monolib_fs_mem.o \
|
||||||
|
|
@ -1418,6 +1423,7 @@ BASEDLL_OBJECTS = \
|
||||||
basedll_common_secretstore.o \
|
basedll_common_secretstore.o \
|
||||||
basedll_lzmastream.o \
|
basedll_lzmastream.o \
|
||||||
basedll_common_uilocale.o \
|
basedll_common_uilocale.o \
|
||||||
|
basedll_fs_data.o \
|
||||||
$(__BASE_PLATFORM_SRC_OBJECTS_2) \
|
$(__BASE_PLATFORM_SRC_OBJECTS_2) \
|
||||||
basedll_event.o \
|
basedll_event.o \
|
||||||
basedll_fs_mem.o \
|
basedll_fs_mem.o \
|
||||||
|
|
@ -1528,6 +1534,7 @@ BASELIB_OBJECTS = \
|
||||||
baselib_common_secretstore.o \
|
baselib_common_secretstore.o \
|
||||||
baselib_lzmastream.o \
|
baselib_lzmastream.o \
|
||||||
baselib_common_uilocale.o \
|
baselib_common_uilocale.o \
|
||||||
|
baselib_fs_data.o \
|
||||||
$(__BASE_PLATFORM_SRC_OBJECTS_3) \
|
$(__BASE_PLATFORM_SRC_OBJECTS_3) \
|
||||||
baselib_event.o \
|
baselib_event.o \
|
||||||
baselib_fs_mem.o \
|
baselib_fs_mem.o \
|
||||||
|
|
@ -3893,6 +3900,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
|
||||||
wx/bmpbndl.h \
|
wx/bmpbndl.h \
|
||||||
wx/filedlgcustomize.h \
|
wx/filedlgcustomize.h \
|
||||||
wx/compositebookctrl.h \
|
wx/compositebookctrl.h \
|
||||||
|
wx/persist/combobox.h \
|
||||||
$(LOWLEVEL_HDR) \
|
$(LOWLEVEL_HDR) \
|
||||||
$(GUI_CORE_HEADERS) \
|
$(GUI_CORE_HEADERS) \
|
||||||
wx/mediactrl.h \
|
wx/mediactrl.h \
|
||||||
|
|
@ -5542,7 +5550,8 @@ COND_TOOLKIT_QT___GUI_SRC_OBJECTS = \
|
||||||
monodll_qt_treectrl.o \
|
monodll_qt_treectrl.o \
|
||||||
monodll_paletteg.o \
|
monodll_paletteg.o \
|
||||||
monodll_qt_datectrl.o \
|
monodll_qt_datectrl.o \
|
||||||
monodll_qt_timectrl.o
|
monodll_qt_timectrl.o \
|
||||||
|
monodll_qt_overlay.o
|
||||||
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS)
|
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS)
|
||||||
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS = \
|
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS = \
|
||||||
@COND_PLATFORM_UNIX_1@ monodll_unix_dialup.o monodll_unix_joystick.o \
|
@COND_PLATFORM_UNIX_1@ monodll_unix_dialup.o monodll_unix_joystick.o \
|
||||||
|
|
@ -7307,7 +7316,8 @@ COND_TOOLKIT_QT___GUI_SRC_OBJECTS_1 = \
|
||||||
monolib_qt_treectrl.o \
|
monolib_qt_treectrl.o \
|
||||||
monolib_paletteg.o \
|
monolib_paletteg.o \
|
||||||
monolib_qt_datectrl.o \
|
monolib_qt_datectrl.o \
|
||||||
monolib_qt_timectrl.o
|
monolib_qt_timectrl.o \
|
||||||
|
monolib_qt_overlay.o
|
||||||
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_1)
|
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_1)
|
||||||
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_1 = \
|
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_1 = \
|
||||||
@COND_PLATFORM_UNIX_1@ monolib_unix_dialup.o monolib_unix_joystick.o \
|
@COND_PLATFORM_UNIX_1@ monolib_unix_dialup.o monolib_unix_joystick.o \
|
||||||
|
|
@ -9223,7 +9233,8 @@ COND_TOOLKIT_QT___GUI_SRC_OBJECTS_2 = \
|
||||||
coredll_qt_treectrl.o \
|
coredll_qt_treectrl.o \
|
||||||
coredll_paletteg.o \
|
coredll_paletteg.o \
|
||||||
coredll_qt_datectrl.o \
|
coredll_qt_datectrl.o \
|
||||||
coredll_qt_timectrl.o
|
coredll_qt_timectrl.o \
|
||||||
|
coredll_qt_overlay.o
|
||||||
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_2)
|
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_2)
|
||||||
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_2 = \
|
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_2 = \
|
||||||
@COND_PLATFORM_UNIX_1@ coredll_unix_dialup.o coredll_unix_joystick.o \
|
@COND_PLATFORM_UNIX_1@ coredll_unix_dialup.o coredll_unix_joystick.o \
|
||||||
|
|
@ -10714,7 +10725,8 @@ COND_TOOLKIT_QT___GUI_SRC_OBJECTS_3 = \
|
||||||
corelib_qt_treectrl.o \
|
corelib_qt_treectrl.o \
|
||||||
corelib_paletteg.o \
|
corelib_paletteg.o \
|
||||||
corelib_qt_datectrl.o \
|
corelib_qt_datectrl.o \
|
||||||
corelib_qt_timectrl.o
|
corelib_qt_timectrl.o \
|
||||||
|
corelib_qt_overlay.o
|
||||||
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_3)
|
@COND_TOOLKIT_QT@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_QT___GUI_SRC_OBJECTS_3)
|
||||||
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_3 = \
|
@COND_PLATFORM_UNIX_1@__QT_PLATFORM_SRC_OBJECTS_3 = \
|
||||||
@COND_PLATFORM_UNIX_1@ corelib_unix_dialup.o corelib_unix_joystick.o \
|
@COND_PLATFORM_UNIX_1@ corelib_unix_dialup.o corelib_unix_joystick.o \
|
||||||
|
|
@ -14975,6 +14987,9 @@ monodll_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(MONODLL_ODEP)
|
||||||
monodll_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(MONODLL_ODEP)
|
monodll_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
||||||
|
|
||||||
|
monodll_fs_data.o: $(srcdir)/src/common/fs_data.cpp $(MONODLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fs_data.cpp
|
||||||
|
|
||||||
monodll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONODLL_ODEP)
|
monodll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||||
|
|
||||||
|
|
@ -15815,6 +15830,9 @@ monodll_qt_datectrl.o: $(srcdir)/src/qt/datectrl.cpp $(MONODLL_ODEP)
|
||||||
monodll_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(MONODLL_ODEP)
|
monodll_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
||||||
|
|
||||||
|
monodll_qt_overlay.o: $(srcdir)/src/qt/overlay.cpp $(MONODLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/qt/overlay.cpp
|
||||||
|
|
||||||
monodll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONODLL_ODEP)
|
monodll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONODLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
||||||
|
|
||||||
|
|
@ -19724,6 +19742,9 @@ monolib_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(MONOLIB_ODEP)
|
||||||
monolib_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(MONOLIB_ODEP)
|
monolib_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
||||||
|
|
||||||
|
monolib_fs_data.o: $(srcdir)/src/common/fs_data.cpp $(MONOLIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fs_data.cpp
|
||||||
|
|
||||||
monolib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONOLIB_ODEP)
|
monolib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||||
|
|
||||||
|
|
@ -20564,6 +20585,9 @@ monolib_qt_datectrl.o: $(srcdir)/src/qt/datectrl.cpp $(MONOLIB_ODEP)
|
||||||
monolib_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(MONOLIB_ODEP)
|
monolib_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
||||||
|
|
||||||
|
monolib_qt_overlay.o: $(srcdir)/src/qt/overlay.cpp $(MONOLIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/qt/overlay.cpp
|
||||||
|
|
||||||
monolib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONOLIB_ODEP)
|
monolib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(MONOLIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
||||||
|
|
||||||
|
|
@ -24473,6 +24497,9 @@ basedll_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(BASEDLL_ODEP)
|
||||||
basedll_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(BASEDLL_ODEP)
|
basedll_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(BASEDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
||||||
|
|
||||||
|
basedll_fs_data.o: $(srcdir)/src/common/fs_data.cpp $(BASEDLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fs_data.cpp
|
||||||
|
|
||||||
basedll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASEDLL_ODEP)
|
basedll_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASEDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
$(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||||
|
|
||||||
|
|
@ -24953,6 +24980,9 @@ baselib_lzmastream.o: $(srcdir)/src/common/lzmastream.cpp $(BASELIB_ODEP)
|
||||||
baselib_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(BASELIB_ODEP)
|
baselib_common_uilocale.o: $(srcdir)/src/common/uilocale.cpp $(BASELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/uilocale.cpp
|
||||||
|
|
||||||
|
baselib_fs_data.o: $(srcdir)/src/common/fs_data.cpp $(BASELIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fs_data.cpp
|
||||||
|
|
||||||
baselib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASELIB_ODEP)
|
baselib_unix_mimetype.o: $(srcdir)/src/unix/mimetype.cpp $(BASELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
$(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/mimetype.cpp
|
||||||
|
|
||||||
|
|
@ -25991,6 +26021,9 @@ coredll_qt_datectrl.o: $(srcdir)/src/qt/datectrl.cpp $(COREDLL_ODEP)
|
||||||
coredll_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(COREDLL_ODEP)
|
coredll_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(COREDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
||||||
|
|
||||||
|
coredll_qt_overlay.o: $(srcdir)/src/qt/overlay.cpp $(COREDLL_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/qt/overlay.cpp
|
||||||
|
|
||||||
coredll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(COREDLL_ODEP)
|
coredll_mdig.o: $(srcdir)/src/generic/mdig.cpp $(COREDLL_ODEP)
|
||||||
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
||||||
|
|
||||||
|
|
@ -29708,6 +29741,9 @@ corelib_qt_datectrl.o: $(srcdir)/src/qt/datectrl.cpp $(CORELIB_ODEP)
|
||||||
corelib_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(CORELIB_ODEP)
|
corelib_qt_timectrl.o: $(srcdir)/src/qt/timectrl.cpp $(CORELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/qt/timectrl.cpp
|
||||||
|
|
||||||
|
corelib_qt_overlay.o: $(srcdir)/src/qt/overlay.cpp $(CORELIB_ODEP)
|
||||||
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/qt/overlay.cpp
|
||||||
|
|
||||||
corelib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(CORELIB_ODEP)
|
corelib_mdig.o: $(srcdir)/src/generic/mdig.cpp $(CORELIB_ODEP)
|
||||||
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/mdig.cpp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -485,9 +485,9 @@ it if SHARED=1 unless you know what you are doing.
|
||||||
<set var="EXTRALIBS_MEDIA"/>
|
<set var="EXTRALIBS_MEDIA"/>
|
||||||
<set var="EXTRALIBS_GUI"/>
|
<set var="EXTRALIBS_GUI"/>
|
||||||
<set var="EXTRALIBS_OPENGL">
|
<set var="EXTRALIBS_OPENGL">
|
||||||
<if cond="COMPILER=='wat' and TOOLKIT=='MSW'">opengl32.lib glu32.lib</if>
|
<if cond="COMPILER=='wat' and TOOLKIT=='MSW'">opengl32.lib</if>
|
||||||
<if cond="COMPILER=='vc'">opengl32.lib glu32.lib</if>
|
<if cond="COMPILER=='vc'">opengl32.lib</if>
|
||||||
<if cond="COMPILER=='gcc'">-lopengl32 -lglu32</if>
|
<if cond="COMPILER=='gcc'">-lopengl32</if>
|
||||||
</set>
|
</set>
|
||||||
<set var="EXTRALIBS_SDL"/>
|
<set var="EXTRALIBS_SDL"/>
|
||||||
<set var="EXTRALIBS_STC">
|
<set var="EXTRALIBS_STC">
|
||||||
|
|
|
||||||
|
|
@ -477,6 +477,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||||
src/generic/paletteg.cpp
|
src/generic/paletteg.cpp
|
||||||
src/qt/datectrl.cpp
|
src/qt/datectrl.cpp
|
||||||
src/qt/timectrl.cpp
|
src/qt/timectrl.cpp
|
||||||
|
src/qt/overlay.cpp
|
||||||
</set>
|
</set>
|
||||||
|
|
||||||
<set var="MEDIA_QT_SRC" hints="files">
|
<set var="MEDIA_QT_SRC" hints="files">
|
||||||
|
|
@ -579,6 +580,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||||
src/common/secretstore.cpp
|
src/common/secretstore.cpp
|
||||||
src/common/lzmastream.cpp
|
src/common/lzmastream.cpp
|
||||||
src/common/uilocale.cpp
|
src/common/uilocale.cpp
|
||||||
|
src/common/fs_data.cpp
|
||||||
</set>
|
</set>
|
||||||
<set var="BASE_AND_GUI_CMN_SRC" hints="files">
|
<set var="BASE_AND_GUI_CMN_SRC" hints="files">
|
||||||
src/common/event.cpp
|
src/common/event.cpp
|
||||||
|
|
@ -754,6 +756,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||||
wx/lzmastream.h
|
wx/lzmastream.h
|
||||||
wx/localedefs.h
|
wx/localedefs.h
|
||||||
wx/uilocale.h
|
wx/uilocale.h
|
||||||
|
wx/fs_data.h
|
||||||
</set>
|
</set>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1321,6 +1324,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||||
wx/bmpbndl.h
|
wx/bmpbndl.h
|
||||||
wx/filedlgcustomize.h
|
wx/filedlgcustomize.h
|
||||||
wx/compositebookctrl.h
|
wx/compositebookctrl.h
|
||||||
|
wx/persist/combobox.h
|
||||||
</set>
|
</set>
|
||||||
|
|
||||||
<!-- ====================================================================== -->
|
<!-- ====================================================================== -->
|
||||||
|
|
|
||||||
|
|
@ -49,10 +49,10 @@
|
||||||
sed -e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.$(id)/" \
|
sed -e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_GUI_IDENTIFIER}/org.wxwidgets.$(id)/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_EXECUTABLE_NAME}/$(id)/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_EXECUTABLE_NAME}/$(id)/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_BUNDLE_NAME}/$(id)/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_BUNDLE_NAME}/$(id)/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2023 wxWidgets/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_COPYRIGHT}/Copyright 2002-2024 wxWidgets/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_BUNDLE_VERSION}/$(WX_VERSION)/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_INFO_STRING}/$(id) version $(WX_VERSION), (c) 2002-2023 wxWidgets/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_INFO_STRING}/$(id) version $(WX_VERSION), (c) 2002-2024 wxWidgets/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2023 wxWidgets/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_LONG_VERSION_STRING}/$(WX_VERSION), (c) 2002-2024 wxWidgets/" \
|
||||||
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
|
-e "s/\$(DOLLAR)$(DOLLAR){MACOSX_BUNDLE_SHORT_VERSION_STRING}/$(WX_RELEASE)/" \
|
||||||
$(BUNDLE_PLIST) >$(BUNDLE)/Info.plist
|
$(BUNDLE_PLIST) >$(BUNDLE)/Info.plist
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -390,6 +390,7 @@ set(QT_SRC
|
||||||
src/generic/paletteg.cpp
|
src/generic/paletteg.cpp
|
||||||
src/qt/datectrl.cpp
|
src/qt/datectrl.cpp
|
||||||
src/qt/timectrl.cpp
|
src/qt/timectrl.cpp
|
||||||
|
src/qt/overlay.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(MEDIA_QT_SRC
|
set(MEDIA_QT_SRC
|
||||||
|
|
@ -491,6 +492,7 @@ set(BASE_CMN_SRC
|
||||||
src/generic/fswatcherg.cpp
|
src/generic/fswatcherg.cpp
|
||||||
src/common/lzmastream.cpp
|
src/common/lzmastream.cpp
|
||||||
src/common/uilocale.cpp
|
src/common/uilocale.cpp
|
||||||
|
src/common/fs_data.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(BASE_AND_GUI_CMN_SRC
|
set(BASE_AND_GUI_CMN_SRC
|
||||||
|
|
@ -668,6 +670,7 @@ set(BASE_CMN_HDR
|
||||||
wx/lzmastream.h
|
wx/lzmastream.h
|
||||||
wx/localedefs.h
|
wx/localedefs.h
|
||||||
wx/uilocale.h
|
wx/uilocale.h
|
||||||
|
wx/fs_data.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(NET_UNIX_SRC
|
set(NET_UNIX_SRC
|
||||||
|
|
@ -1222,6 +1225,7 @@ set(GUI_CMN_HDR
|
||||||
wx/bmpbndl.h
|
wx/bmpbndl.h
|
||||||
wx/filedlgcustomize.h
|
wx/filedlgcustomize.h
|
||||||
wx/compositebookctrl.h
|
wx/compositebookctrl.h
|
||||||
|
wx/persist/combobox.h
|
||||||
)
|
)
|
||||||
|
|
||||||
set(UNIX_SRC
|
set(UNIX_SRC
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,25 @@
|
||||||
|
|
||||||
if(DEFINED wxBUILD_CXX_STANDARD AND NOT wxBUILD_CXX_STANDARD STREQUAL COMPILER_DEFAULT)
|
if(DEFINED wxBUILD_CXX_STANDARD AND NOT wxBUILD_CXX_STANDARD STREQUAL COMPILER_DEFAULT)
|
||||||
set(CMAKE_CXX_STANDARD ${wxBUILD_CXX_STANDARD})
|
set(CMAKE_CXX_STANDARD ${wxBUILD_CXX_STANDARD})
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
else()
|
||||||
|
# If the standard is not set explicitly, check whether we can use C++11
|
||||||
|
# without any special options.
|
||||||
|
include(CheckCXXSourceCompiles)
|
||||||
|
check_cxx_source_compiles("
|
||||||
|
#include <vector>
|
||||||
|
int main() {
|
||||||
|
std::vector<int> v{1,2,3};
|
||||||
|
for (auto& n : v)
|
||||||
|
--n;
|
||||||
|
return v[0];
|
||||||
|
}"
|
||||||
|
wxHAVE_CXX11)
|
||||||
|
if(NOT wxHAVE_CXX11)
|
||||||
|
# If not, request it explicitly and let CMake check if it's supported.
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
|
@ -411,7 +430,7 @@ if(wxUSE_GUI)
|
||||||
else()
|
else()
|
||||||
find_package(OpenGL)
|
find_package(OpenGL)
|
||||||
if(OPENGL_FOUND)
|
if(OPENGL_FOUND)
|
||||||
foreach(gltarget OpenGL::GL OpenGL::GLU OpenGL::OpenGL)
|
foreach(gltarget OpenGL::GL OpenGL::OpenGL)
|
||||||
if(TARGET ${gltarget})
|
if(TARGET ${gltarget})
|
||||||
set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
|
set(OPENGL_LIBRARIES ${gltarget} ${OPENGL_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -46,8 +46,6 @@ endif()
|
||||||
# support setting the C++ standard, present it an option to the user
|
# support setting the C++ standard, present it an option to the user
|
||||||
if(DEFINED CMAKE_CXX_STANDARD)
|
if(DEFINED CMAKE_CXX_STANDARD)
|
||||||
set(wxCXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD})
|
set(wxCXX_STANDARD_DEFAULT ${CMAKE_CXX_STANDARD})
|
||||||
elseif(APPLE)
|
|
||||||
set(wxCXX_STANDARD_DEFAULT 11)
|
|
||||||
else()
|
else()
|
||||||
set(wxCXX_STANDARD_DEFAULT COMPILER_DEFAULT)
|
set(wxCXX_STANDARD_DEFAULT COMPILER_DEFAULT)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -110,7 +110,7 @@ function(wx_check_cxx_source_compiles code res_var)
|
||||||
cmake_pop_check_state()
|
cmake_pop_check_state()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# wx_check_cxx_source_compiles(<code> <var> [headers...])
|
# wx_check_c_source_compiles(<code> <var> [headers...])
|
||||||
function(wx_check_c_source_compiles code res_var)
|
function(wx_check_c_source_compiles code res_var)
|
||||||
set(src)
|
set(src)
|
||||||
foreach(header ${ARGN})
|
foreach(header ${ARGN})
|
||||||
|
|
|
||||||
|
|
@ -379,6 +379,7 @@ QT_SRC=
|
||||||
src/qt/msgdlg.cpp
|
src/qt/msgdlg.cpp
|
||||||
src/qt/nonownedwnd.cpp
|
src/qt/nonownedwnd.cpp
|
||||||
src/qt/notebook.cpp
|
src/qt/notebook.cpp
|
||||||
|
src/qt/overlay.cpp
|
||||||
src/qt/pen.cpp
|
src/qt/pen.cpp
|
||||||
src/qt/popupwin.cpp
|
src/qt/popupwin.cpp
|
||||||
src/qt/printdlg.cpp
|
src/qt/printdlg.cpp
|
||||||
|
|
@ -454,6 +455,7 @@ BASE_CMN_SRC =
|
||||||
src/common/filtfind.cpp
|
src/common/filtfind.cpp
|
||||||
src/common/fmapbase.cpp
|
src/common/fmapbase.cpp
|
||||||
src/common/fs_arc.cpp
|
src/common/fs_arc.cpp
|
||||||
|
src/common/fs_data.cpp
|
||||||
src/common/fs_filter.cpp
|
src/common/fs_filter.cpp
|
||||||
src/common/hash.cpp
|
src/common/hash.cpp
|
||||||
src/common/hashmap.cpp
|
src/common/hashmap.cpp
|
||||||
|
|
@ -570,6 +572,7 @@ BASE_CMN_HDR =
|
||||||
wx/fontenc.h
|
wx/fontenc.h
|
||||||
wx/fontmap.h
|
wx/fontmap.h
|
||||||
wx/fs_arc.h
|
wx/fs_arc.h
|
||||||
|
wx/fs_data.h
|
||||||
wx/fs_filter.h
|
wx/fs_filter.h
|
||||||
wx/fs_mem.h
|
wx/fs_mem.h
|
||||||
wx/fs_zip.h
|
wx/fs_zip.h
|
||||||
|
|
@ -1149,6 +1152,7 @@ GUI_CMN_HDR =
|
||||||
wx/peninfobase.h
|
wx/peninfobase.h
|
||||||
wx/persist.h
|
wx/persist.h
|
||||||
wx/persist/bookctrl.h
|
wx/persist/bookctrl.h
|
||||||
|
wx/persist/combobox.h
|
||||||
wx/persist/dataview.h
|
wx/persist/dataview.h
|
||||||
wx/persist/splitter.h
|
wx/persist/splitter.h
|
||||||
wx/persist/toplevel.h
|
wx/persist/toplevel.h
|
||||||
|
|
|
||||||
|
|
@ -500,6 +500,7 @@ MONODLL_OBJECTS = \
|
||||||
$(OBJS)\monodll_common_secretstore.o \
|
$(OBJS)\monodll_common_secretstore.o \
|
||||||
$(OBJS)\monodll_lzmastream.o \
|
$(OBJS)\monodll_lzmastream.o \
|
||||||
$(OBJS)\monodll_common_uilocale.o \
|
$(OBJS)\monodll_common_uilocale.o \
|
||||||
|
$(OBJS)\monodll_fs_data.o \
|
||||||
$(OBJS)\monodll_basemsw.o \
|
$(OBJS)\monodll_basemsw.o \
|
||||||
$(OBJS)\monodll_crashrpt.o \
|
$(OBJS)\monodll_crashrpt.o \
|
||||||
$(OBJS)\monodll_debughlp.o \
|
$(OBJS)\monodll_debughlp.o \
|
||||||
|
|
@ -661,6 +662,7 @@ MONOLIB_OBJECTS = \
|
||||||
$(OBJS)\monolib_common_secretstore.o \
|
$(OBJS)\monolib_common_secretstore.o \
|
||||||
$(OBJS)\monolib_lzmastream.o \
|
$(OBJS)\monolib_lzmastream.o \
|
||||||
$(OBJS)\monolib_common_uilocale.o \
|
$(OBJS)\monolib_common_uilocale.o \
|
||||||
|
$(OBJS)\monolib_fs_data.o \
|
||||||
$(OBJS)\monolib_basemsw.o \
|
$(OBJS)\monolib_basemsw.o \
|
||||||
$(OBJS)\monolib_crashrpt.o \
|
$(OBJS)\monolib_crashrpt.o \
|
||||||
$(OBJS)\monolib_debughlp.o \
|
$(OBJS)\monolib_debughlp.o \
|
||||||
|
|
@ -810,6 +812,7 @@ BASEDLL_OBJECTS = \
|
||||||
$(OBJS)\basedll_common_secretstore.o \
|
$(OBJS)\basedll_common_secretstore.o \
|
||||||
$(OBJS)\basedll_lzmastream.o \
|
$(OBJS)\basedll_lzmastream.o \
|
||||||
$(OBJS)\basedll_common_uilocale.o \
|
$(OBJS)\basedll_common_uilocale.o \
|
||||||
|
$(OBJS)\basedll_fs_data.o \
|
||||||
$(OBJS)\basedll_basemsw.o \
|
$(OBJS)\basedll_basemsw.o \
|
||||||
$(OBJS)\basedll_crashrpt.o \
|
$(OBJS)\basedll_crashrpt.o \
|
||||||
$(OBJS)\basedll_debughlp.o \
|
$(OBJS)\basedll_debughlp.o \
|
||||||
|
|
@ -940,6 +943,7 @@ BASELIB_OBJECTS = \
|
||||||
$(OBJS)\baselib_common_secretstore.o \
|
$(OBJS)\baselib_common_secretstore.o \
|
||||||
$(OBJS)\baselib_lzmastream.o \
|
$(OBJS)\baselib_lzmastream.o \
|
||||||
$(OBJS)\baselib_common_uilocale.o \
|
$(OBJS)\baselib_common_uilocale.o \
|
||||||
|
$(OBJS)\baselib_fs_data.o \
|
||||||
$(OBJS)\baselib_basemsw.o \
|
$(OBJS)\baselib_basemsw.o \
|
||||||
$(OBJS)\baselib_crashrpt.o \
|
$(OBJS)\baselib_crashrpt.o \
|
||||||
$(OBJS)\baselib_debughlp.o \
|
$(OBJS)\baselib_debughlp.o \
|
||||||
|
|
@ -5959,7 +5963,7 @@ ifeq ($(USE_OPENGL),1)
|
||||||
$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).dll: $(GLDLL_OBJECTS) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxregexu$(WXDEBUGFLAG).a $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(__wxlexilla) $(OBJS)\gldll_version_rc.o $(__basedll___depname) $(__coredll___depname) $(__monodll___depname)
|
$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).dll: $(GLDLL_OBJECTS) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxregexu$(WXDEBUGFLAG).a $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(__wxlexilla) $(OBJS)\gldll_version_rc.o $(__basedll___depname) $(__coredll___depname) $(__monodll___depname)
|
||||||
$(foreach f,$(subst \,/,$(GLDLL_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
$(foreach f,$(subst \,/,$(GLDLL_OBJECTS)),$(shell echo $f >> $(subst \,/,$@).rsp.tmp))
|
||||||
@move /y $@.rsp.tmp $@.rsp >nul
|
@move /y $@.rsp.tmp $@.rsp >nul
|
||||||
$(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--out-implib=$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.a $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p) -lopengl32 -lglu32
|
$(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ @$@.rsp $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--out-implib=$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.a $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregexu$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p) -lopengl32
|
||||||
@-del $@.rsp
|
@-del $@.rsp
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
@ -7243,6 +7247,9 @@ $(OBJS)\monodll_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||||
$(OBJS)\monodll_common_uilocale.o: ../../src/common/uilocale.cpp
|
$(OBJS)\monodll_common_uilocale.o: ../../src/common/uilocale.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_data.o: ../../src/common/fs_data.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monodll_basemsw.o: ../../src/msw/basemsw.cpp
|
$(OBJS)\monodll_basemsw.o: ../../src/msw/basemsw.cpp
|
||||||
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|
@ -9837,6 +9844,9 @@ $(OBJS)\monolib_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||||
$(OBJS)\monolib_common_uilocale.o: ../../src/common/uilocale.cpp
|
$(OBJS)\monolib_common_uilocale.o: ../../src/common/uilocale.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_data.o: ../../src/common/fs_data.cpp
|
||||||
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\monolib_basemsw.o: ../../src/msw/basemsw.cpp
|
$(OBJS)\monolib_basemsw.o: ../../src/msw/basemsw.cpp
|
||||||
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|
@ -12431,6 +12441,9 @@ $(OBJS)\basedll_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||||
$(OBJS)\basedll_common_uilocale.o: ../../src/common/uilocale.cpp
|
$(OBJS)\basedll_common_uilocale.o: ../../src/common/uilocale.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_data.o: ../../src/common/fs_data.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\basedll_basemsw.o: ../../src/msw/basemsw.cpp
|
$(OBJS)\basedll_basemsw.o: ../../src/msw/basemsw.cpp
|
||||||
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASEDLL_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|
@ -12773,6 +12786,9 @@ $(OBJS)\baselib_lzmastream.o: ../../src/common/lzmastream.cpp
|
||||||
$(OBJS)\baselib_common_uilocale.o: ../../src/common/uilocale.cpp
|
$(OBJS)\baselib_common_uilocale.o: ../../src/common/uilocale.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_data.o: ../../src/common/fs_data.cpp
|
||||||
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
$(OBJS)\baselib_basemsw.o: ../../src/msw/basemsw.cpp
|
$(OBJS)\baselib_basemsw.o: ../../src/msw/basemsw.cpp
|
||||||
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
$(CXX) -c -o $@ $(BASELIB_CXXFLAGS) $(CPPDEPS) $<
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -536,6 +536,7 @@ MONODLL_OBJECTS = \
|
||||||
$(OBJS)\monodll_common_secretstore.obj \
|
$(OBJS)\monodll_common_secretstore.obj \
|
||||||
$(OBJS)\monodll_lzmastream.obj \
|
$(OBJS)\monodll_lzmastream.obj \
|
||||||
$(OBJS)\monodll_common_uilocale.obj \
|
$(OBJS)\monodll_common_uilocale.obj \
|
||||||
|
$(OBJS)\monodll_fs_data.obj \
|
||||||
$(OBJS)\monodll_basemsw.obj \
|
$(OBJS)\monodll_basemsw.obj \
|
||||||
$(OBJS)\monodll_crashrpt.obj \
|
$(OBJS)\monodll_crashrpt.obj \
|
||||||
$(OBJS)\monodll_debughlp.obj \
|
$(OBJS)\monodll_debughlp.obj \
|
||||||
|
|
@ -706,6 +707,7 @@ MONOLIB_OBJECTS = \
|
||||||
$(OBJS)\monolib_common_secretstore.obj \
|
$(OBJS)\monolib_common_secretstore.obj \
|
||||||
$(OBJS)\monolib_lzmastream.obj \
|
$(OBJS)\monolib_lzmastream.obj \
|
||||||
$(OBJS)\monolib_common_uilocale.obj \
|
$(OBJS)\monolib_common_uilocale.obj \
|
||||||
|
$(OBJS)\monolib_fs_data.obj \
|
||||||
$(OBJS)\monolib_basemsw.obj \
|
$(OBJS)\monolib_basemsw.obj \
|
||||||
$(OBJS)\monolib_crashrpt.obj \
|
$(OBJS)\monolib_crashrpt.obj \
|
||||||
$(OBJS)\monolib_debughlp.obj \
|
$(OBJS)\monolib_debughlp.obj \
|
||||||
|
|
@ -864,6 +866,7 @@ BASEDLL_OBJECTS = \
|
||||||
$(OBJS)\basedll_common_secretstore.obj \
|
$(OBJS)\basedll_common_secretstore.obj \
|
||||||
$(OBJS)\basedll_lzmastream.obj \
|
$(OBJS)\basedll_lzmastream.obj \
|
||||||
$(OBJS)\basedll_common_uilocale.obj \
|
$(OBJS)\basedll_common_uilocale.obj \
|
||||||
|
$(OBJS)\basedll_fs_data.obj \
|
||||||
$(OBJS)\basedll_basemsw.obj \
|
$(OBJS)\basedll_basemsw.obj \
|
||||||
$(OBJS)\basedll_crashrpt.obj \
|
$(OBJS)\basedll_crashrpt.obj \
|
||||||
$(OBJS)\basedll_debughlp.obj \
|
$(OBJS)\basedll_debughlp.obj \
|
||||||
|
|
@ -1004,6 +1007,7 @@ BASELIB_OBJECTS = \
|
||||||
$(OBJS)\baselib_common_secretstore.obj \
|
$(OBJS)\baselib_common_secretstore.obj \
|
||||||
$(OBJS)\baselib_lzmastream.obj \
|
$(OBJS)\baselib_lzmastream.obj \
|
||||||
$(OBJS)\baselib_common_uilocale.obj \
|
$(OBJS)\baselib_common_uilocale.obj \
|
||||||
|
$(OBJS)\baselib_fs_data.obj \
|
||||||
$(OBJS)\baselib_basemsw.obj \
|
$(OBJS)\baselib_basemsw.obj \
|
||||||
$(OBJS)\baselib_crashrpt.obj \
|
$(OBJS)\baselib_crashrpt.obj \
|
||||||
$(OBJS)\baselib_debughlp.obj \
|
$(OBJS)\baselib_debughlp.obj \
|
||||||
|
|
@ -6436,7 +6440,7 @@ wxstc: $(____wxstc_namedll_DEP) $(____wxstc_namelib_DEP)
|
||||||
!if "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_OPENGL)" == "1"
|
!if "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_OPENGL)" == "1"
|
||||||
$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\gldll_dummy.obj $(GLDLL_OBJECTS) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregexu$(WXDEBUGFLAG).lib $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(__wxlexilla) $(OBJS)\gldll_version.res $(__basedll___depname) $(__coredll___depname) $(__monodll___depname)
|
$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\gldll_dummy.obj $(GLDLL_OBJECTS) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregexu$(WXDEBUGFLAG).lib $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(__wxlexilla) $(OBJS)\gldll_version.res $(__basedll___depname) $(__coredll___depname) $(__monodll___depname)
|
||||||
link /DLL /NOLOGO /OUT:$@ $(__DEBUGINFO_6) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).pdb" $(__DEBUGINFO_619) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
link /DLL /NOLOGO /OUT:$@ $(__DEBUGINFO_6) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl$(WXCOMPILER)$(VENDORTAG).pdb" $(__DEBUGINFO_619) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<<
|
||||||
$(GLDLL_OBJECTS) $(GLDLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p) opengl32.lib glu32.lib /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
|
$(GLDLL_OBJECTS) $(GLDLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregexu$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib shlwapi.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib version.lib ws2_32.lib wininet.lib $(__WXLIBGLDEP_CORE_p) $(__WXLIBGLDEP_BASE_p) $(__WXLIB_MONO_p) opengl32.lib /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)u$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_gl.lib
|
||||||
<<
|
<<
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
|
@ -7700,6 +7704,9 @@ $(OBJS)\monodll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||||
$(OBJS)\monodll_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
$(OBJS)\monodll_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
||||||
|
|
||||||
|
$(OBJS)\monodll_fs_data.obj: ..\..\src\common\fs_data.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\fs_data.cpp
|
||||||
|
|
||||||
$(OBJS)\monodll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
$(OBJS)\monodll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||||
|
|
||||||
|
|
@ -10294,6 +10301,9 @@ $(OBJS)\monolib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||||
$(OBJS)\monolib_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
$(OBJS)\monolib_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
||||||
|
|
||||||
|
$(OBJS)\monolib_fs_data.obj: ..\..\src\common\fs_data.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\fs_data.cpp
|
||||||
|
|
||||||
$(OBJS)\monolib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
$(OBJS)\monolib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||||
|
|
||||||
|
|
@ -12888,6 +12898,9 @@ $(OBJS)\basedll_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||||
$(OBJS)\basedll_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
$(OBJS)\basedll_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
||||||
|
|
||||||
|
$(OBJS)\basedll_fs_data.obj: ..\..\src\common\fs_data.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\common\fs_data.cpp
|
||||||
|
|
||||||
$(OBJS)\basedll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
$(OBJS)\basedll_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(BASEDLL_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||||
|
|
||||||
|
|
@ -13230,6 +13243,9 @@ $(OBJS)\baselib_lzmastream.obj: ..\..\src\common\lzmastream.cpp
|
||||||
$(OBJS)\baselib_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
$(OBJS)\baselib_common_uilocale.obj: ..\..\src\common\uilocale.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\uilocale.cpp
|
||||||
|
|
||||||
|
$(OBJS)\baselib_fs_data.obj: ..\..\src\common\fs_data.cpp
|
||||||
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\common\fs_data.cpp
|
||||||
|
|
||||||
$(OBJS)\baselib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
$(OBJS)\baselib_basemsw.obj: ..\..\src\msw\basemsw.cpp
|
||||||
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
$(CXX) /c /nologo /TP /Fo$@ $(BASELIB_CXXFLAGS) ..\..\src\msw\basemsw.cpp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -622,6 +622,7 @@
|
||||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
||||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(IntDir)common_%(Filename).obj</ObjectFileName>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\common\fs_data.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="..\..\src\msw\version.rc">
|
<ResourceCompile Include="..\..\src\msw\version.rc">
|
||||||
|
|
@ -841,6 +842,7 @@
|
||||||
<ClInclude Include="..\..\include\wx\lzmastream.h" />
|
<ClInclude Include="..\..\include\wx\lzmastream.h" />
|
||||||
<ClInclude Include="..\..\include\wx\localedefs.h" />
|
<ClInclude Include="..\..\include\wx\localedefs.h" />
|
||||||
<ClInclude Include="..\..\include\wx\uilocale.h" />
|
<ClInclude Include="..\..\include\wx\uilocale.h" />
|
||||||
|
<ClInclude Include="..\..\include\wx\fs_data.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,9 @@
|
||||||
<ClCompile Include="..\..\src\common\fs_arc.cpp">
|
<ClCompile Include="..\..\src\common\fs_arc.cpp">
|
||||||
<Filter>Common Sources</Filter>
|
<Filter>Common Sources</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\common\fs_data.cpp">
|
||||||
|
<Filter>Common Sources</Filter>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="..\..\src\common\fs_filter.cpp">
|
<ClCompile Include="..\..\src\common\fs_filter.cpp">
|
||||||
<Filter>Common Sources</Filter>
|
<Filter>Common Sources</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
@ -535,6 +538,9 @@
|
||||||
<ClInclude Include="..\..\include\wx\fs_arc.h">
|
<ClInclude Include="..\..\include\wx\fs_arc.h">
|
||||||
<Filter>Common Headers</Filter>
|
<Filter>Common Headers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\include\wx\fs_data.h">
|
||||||
|
<Filter>Common Headers</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\include\wx\fs_filter.h">
|
<ClInclude Include="..\..\include\wx\fs_filter.h">
|
||||||
<Filter>Common Headers</Filter>
|
<Filter>Common Headers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
|
||||||
|
|
@ -1518,6 +1518,7 @@
|
||||||
<ClInclude Include="..\..\include\wx\filedlgcustomize.h" />
|
<ClInclude Include="..\..\include\wx\filedlgcustomize.h" />
|
||||||
<ClInclude Include="..\..\include\wx\compositebookctrl.h" />
|
<ClInclude Include="..\..\include\wx\compositebookctrl.h" />
|
||||||
<ClInclude Include="..\..\include\wx\msw\darkmode.h" />
|
<ClInclude Include="..\..\include\wx\msw\darkmode.h" />
|
||||||
|
<ClInclude Include="..\..\include\wx\persist\combobox.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|
|
||||||
|
|
@ -2056,6 +2056,9 @@
|
||||||
<ClInclude Include="..\..\include\wx\persist\bookctrl.h">
|
<ClInclude Include="..\..\include\wx\persist\bookctrl.h">
|
||||||
<Filter>Common Headers</Filter>
|
<Filter>Common Headers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\include\wx\persist\combobox.h">
|
||||||
|
<Filter>Common Headers</Filter>
|
||||||
|
</ClInclude>
|
||||||
<ClInclude Include="..\..\include\wx\persist\dataview.h">
|
<ClInclude Include="..\..\include\wx\persist\dataview.h">
|
||||||
<Filter>Common Headers</Filter>
|
<Filter>Common Headers</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
|
||||||
|
|
@ -306,7 +306,7 @@
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
|
@ -347,7 +347,7 @@
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
|
@ -388,7 +388,7 @@
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
|
@ -432,7 +432,7 @@
|
||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
<AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
|
||||||
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;glu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>wxtiff$(wxSuffixDebug).lib;wxjpeg$(wxSuffixDebug).lib;wxpng$(wxSuffixDebug).lib;wxzlib$(wxSuffixDebug).lib;wxregexu$(wxSuffixDebug).lib;wxexpat$(wxSuffixDebug).lib;$(wxToolkitLibNamePrefix)core.lib;$(wxBaseLibNamePrefix).lib;opengl32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
<ImportLibrary>$(OutDir)$(wxToolkitLibNamePrefix)$(ProjectName).lib</ImportLibrary>
|
||||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||||
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
<AdditionalLibraryDirectories>$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
|
@ -494,4 +494,4 @@
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
<wxCompilerPrefix>vc</wxCompilerPrefix>
|
<wxCompilerPrefix>vc</wxCompilerPrefix>
|
||||||
<wxCfg>
|
<wxCfg>
|
||||||
</wxCfg>
|
</wxCfg>
|
||||||
|
<wxSuffix>u</wxSuffix>
|
||||||
<wxVendor>custom</wxVendor>
|
<wxVendor>custom</wxVendor>
|
||||||
<wxRuntimeLibs>dynamic</wxRuntimeLibs>
|
<wxRuntimeLibs>dynamic</wxRuntimeLibs>
|
||||||
<wxReleaseRuntimeLibrary>MultiThreadedDLL</wxReleaseRuntimeLibrary>
|
<wxReleaseRuntimeLibrary>MultiThreadedDLL</wxReleaseRuntimeLibrary>
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ case $(uname -s) in
|
||||||
|
|
||||||
extra_deps="$extra_deps \
|
extra_deps="$extra_deps \
|
||||||
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
|
||||||
libglu1-mesa-dev"
|
"
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Install locales used by our tests to run all the tests instead of
|
# Install locales used by our tests to run all the tests instead of
|
||||||
|
|
@ -128,7 +128,7 @@ case $(uname -s) in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f /etc/redhat-release ]; then
|
if [ -f /etc/redhat-release ]; then
|
||||||
dnf install -y ${WX_EXTRA_PACKAGES} expat-devel findutils g++ git-core gspell-devel gstreamer1-plugins-base-devel gtk3-devel make libcurl-devel libGLU-devel libjpeg-devel libnotify-devel libpng-devel libSM-devel libsecret-devel libtiff-devel SDL-devel webkit2gtk4.1-devel zlib-devel
|
dnf install -y ${WX_EXTRA_PACKAGES} expat-devel findutils g++ git-core gspell-devel gstreamer1-plugins-base-devel gtk3-devel make libcurl-devel libjpeg-devel libnotify-devel libpng-devel libSM-devel libsecret-devel libtiff-devel SDL-devel webkit2gtk4.1-devel zlib-devel
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
|
||||||
393
configure
vendored
393
configure
vendored
|
|
@ -962,8 +962,6 @@ WAYLAND_EGL_LIBS
|
||||||
WAYLAND_EGL_CFLAGS
|
WAYLAND_EGL_CFLAGS
|
||||||
EGL_LIBS
|
EGL_LIBS
|
||||||
EGL_CFLAGS
|
EGL_CFLAGS
|
||||||
GLU_LIBS
|
|
||||||
GLU_CFLAGS
|
|
||||||
GL_LIBS
|
GL_LIBS
|
||||||
GL_CFLAGS
|
GL_CFLAGS
|
||||||
SM_LIBS
|
SM_LIBS
|
||||||
|
|
@ -1421,8 +1419,6 @@ SM_CFLAGS
|
||||||
SM_LIBS
|
SM_LIBS
|
||||||
GL_CFLAGS
|
GL_CFLAGS
|
||||||
GL_LIBS
|
GL_LIBS
|
||||||
GLU_CFLAGS
|
|
||||||
GLU_LIBS
|
|
||||||
EGL_CFLAGS
|
EGL_CFLAGS
|
||||||
EGL_LIBS
|
EGL_LIBS
|
||||||
WAYLAND_EGL_CFLAGS
|
WAYLAND_EGL_CFLAGS
|
||||||
|
|
@ -2458,8 +2454,6 @@ Some influential environment variables:
|
||||||
SM_LIBS linker flags for SM, overriding pkg-config
|
SM_LIBS linker flags for SM, overriding pkg-config
|
||||||
GL_CFLAGS C compiler flags for GL, overriding pkg-config
|
GL_CFLAGS C compiler flags for GL, overriding pkg-config
|
||||||
GL_LIBS linker flags for GL, overriding pkg-config
|
GL_LIBS linker flags for GL, overriding pkg-config
|
||||||
GLU_CFLAGS C compiler flags for GLU, overriding pkg-config
|
|
||||||
GLU_LIBS linker flags for GLU, overriding pkg-config
|
|
||||||
EGL_CFLAGS C compiler flags for EGL, overriding pkg-config
|
EGL_CFLAGS C compiler flags for EGL, overriding pkg-config
|
||||||
EGL_LIBS linker flags for EGL, overriding pkg-config
|
EGL_LIBS linker flags for EGL, overriding pkg-config
|
||||||
WAYLAND_EGL_CFLAGS
|
WAYLAND_EGL_CFLAGS
|
||||||
|
|
@ -22922,10 +22916,8 @@ $as_echo "$as_me: WARNING: --enable-macosx_arch is ignored when --enable-univers
|
||||||
|
|
||||||
if test "x$wxUSE_UNIVERSAL_BINARY" != xyes; then
|
if test "x$wxUSE_UNIVERSAL_BINARY" != xyes; then
|
||||||
OSX_ARCH_OPTS=$wxUSE_UNIVERSAL_BINARY
|
OSX_ARCH_OPTS=$wxUSE_UNIVERSAL_BINARY
|
||||||
else OSX_ARCH_OPTS="i386"
|
else
|
||||||
if test "$wxUSE_OSX_COCOA" = 1; then
|
OSX_ARCH_OPTS=arm64,x86_64
|
||||||
OSX_ARCH_OPTS="$OSX_ARCH_OPTS,x86_64"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for architectures to use in universal binary" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for architectures to use in universal binary" >&5
|
||||||
|
|
@ -30212,7 +30204,7 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
if test "$wxUSE_OSX_COCOA" = 1; then
|
if test "$wxUSE_OSX_COCOA" = 1; then
|
||||||
OPENGL_LIBS="-framework OpenGL -framework AGL"
|
OPENGL_LIBS="-framework OpenGL -framework AGL"
|
||||||
elif test "$wxUSE_MSW" = 1; then
|
elif test "$wxUSE_MSW" = 1; then
|
||||||
OPENGL_LIBS="-lopengl32 -lglu32"
|
OPENGL_LIBS="-lopengl32"
|
||||||
elif test "$wxUSE_X11" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_QT" = 1; then
|
elif test "$wxUSE_X11" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_QT" = 1; then
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL headers" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL headers" >&5
|
||||||
|
|
@ -30253,10 +30245,6 @@ $as_echo "not found" >&6; }
|
||||||
"
|
"
|
||||||
if test "x$ac_cv_header_GL_gl_h" = xyes; then :
|
if test "x$ac_cv_header_GL_gl_h" = xyes; then :
|
||||||
|
|
||||||
ac_fn_c_check_header_compile "$LINENO" "GL/glu.h" "ac_cv_header_GL_glu_h" "
|
|
||||||
"
|
|
||||||
if test "x$ac_cv_header_GL_glu_h" = xyes; then :
|
|
||||||
|
|
||||||
found_gl=0
|
found_gl=0
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30619,369 +30607,8 @@ fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
ac_find_libraries=
|
|
||||||
|
|
||||||
fl_pkgname=`echo "GLU" | tr [:upper:] [:lower:]`
|
|
||||||
|
|
||||||
|
|
||||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
|
||||||
if test -n "$ac_tool_prefix"; then
|
|
||||||
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
|
||||||
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
|
||||||
if ${ac_cv_path_PKG_CONFIG+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
case $PKG_CONFIG in
|
|
||||||
[\\/]* | ?:[\\/]*)
|
|
||||||
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
||||||
for as_dir in $PATH
|
|
||||||
do
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
test -z "$as_dir" && as_dir=.
|
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
|
||||||
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
|
||||||
if test -n "$PKG_CONFIG"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
|
|
||||||
$as_echo "$PKG_CONFIG" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test -z "$ac_cv_path_PKG_CONFIG"; then
|
|
||||||
ac_pt_PKG_CONFIG=$PKG_CONFIG
|
|
||||||
# Extract the first word of "pkg-config", so it can be a program name with args.
|
|
||||||
set dummy pkg-config; ac_word=$2
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
|
||||||
$as_echo_n "checking for $ac_word... " >&6; }
|
|
||||||
if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
case $ac_pt_PKG_CONFIG in
|
|
||||||
[\\/]* | ?:[\\/]*)
|
|
||||||
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
||||||
for as_dir in $PATH
|
|
||||||
do
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
test -z "$as_dir" && as_dir=.
|
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
|
||||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
|
||||||
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
|
|
||||||
if test -n "$ac_pt_PKG_CONFIG"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
|
|
||||||
$as_echo "$ac_pt_PKG_CONFIG" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$ac_pt_PKG_CONFIG" = x; then
|
|
||||||
PKG_CONFIG=""
|
|
||||||
else
|
|
||||||
case $cross_compiling:$ac_tool_warned in
|
|
||||||
yes:)
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
|
||||||
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
|
||||||
ac_tool_warned=yes ;;
|
|
||||||
esac
|
|
||||||
PKG_CONFIG=$ac_pt_PKG_CONFIG
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test -n "$PKG_CONFIG"; then
|
|
||||||
_pkg_min_version=0.9.0
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
|
|
||||||
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
PKG_CONFIG=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi 6> /dev/null
|
|
||||||
|
|
||||||
pkg_failed=no
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLU" >&5
|
|
||||||
$as_echo_n "checking for GLU... " >&6; }
|
|
||||||
|
|
||||||
if test -n "$PKG_CONFIG"; then
|
|
||||||
if test -n "$GLU_CFLAGS"; then
|
|
||||||
pkg_cv_GLU_CFLAGS="$GLU_CFLAGS"
|
|
||||||
else
|
|
||||||
if test -n "$PKG_CONFIG" && \
|
|
||||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$fl_pkgname\""; } >&5
|
|
||||||
($PKG_CONFIG --exists --print-errors "$fl_pkgname") 2>&5
|
|
||||||
ac_status=$?
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
test $ac_status = 0; }; then
|
|
||||||
pkg_cv_GLU_CFLAGS=`$PKG_CONFIG --cflags "$fl_pkgname" 2>/dev/null`
|
|
||||||
else
|
|
||||||
pkg_failed=yes
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
pkg_failed=untried
|
|
||||||
fi
|
|
||||||
if test -n "$PKG_CONFIG"; then
|
|
||||||
if test -n "$GLU_LIBS"; then
|
|
||||||
pkg_cv_GLU_LIBS="$GLU_LIBS"
|
|
||||||
else
|
|
||||||
if test -n "$PKG_CONFIG" && \
|
|
||||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$fl_pkgname\""; } >&5
|
|
||||||
($PKG_CONFIG --exists --print-errors "$fl_pkgname") 2>&5
|
|
||||||
ac_status=$?
|
|
||||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
|
||||||
test $ac_status = 0; }; then
|
|
||||||
pkg_cv_GLU_LIBS=`$PKG_CONFIG --libs "$fl_pkgname" 2>/dev/null`
|
|
||||||
else
|
|
||||||
pkg_failed=yes
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
pkg_failed=untried
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test $pkg_failed = yes; then
|
|
||||||
|
|
||||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
|
||||||
_pkg_short_errors_supported=yes
|
|
||||||
else
|
|
||||||
_pkg_short_errors_supported=no
|
|
||||||
fi
|
|
||||||
if test $_pkg_short_errors_supported = yes; then
|
|
||||||
GLU_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$fl_pkgname"`
|
|
||||||
else
|
|
||||||
GLU_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$fl_pkgname"`
|
|
||||||
fi
|
|
||||||
# Put the nasty error message in config.log where it belongs
|
|
||||||
echo "$GLU_PKG_ERRORS" >&5
|
|
||||||
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" = "x"; then
|
|
||||||
if test "xgluBeginCurve" != "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gluBeginCurve in -lGLU" >&5
|
|
||||||
$as_echo_n "checking for gluBeginCurve in -lGLU... " >&6; }
|
|
||||||
if ${ac_cv_lib_GLU_gluBeginCurve+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
LIBS="-lGLU $LIBS"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
|
|
||||||
/* Override any GCC internal prototype to avoid an error.
|
|
||||||
Use char because int might match the return type of a GCC
|
|
||||||
builtin and then its argument prototype would still apply. */
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
#endif
|
|
||||||
char gluBeginCurve ();
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
return gluBeginCurve ();
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
ac_cv_lib_GLU_gluBeginCurve=yes
|
|
||||||
else
|
|
||||||
ac_cv_lib_GLU_gluBeginCurve=no
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
|
||||||
LIBS=$ac_check_lib_save_LIBS
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLU_gluBeginCurve" >&5
|
|
||||||
$as_echo "$ac_cv_lib_GLU_gluBeginCurve" >&6; }
|
|
||||||
if test "x$ac_cv_lib_GLU_gluBeginCurve" = xyes; then :
|
|
||||||
ac_find_libraries="std"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" = "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking elsewhere" >&5
|
|
||||||
$as_echo_n "checking elsewhere... " >&6; }
|
|
||||||
|
|
||||||
ac_find_libraries=
|
|
||||||
for ac_dir in /opt/graphics/OpenGL/lib $SEARCH_LIB
|
|
||||||
do
|
|
||||||
for ac_extension in a so sl dylib dll.a; do
|
|
||||||
if test -f "$ac_dir/libGLU.$ac_extension"; then
|
|
||||||
ac_find_libraries=$ac_dir
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" != "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
elif test $pkg_failed = untried; then
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" = "x"; then
|
|
||||||
if test "xgluBeginCurve" != "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gluBeginCurve in -lGLU" >&5
|
|
||||||
$as_echo_n "checking for gluBeginCurve in -lGLU... " >&6; }
|
|
||||||
if ${ac_cv_lib_GLU_gluBeginCurve+:} false; then :
|
|
||||||
$as_echo_n "(cached) " >&6
|
|
||||||
else
|
|
||||||
ac_check_lib_save_LIBS=$LIBS
|
|
||||||
LIBS="-lGLU $LIBS"
|
|
||||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
||||||
/* end confdefs.h. */
|
|
||||||
|
|
||||||
/* Override any GCC internal prototype to avoid an error.
|
|
||||||
Use char because int might match the return type of a GCC
|
|
||||||
builtin and then its argument prototype would still apply. */
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C"
|
|
||||||
#endif
|
|
||||||
char gluBeginCurve ();
|
|
||||||
int
|
|
||||||
main ()
|
|
||||||
{
|
|
||||||
return gluBeginCurve ();
|
|
||||||
;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
_ACEOF
|
|
||||||
if ac_fn_c_try_link "$LINENO"; then :
|
|
||||||
ac_cv_lib_GLU_gluBeginCurve=yes
|
|
||||||
else
|
|
||||||
ac_cv_lib_GLU_gluBeginCurve=no
|
|
||||||
fi
|
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
|
||||||
LIBS=$ac_check_lib_save_LIBS
|
|
||||||
fi
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLU_gluBeginCurve" >&5
|
|
||||||
$as_echo "$ac_cv_lib_GLU_gluBeginCurve" >&6; }
|
|
||||||
if test "x$ac_cv_lib_GLU_gluBeginCurve" = xyes; then :
|
|
||||||
ac_find_libraries="std"
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" = "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking elsewhere" >&5
|
|
||||||
$as_echo_n "checking elsewhere... " >&6; }
|
|
||||||
|
|
||||||
ac_find_libraries=
|
|
||||||
for ac_dir in /opt/graphics/OpenGL/lib $SEARCH_LIB
|
|
||||||
do
|
|
||||||
for ac_extension in a so sl dylib dll.a; do
|
|
||||||
if test -f "$ac_dir/libGLU.$ac_extension"; then
|
|
||||||
ac_find_libraries=$ac_dir
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
if test "x$ac_find_libraries" != "x"; then
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
else
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
|
||||||
$as_echo "no" >&6; }
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
else
|
|
||||||
GLU_CFLAGS=$pkg_cv_GLU_CFLAGS
|
|
||||||
GLU_LIBS=$pkg_cv_GLU_LIBS
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
|
||||||
$as_echo "yes" >&6; }
|
|
||||||
|
|
||||||
ac_find_libraries="std"
|
|
||||||
|
|
||||||
eval ac_find_cflags=\$GLU_CFLAGS
|
|
||||||
eval fl_libs=\$GLU_LIBS
|
|
||||||
|
|
||||||
for fl_path in $fl_libs
|
|
||||||
do
|
|
||||||
if test `echo "$fl_path" | cut -c 1-2` = "-L"; then
|
|
||||||
ac_find_libraries=`echo "$fl_path" | cut -c 3-`
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$ac_find_libraries" != "" ; then
|
|
||||||
if test "$ac_find_libraries" != "std" ; then
|
|
||||||
|
|
||||||
if test "$ac_find_libraries" = "default location"; then
|
|
||||||
ac_path_to_link=""
|
|
||||||
else
|
|
||||||
echo "$LDFLAGS" | grep "\-L$ac_find_libraries" > /dev/null
|
|
||||||
result=$?
|
|
||||||
if test $result = 0; then
|
|
||||||
ac_path_to_link=""
|
|
||||||
else
|
|
||||||
ac_path_to_link=" -L$ac_find_libraries"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$ac_path_to_link" != " -L/usr/lib" -a \
|
|
||||||
"$ac_path_to_link" != "$LDFLAGS_GL" ; then
|
|
||||||
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
found_gl=1
|
found_gl=1
|
||||||
OPENGL_LIBS="-lGL -lGLU"
|
OPENGL_LIBS="-lGL"
|
||||||
|
|
||||||
if test "$WXGTK3" = 1; then
|
if test "$WXGTK3" = 1; then
|
||||||
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
||||||
|
|
@ -31148,7 +30775,6 @@ $as_echo "$as_me: wxGLCanvas will not have Wayland support" >&6;}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$found_gl" != 1; then
|
if test "$found_gl" != 1; then
|
||||||
|
|
@ -31511,7 +31137,7 @@ fi
|
||||||
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
OPENGL_LIBS="-lMesaGL -lMesaGLU"
|
OPENGL_LIBS="-lMesaGL"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -31519,10 +31145,6 @@ fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if test "x$OPENGL_LIBS" = "x"; then
|
if test "x$OPENGL_LIBS" = "x"; then
|
||||||
if test "$wxUSE_OPENGL" = "yes"; then
|
if test "$wxUSE_OPENGL" = "yes"; then
|
||||||
as_fn_error $? "OpenGL libraries not available" "$LINENO" 5
|
as_fn_error $? "OpenGL libraries not available" "$LINENO" 5
|
||||||
|
|
@ -43580,10 +43202,7 @@ for subdir in $SUBDIRS; do
|
||||||
makefiles="samples/$subtree/Makefile.in $makefiles"
|
makefiles="samples/$subtree/Makefile.in $makefiles"
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
disabled_var=DISABLED_`echo $subdir | tr '[a-z]' '[A-Z]'`
|
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
|
||||||
eval "disabled=\$$disabled_var"
|
|
||||||
disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
|
|
||||||
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"`
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if test ${subdir} = "samples"; then
|
if test ${subdir} = "samples"; then
|
||||||
|
|
|
||||||
41
configure.ac
41
configure.ac
|
|
@ -1188,10 +1188,14 @@ if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then
|
||||||
|
|
||||||
if test "x$wxUSE_UNIVERSAL_BINARY" != xyes; then
|
if test "x$wxUSE_UNIVERSAL_BINARY" != xyes; then
|
||||||
OSX_ARCH_OPTS=$wxUSE_UNIVERSAL_BINARY
|
OSX_ARCH_OPTS=$wxUSE_UNIVERSAL_BINARY
|
||||||
else dnl Use all architectures supported
|
else
|
||||||
OSX_ARCH_OPTS="i386"
|
dnl Use default architectures for the universal binaries: x86_64 is
|
||||||
if test "$wxUSE_OSX_COCOA" = 1; then
|
dnl currently supported everywhere...
|
||||||
OSX_ARCH_OPTS="$OSX_ARCH_OPTS,x86_64"
|
OSX_ARCH_OPTS=x86_64
|
||||||
|
|
||||||
|
dnl ... and non-ancient macOS versions also support ARM.
|
||||||
|
if [ `sw_vers -productVersion | sed 's/\..*//'` -gt 10 ]; then
|
||||||
|
OSX_ARCH_OPTS=arm64,$OSX_ARCH_OPTS
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
@ -3313,7 +3317,7 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
if test "$wxUSE_OSX_COCOA" = 1; then
|
if test "$wxUSE_OSX_COCOA" = 1; then
|
||||||
OPENGL_LIBS="-framework OpenGL -framework AGL"
|
OPENGL_LIBS="-framework OpenGL -framework AGL"
|
||||||
elif test "$wxUSE_MSW" = 1; then
|
elif test "$wxUSE_MSW" = 1; then
|
||||||
OPENGL_LIBS="-lopengl32 -lglu32"
|
OPENGL_LIBS="-lopengl32"
|
||||||
elif test "$wxUSE_X11" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_QT" = 1; then
|
elif test "$wxUSE_X11" = 1 -o "$wxUSE_GTK" = 1 -o "$wxUSE_QT" = 1; then
|
||||||
|
|
||||||
dnl adjust CPPFLAGS to include GL/gl.h location if necessary
|
dnl adjust CPPFLAGS to include GL/gl.h location if necessary
|
||||||
|
|
@ -3329,7 +3333,6 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_CHECK_HEADER(GL/gl.h, [
|
AC_CHECK_HEADER(GL/gl.h, [
|
||||||
AC_CHECK_HEADER(GL/glu.h, [
|
|
||||||
found_gl=0
|
found_gl=0
|
||||||
|
|
||||||
WX_FIND_LIB(GL, glBegin, [/opt/graphics/OpenGL/lib])
|
WX_FIND_LIB(GL, glBegin, [/opt/graphics/OpenGL/lib])
|
||||||
|
|
@ -3341,21 +3344,8 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl don't suppose that libGL and libGLU are always in the
|
|
||||||
dnl same directory -- this is not true for some common
|
|
||||||
dnl distributions
|
|
||||||
WX_FIND_LIB(GLU, gluBeginCurve, [/opt/graphics/OpenGL/lib])
|
|
||||||
if test "$ac_find_libraries" != "" ; then
|
|
||||||
if test "$ac_find_libraries" != "std" ; then
|
|
||||||
WX_LINK_PATH_EXIST([$ac_find_libraries],[$LDFLAGS])
|
|
||||||
if test "$ac_path_to_link" != " -L/usr/lib" -a \
|
|
||||||
"$ac_path_to_link" != "$LDFLAGS_GL" ; then
|
|
||||||
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
found_gl=1
|
found_gl=1
|
||||||
OPENGL_LIBS="-lGL -lGLU"
|
OPENGL_LIBS="-lGL"
|
||||||
|
|
||||||
if test "$WXGTK3" = 1; then
|
if test "$WXGTK3" = 1; then
|
||||||
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
if test "$wxUSE_GLCANVAS_EGL" != "no"; then
|
||||||
|
|
@ -3382,7 +3372,6 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$found_gl" != 1; then
|
if test "$found_gl" != 1; then
|
||||||
|
|
@ -3394,10 +3383,9 @@ if test "$wxUSE_OPENGL" = "yes" -o "$wxUSE_OPENGL" = "auto"; then
|
||||||
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
LDFLAGS_GL="$LDFLAGS_GL $ac_path_to_link"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
OPENGL_LIBS="-lMesaGL -lMesaGLU"
|
OPENGL_LIBS="-lMesaGL"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
],, [ ])
|
|
||||||
],
|
],
|
||||||
[],
|
[],
|
||||||
[ ])
|
[ ])
|
||||||
|
|
@ -8186,12 +8174,7 @@ for subdir in $SUBDIRS; do
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
dnl assume that everything compiles for utils &c
|
dnl assume that everything compiles for utils &c
|
||||||
dnl any that shouldn't be built can be added to
|
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in)`
|
||||||
dnl DISABLED_UTILS, DISABLED_DEMOS
|
|
||||||
disabled_var=DISABLED_`echo $subdir | tr '[[a-z]]' '[[A-Z]]'`
|
|
||||||
eval "disabled=\$$disabled_var"
|
|
||||||
disabled=/`echo X $disabled | sed 's@ @/|/@g'`/
|
|
||||||
makefiles=`(cd $srcdir ; find $subdir -name Makefile.in) | $EGREP -v "$disabled"`
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
dnl we build wxBase only
|
dnl we build wxBase only
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,12 @@ Changes in behaviour not resulting in compilation errors
|
||||||
wxGLAttributes::Samplers(1).SampleBuffers(4) explicitly if you need to keep
|
wxGLAttributes::Samplers(1).SampleBuffers(4) explicitly if you need to keep
|
||||||
using the same attributes that were previously used by default.
|
using the same attributes that were previously used by default.
|
||||||
|
|
||||||
|
- Default location of file used by wxFileConfig under Unix has changed to
|
||||||
|
XDG-compliant ~/.config/appname.conf instead of ~/.appname but note that
|
||||||
|
any existing files at the old location will still continue to be used.
|
||||||
|
See wxCONFIG_USE_XDG and wxCONFIG_USE_HOME for how to customize this
|
||||||
|
behaviour. You may also find wxFileConfig::MigrateLocalFile() useful.
|
||||||
|
|
||||||
- As first mentioned in 3.0 release notes, the value of wxTHREAD_WAIT_DEFAULT,
|
- As first mentioned in 3.0 release notes, the value of wxTHREAD_WAIT_DEFAULT,
|
||||||
used by wxThread::Delete() and Wait() by default, has changed from
|
used by wxThread::Delete() and Wait() by default, has changed from
|
||||||
wxTHREAD_WAIT_YIELD to wxTHREAD_WAIT_BLOCK for safety and consistency.
|
wxTHREAD_WAIT_YIELD to wxTHREAD_WAIT_BLOCK for safety and consistency.
|
||||||
|
|
@ -113,6 +119,12 @@ Changes in behaviour which may result in build errors
|
||||||
compatible with the previous wxWidgets versions, but now compare values, and
|
compatible with the previous wxWidgets versions, but now compare values, and
|
||||||
not pointers, in their Index() member function.
|
not pointers, in their Index() member function.
|
||||||
|
|
||||||
|
- All operators (e.g. "==", "+", etc) on wx types are not defined in global
|
||||||
|
scope any more, resulting in much better error messages but also preventing
|
||||||
|
them from implicitly being used with types convertible to wx types. If you
|
||||||
|
really need to use these operators with your own types, please use explicit
|
||||||
|
conversions.
|
||||||
|
|
||||||
- Due to the possibility to construct wxString from std::string_view some
|
- Due to the possibility to construct wxString from std::string_view some
|
||||||
previously valid code, such as "wxstr = {"Hello", 2}", is now ambiguous.
|
previously valid code, such as "wxstr = {"Hello", 2}", is now ambiguous.
|
||||||
Please use explicit class name, e.g. "wxstr = wxString{"Hello", 2}" to
|
Please use explicit class name, e.g. "wxstr = wxString{"Hello", 2}" to
|
||||||
|
|
|
||||||
|
|
@ -168,6 +168,10 @@ Currently the following symbols exist:
|
||||||
implemented in a generic way, using a critical section.}
|
implemented in a generic way, using a critical section.}
|
||||||
@itemdef{wxHAS_BITMAPTOGGLEBUTTON, Defined in @c wx/tglbtn.h if
|
@itemdef{wxHAS_BITMAPTOGGLEBUTTON, Defined in @c wx/tglbtn.h if
|
||||||
wxBitmapToggleButton class is available in addition to wxToggleButton.}
|
wxBitmapToggleButton class is available in addition to wxToggleButton.}
|
||||||
|
@itemdef{wxHAS_CONFIG_AS_FILECONFIG, Defined if wxConfig is defined as
|
||||||
|
wxFileConfig. This constant is available since wxWidgets 3.3.0.}
|
||||||
|
@itemdef{wxHAS_CONFIG_AS_REGCONFIG, Defined if wxConfig is defined as
|
||||||
|
wxRegConfig. This constant is available since wxWidgets 3.3.0.}
|
||||||
@itemdef{wxHAS_CONFIG_TEMPLATE_RW, Defined if the currently used compiler
|
@itemdef{wxHAS_CONFIG_TEMPLATE_RW, Defined if the currently used compiler
|
||||||
supports template Read() and Write() methods in wxConfig.}
|
supports template Read() and Write() methods in wxConfig.}
|
||||||
@itemdef{wxHAS_DEPRECATED_ATTR, Defined if C++14 @c [[deprecated]] attribute is
|
@itemdef{wxHAS_DEPRECATED_ATTR, Defined if C++14 @c [[deprecated]] attribute is
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
@section section_copyright wxWidgets Copyrights and Licenses
|
@section section_copyright wxWidgets Copyrights and Licenses
|
||||||
|
|
||||||
Copyright (c) 1992-2023 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
|
Copyright (c) 1992-2024 Julian Smart, Vadim Zeitlin, Stefan Csomor, Robert
|
||||||
Roebling, and other members of the wxWidgets team, please see the
|
Roebling, and other members of the wxWidgets team, please see the
|
||||||
acknowledgements section below.
|
acknowledgements section below.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,10 @@ The following virtual file system handlers are part of wxWidgets so far:
|
||||||
A handler for archives such as zip
|
A handler for archives such as zip
|
||||||
and tar. Include file is wx/fs_arc.h. URLs examples:
|
and tar. Include file is wx/fs_arc.h. URLs examples:
|
||||||
"archive.zip#zip:filename", "archive.tar.gz#gzip:#tar:filename".
|
"archive.zip#zip:filename", "archive.tar.gz#gzip:#tar:filename".
|
||||||
|
@li @b wxDataSchemeFSHandler:
|
||||||
|
A handler for accessing data inlined in URI according to RFC 2397.
|
||||||
|
URI example: "data:text/plain;base64,d3hXaWRnZXRzIGV4YW1wbGU=".
|
||||||
|
Include file is wx/fs_data.h.
|
||||||
@li @b wxFilterFSHandler:
|
@li @b wxFilterFSHandler:
|
||||||
A handler for compression schemes such
|
A handler for compression schemes such
|
||||||
as gzip. Header is wx/fs_filter.h. URLs are in the form, e.g.:
|
as gzip. Header is wx/fs_filter.h. URLs are in the form, e.g.:
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ if [[ "$1" = "docset" ]]; then
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetFeedURL $ATOMDIR/$ATOM
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetFeedURL $ATOMDIR/$ATOM
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetFallbackURL https://docs.wxwidgets.org
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetFallbackURL https://docs.wxwidgets.org
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetDescription "API reference and conceptual documentation for wxWidgets 3.0"
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetDescription "API reference and conceptual documentation for wxWidgets 3.0"
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info NSHumanReadableCopyright "Copyright 1992-2023 wxWidgets team, Portions 1996 Artificial Intelligence Applications Institute"
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info NSHumanReadableCopyright "Copyright 1992-2024 wxWidgets team, Portions 1996 Artificial Intelligence Applications Institute"
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info isJavaScriptEnabled true
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info isJavaScriptEnabled true
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info dashIndexFilePath index.html
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info dashIndexFilePath index.html
|
||||||
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetPlatformFamily wx
|
$PLIST_WRITE_CMD $DESTINATIONDIR/$DOCSETNAME/Contents/Info DocSetPlatformFamily wx
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,38 @@ the following in wxWidgets directory:
|
||||||
$ cd buildgtk
|
$ cd buildgtk
|
||||||
$ ../configure --with-gtk
|
$ ../configure --with-gtk
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
|
It is recommended to use `-jN` option with the last command, where `N` is a
|
||||||
|
number of the processors in your system (which can be checked using `nproc`
|
||||||
|
command if you are not sure), as this will dramatically speed up the build
|
||||||
|
on modern systems. So in practice you should use a command like this:
|
||||||
|
|
||||||
|
$ make -j8
|
||||||
|
|
||||||
|
(but don't use it unless you actually have 8 CPUs and enough memory for that
|
||||||
|
many parallel compiler invocations).
|
||||||
|
|
||||||
|
You may also prefer to add `-s` option to avoid normal output from make and/or
|
||||||
|
redirect it you to a log file for further inspection.
|
||||||
|
|
||||||
|
You should build at least the smallest possible wxWidgets sample to verify that
|
||||||
|
everything is working as intended, by doing
|
||||||
|
|
||||||
|
$ cd samples/minimal
|
||||||
|
$ make
|
||||||
|
|
||||||
|
and try running it using `./minimal` command from the same directory.
|
||||||
|
|
||||||
|
After confirming that it works, you may want to install wxWidgets by running
|
||||||
|
|
||||||
$ sudo make install
|
$ sudo make install
|
||||||
$ sudo ldconfig
|
$ sudo ldconfig
|
||||||
|
|
||||||
(if you get "ldconfig: command not found", try using `/sbin/ldconfig`)
|
(if you get "ldconfig: command not found", try using `/sbin/ldconfig`)
|
||||||
|
|
||||||
If you don't do the `make install` part, you can still use the libraries from
|
but note that this part is optional and you can use the libraries from
|
||||||
the `buildgtk` directory, but they may not be available to other users.
|
the `buildgtk` directory by running `.../buildgtk/wx-config` script using its
|
||||||
|
full path instead of just using `wx-config`.
|
||||||
|
|
||||||
Note that by default, GTK 3 is used. GTK 2 can be specified
|
Note that by default, GTK 3 is used. GTK 2 can be specified
|
||||||
with `--with-gtk=2` configure option.
|
with `--with-gtk=2` configure option.
|
||||||
|
|
@ -47,8 +72,8 @@ Debian and Debian-based distribution these libraries are part of `libgtk-3-dev`
|
||||||
package, while in Fedora and other RPM-based distributions the same package is
|
package, while in Fedora and other RPM-based distributions the same package is
|
||||||
known as `gtk3-devel`.
|
known as `gtk3-devel`.
|
||||||
|
|
||||||
For OpenGL support, you need `libgl1-mesa-dev` and `libglu1-mesa-dev` packages
|
For OpenGL support, you need `libgl1-mesa-dev` packages
|
||||||
under Debian and `mesa-libGL-devel` and `mesa-libGLU-devel` under Fedora. For
|
under Debian and `mesa-libGL-devel` and under Fedora. For
|
||||||
EGL support, `libegl1-mesa-dev` or `mesa-libEGL-devel` is needed.
|
EGL support, `libegl1-mesa-dev` or `mesa-libEGL-devel` is needed.
|
||||||
|
|
||||||
wxMediaCtrl implementation requires GStreamer and its plugins development
|
wxMediaCtrl implementation requires GStreamer and its plugins development
|
||||||
|
|
|
||||||
|
|
@ -9,11 +9,11 @@ Most OS X developers should start by downloading and installing Xcode
|
||||||
from the App Store. It is a free IDE from Apple that provides
|
from the App Store. 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 wxWidgets-{version}.tar.bz2 and then
|
After Xcode is installed, download `wxWidgets-{version}.tar.bz2` and then
|
||||||
double-click on it to unpack it to create a wxWidgets directory.
|
double-click on it to unpack it to create 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
|
||||||
the following sets of commands from the wxWidgets directory.
|
the following sets of commands from the wxWidgets directory.
|
||||||
|
|
||||||
mkdir build-cocoa-debug
|
mkdir build-cocoa-debug
|
||||||
|
|
@ -21,27 +21,54 @@ the following sets of commands from the wxWidgets directory.
|
||||||
../configure --enable-debug
|
../configure --enable-debug
|
||||||
make
|
make
|
||||||
|
|
||||||
Build the samples and demos
|
It is recommended to use `-jN` option with the last command, where `N` is a
|
||||||
|
number of the processors in your system (which can be checked using `sysctl -n
|
||||||
|
hw.ncpu` command if you are not sure), as this will dramatically speed up the
|
||||||
|
build on modern systems. So in practice you should use a command like this:
|
||||||
|
|
||||||
|
make -j8
|
||||||
|
|
||||||
|
(but don't use it unless you actually have 8 CPUs and enough memory for that
|
||||||
|
many parallel compiler invocations).
|
||||||
|
|
||||||
|
You may also prefer to add `-s` option to avoid normal output from make and/or
|
||||||
|
redirect it you to a log file for further inspection.
|
||||||
|
|
||||||
|
You should build at least the smallest possible wxWidgets sample to verify that
|
||||||
|
everything is working as intended, by doing
|
||||||
|
|
||||||
|
cd samples/minimal
|
||||||
|
make
|
||||||
|
|
||||||
|
and then running `minimal.app` from this directory from Finder.
|
||||||
|
|
||||||
|
If you'd like to, you can also build all the other samples and demos
|
||||||
|
|
||||||
cd samples; make;cd ..
|
cd samples; make;cd ..
|
||||||
cd demos; make;cd ..
|
cd demos; make;cd ..
|
||||||
|
|
||||||
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.
|
|
||||||
* 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 demos is in wxWidgets/demos
|
|
||||||
|
|
||||||
More information about building on macOS is available in the wxWiki.
|
|
||||||
Here are two useful links
|
|
||||||
* https://wiki.wxwidgets.org/Guides_%26_Tutorials
|
|
||||||
* https://wiki.wxwidgets.org/Development:_wxMac
|
|
||||||
|
|
||||||
|
|
||||||
Advanced topics {#osx_advanced}
|
Advanced topics {#osx_advanced}
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
Building library for distribution
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
When building library for the distribution with your application, you shouldn't
|
||||||
|
use `--enable-debug` option above but you may want to use `--disable-sys-libs`
|
||||||
|
option to ensure that it has no dependencies on the other libraries available
|
||||||
|
on the current system as they might not be present on all systems where the
|
||||||
|
application is used.
|
||||||
|
|
||||||
|
It is also often desirable to build the final version of the application as
|
||||||
|
"universal binary", i.e. a combination of binaries for several different
|
||||||
|
architectures. In this case, you should build wxWidgets as universal binary
|
||||||
|
too, using `--enable-universal_binary` option. By default, this option enables
|
||||||
|
building for the usually wanted set of architectures (currently ARM and Intel)
|
||||||
|
but you may override this by listing the architectures you want to use
|
||||||
|
explicitly, separating them with commas.
|
||||||
|
|
||||||
|
|
||||||
Installing library {#osx_install}
|
Installing library {#osx_install}
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1334,7 +1334,7 @@
|
||||||
|
|
||||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||||
// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the
|
// set to 1 and, under Windows, also to add opengl32.lib to the
|
||||||
// list of libraries used to link your application when linking to wxWidgets
|
// list of libraries used to link your application when linking to wxWidgets
|
||||||
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -693,7 +693,6 @@ protected:
|
||||||
bool m_gripperVisible;
|
bool m_gripperVisible;
|
||||||
bool m_overflowVisible;
|
bool m_overflowVisible;
|
||||||
|
|
||||||
bool RealizeHelper(wxClientDC& dc, bool horizontal);
|
|
||||||
static bool IsPaneValid(long style, const wxAuiPaneInfo& pane);
|
static bool IsPaneValid(long style, const wxAuiPaneInfo& pane);
|
||||||
bool IsPaneValid(long style) const;
|
bool IsPaneValid(long style) const;
|
||||||
void SetArtFlags() const;
|
void SetArtFlags() const;
|
||||||
|
|
@ -705,6 +704,8 @@ private:
|
||||||
// Common part of OnLeaveWindow() and OnCaptureLost().
|
// Common part of OnLeaveWindow() and OnCaptureLost().
|
||||||
void DoResetMouseState();
|
void DoResetMouseState();
|
||||||
|
|
||||||
|
wxSize RealizeHelper(wxClientDC& dc, wxOrientation orientation);
|
||||||
|
|
||||||
wxDECLARE_EVENT_TABLE();
|
wxDECLARE_EVENT_TABLE();
|
||||||
wxDECLARE_CLASS(wxAuiToolBar);
|
wxDECLARE_CLASS(wxAuiToolBar);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -189,6 +189,9 @@ protected:
|
||||||
wxRect m_rect;
|
wxRect m_rect;
|
||||||
size_t m_tabOffset;
|
size_t m_tabOffset;
|
||||||
unsigned int m_flags;
|
unsigned int m_flags;
|
||||||
|
|
||||||
|
private:
|
||||||
|
int GetCloseButtonState(const wxAuiNotebookPage& page) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -210,6 +213,9 @@ public:
|
||||||
|
|
||||||
void SetRect(const wxRect& rect) { wxAuiTabContainer::SetRect(rect, this); }
|
void SetRect(const wxRect& rect) { wxAuiTabContainer::SetRect(rect, this); }
|
||||||
|
|
||||||
|
// Internal helper.
|
||||||
|
void DoShowTab(int idx);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// choose the default border for this window
|
// choose the default border for this window
|
||||||
virtual wxBorder GetDefaultBorder() const override { return wxBORDER_NONE; }
|
virtual wxBorder GetDefaultBorder() const override { return wxBORDER_NONE; }
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,8 @@ enum wxAuiManagerOption
|
||||||
wxAUI_MGR_DEFAULT = wxAUI_MGR_ALLOW_FLOATING |
|
wxAUI_MGR_DEFAULT = wxAUI_MGR_ALLOW_FLOATING |
|
||||||
wxAUI_MGR_TRANSPARENT_HINT |
|
wxAUI_MGR_TRANSPARENT_HINT |
|
||||||
wxAUI_MGR_HINT_FADE |
|
wxAUI_MGR_HINT_FADE |
|
||||||
wxAUI_MGR_NO_VENETIAN_BLINDS_FADE
|
wxAUI_MGR_NO_VENETIAN_BLINDS_FADE |
|
||||||
|
wxAUI_MGR_LIVE_RESIZE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -416,7 +417,7 @@ public:
|
||||||
void SetFlags(unsigned int flags);
|
void SetFlags(unsigned int flags);
|
||||||
unsigned int GetFlags() const;
|
unsigned int GetFlags() const;
|
||||||
|
|
||||||
static bool AlwaysUsesLiveResize();
|
static bool AlwaysUsesLiveResize(const wxWindow* window = nullptr);
|
||||||
bool HasLiveResize() const;
|
bool HasLiveResize() const;
|
||||||
|
|
||||||
void SetManagedWindow(wxWindow* managedWnd);
|
void SetManagedWindow(wxWindow* managedWnd);
|
||||||
|
|
@ -485,8 +486,6 @@ public:
|
||||||
virtual void ShowHint(const wxRect& rect);
|
virtual void ShowHint(const wxRect& rect);
|
||||||
virtual void HideHint();
|
virtual void HideHint();
|
||||||
|
|
||||||
void OnHintActivate(wxActivateEvent& event);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// deprecated -- please use SetManagedWindow()
|
// deprecated -- please use SetManagedWindow()
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
#include "wx/gdicmn.h" // for wxBitmapType
|
#include "wx/gdicmn.h" // for wxBitmapType
|
||||||
#include "wx/colour.h"
|
#include "wx/colour.h"
|
||||||
#include "wx/image.h"
|
#include "wx/image.h"
|
||||||
|
#include "wx/variant.h"
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
|
class WXDLLIMPEXP_FWD_CORE wxBitmapHandler;
|
||||||
|
|
@ -28,15 +29,6 @@ class WXDLLIMPEXP_FWD_CORE wxMask;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxVariant support
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_VARIANT
|
|
||||||
#include "wx/variant.h"
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap,WXDLLIMPEXP_CORE)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxMask represents the transparent area of the bitmap
|
// wxMask represents the transparent area of the bitmap
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
@ -100,6 +92,9 @@ public:
|
||||||
|
|
||||||
// Rescale the given bitmap to the requested size.
|
// Rescale the given bitmap to the requested size.
|
||||||
static void Rescale(wxBitmap& bmp, const wxSize& sizeNeeded);
|
static void Rescale(wxBitmap& bmp, const wxSize& sizeNeeded);
|
||||||
|
|
||||||
|
// wxVariant support
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxBitmap, WXDLLIMPEXP_CORE);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -178,6 +173,11 @@ public:
|
||||||
virtual bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH) = 0;
|
virtual bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH) = 0;
|
||||||
virtual bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH) = 0;
|
virtual bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH) = 0;
|
||||||
|
|
||||||
|
// DIP size and logical size are the same thing for ports using scaling,
|
||||||
|
// i.e. where physical and logical sizes are different (e.g. wxGTK and
|
||||||
|
// wxOSX), but we want to have both sets of functions to use them in the
|
||||||
|
// ports where physical and logical sizes are the same (wxMSW).
|
||||||
|
|
||||||
bool CreateWithDIPSize(const wxSize& sz,
|
bool CreateWithDIPSize(const wxSize& sz,
|
||||||
double scale,
|
double scale,
|
||||||
int depth = wxBITMAP_SCREEN_DEPTH)
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
|
|
@ -187,6 +187,15 @@ public:
|
||||||
int depth = wxBITMAP_SCREEN_DEPTH)
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
{ return DoCreate(wxSize(width, height), scale, depth); }
|
{ return DoCreate(wxSize(width, height), scale, depth); }
|
||||||
|
|
||||||
|
bool CreateWithLogicalSize(const wxSize& sz,
|
||||||
|
double scale,
|
||||||
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
|
{ return DoCreate(sz, scale, depth); }
|
||||||
|
bool CreateWithLogicalSize(int width, int height,
|
||||||
|
double scale,
|
||||||
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
|
{ return DoCreate(wxSize(width, height), scale, depth); }
|
||||||
|
|
||||||
virtual int GetHeight() const = 0;
|
virtual int GetHeight() const = 0;
|
||||||
virtual int GetWidth() const = 0;
|
virtual int GetWidth() const = 0;
|
||||||
virtual int GetDepth() const = 0;
|
virtual int GetDepth() const = 0;
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
class wxBitmapBundleImpl;
|
class wxBitmapBundleImpl;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxIconBundle;
|
class WXDLLIMPEXP_FWD_CORE wxIconBundle;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxImageList;
|
class WXDLLIMPEXP_FWD_CORE wxImageList;
|
||||||
|
class WXDLLIMPEXP_FWD_BASE wxVariant;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxWindow;
|
class WXDLLIMPEXP_FWD_CORE wxWindow;
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
@ -155,6 +156,15 @@ public:
|
||||||
return GetImpl() == other.GetImpl();
|
return GetImpl() == other.GetImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Allow using wxBitmapBundle with wxVariant
|
||||||
|
#if wxUSE_VARIANT
|
||||||
|
friend WXDLLIMPEXP_CORE
|
||||||
|
wxBitmapBundle& operator<<(wxBitmapBundle& value, const wxVariant& variant);
|
||||||
|
friend WXDLLIMPEXP_CORE
|
||||||
|
wxVariant& operator<<(wxVariant& variant, const wxBitmapBundle& value);
|
||||||
|
#endif // wxUSE_VARIANT
|
||||||
|
|
||||||
|
|
||||||
// Implementation only from now on.
|
// Implementation only from now on.
|
||||||
|
|
||||||
// Get the bitmap size preferred by the majority of the elements of the
|
// Get the bitmap size preferred by the majority of the elements of the
|
||||||
|
|
@ -274,19 +284,4 @@ public:
|
||||||
virtual wxBitmap GetBitmap(const wxSize& size) = 0;
|
virtual wxBitmap GetBitmap(const wxSize& size) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// Allow using wxBitmapBundle in wxVariant
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_VARIANT
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_BASE wxVariant;
|
|
||||||
|
|
||||||
WXDLLIMPEXP_CORE
|
|
||||||
wxBitmapBundle& operator<<(wxBitmapBundle& value, const wxVariant& variant);
|
|
||||||
WXDLLIMPEXP_CORE
|
|
||||||
wxVariant& operator<<(wxVariant& variant, const wxBitmapBundle& value);
|
|
||||||
|
|
||||||
#endif // wxUSE_VARIANT
|
|
||||||
|
|
||||||
#endif // _WX_BMPBNDL_H_
|
#endif // _WX_BMPBNDL_H_
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,8 @@ extern WXDLLIMPEXP_DATA_CORE(wxBrushList*) wxTheBrushList;
|
||||||
// to compile without warnings which it would otherwise provoke from some
|
// to compile without warnings which it would otherwise provoke from some
|
||||||
// compilers as it compares elements of different enums
|
// compilers as it compares elements of different enums
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
wxDEPRECATED_MSG("use wxBRUSHSTYLE_XXX constants only")
|
wxDEPRECATED_MSG("use wxBRUSHSTYLE_XXX constants only")
|
||||||
inline bool operator==(wxBrushStyle s, wxDeprecatedGUIConstants t)
|
inline bool operator==(wxBrushStyle s, wxDeprecatedGUIConstants t)
|
||||||
{
|
{
|
||||||
|
|
@ -114,4 +116,6 @@ inline bool operator!=(wxBrushStyle s, wxDeprecatedGUIConstants t)
|
||||||
return static_cast<int>(s) != static_cast<int>(t);
|
return static_cast<int>(s) != static_cast<int>(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
#endif // _WX_BRUSH_H_BASE_
|
#endif // _WX_BRUSH_H_BASE_
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,10 @@
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
#include "wx/wxcrtbase.h"
|
#include "wx/wxcrtbase.h"
|
||||||
|
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
#include "wx/iosfwrap.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdlib.h> // malloc() and free()
|
#include <stdlib.h> // malloc() and free()
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_BASE wxCStrData;
|
class WXDLLIMPEXP_FWD_BASE wxCStrData;
|
||||||
|
|
@ -55,14 +59,70 @@ struct UntypedBufferData
|
||||||
// NB: this is defined in string.cpp and not the (non-existent) buffer.cpp
|
// NB: this is defined in string.cpp and not the (non-existent) buffer.cpp
|
||||||
WXDLLIMPEXP_BASE UntypedBufferData * GetUntypedNullData();
|
WXDLLIMPEXP_BASE UntypedBufferData * GetUntypedNullData();
|
||||||
|
|
||||||
|
// Implementation of stream insertion operators: they can't be inline because
|
||||||
|
// we don't have full std::ostream declaration here.
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
WXDLLIMPEXP_BASE std::ostream& OutputCharBuffer(std::ostream&, const char* s);
|
||||||
|
WXDLLIMPEXP_BASE std::ostream& OutputWCharBuffer(std::ostream&, const wchar_t* ws);
|
||||||
|
#if defined(HAVE_WOSTREAM)
|
||||||
|
WXDLLIMPEXP_BASE std::wostream& OutputWCharBuffer(std::wostream&, const wchar_t* ws);
|
||||||
|
#endif // defined(HAVE_WOSTREAM)
|
||||||
|
#endif // wxUSE_STD_IOSTREAM
|
||||||
|
|
||||||
} // namespace wxPrivate
|
} // namespace wxPrivate
|
||||||
|
|
||||||
|
|
||||||
|
// Template used as CRTP base class for wxScopedCharTypeBuffer in order to
|
||||||
|
// define overloaded operator<<() for it.
|
||||||
|
//
|
||||||
|
// By default we don't define any operators, but we do define them for the
|
||||||
|
// usual char and wchar_t specializations below.
|
||||||
|
template <typename T, typename Buffer>
|
||||||
|
struct wxScopedCharTypeBufferStreamSupport
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
// Suppress the warning about declaring a non-template friend because this is
|
||||||
|
// exactly what we want to do here.
|
||||||
|
wxGCC_ONLY_WARNING_SUPPRESS(non-template-friend)
|
||||||
|
|
||||||
|
template <typename Buffer>
|
||||||
|
struct wxScopedCharTypeBufferStreamSupport<char, Buffer>
|
||||||
|
{
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
friend std::ostream& operator<<(std::ostream& oss, const Buffer& buf)
|
||||||
|
{
|
||||||
|
return wxPrivate::OutputCharBuffer(oss, buf.data());
|
||||||
|
}
|
||||||
|
#endif // wxUSE_STD_IOSTREAM
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename Buffer>
|
||||||
|
struct wxScopedCharTypeBufferStreamSupport<wchar_t, Buffer>
|
||||||
|
{
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
friend std::ostream& operator<<(std::ostream& oss, const Buffer& buf)
|
||||||
|
{
|
||||||
|
return wxPrivate::OutputWCharBuffer(oss, buf.data());
|
||||||
|
}
|
||||||
|
#if defined(HAVE_WOSTREAM)
|
||||||
|
friend std::wostream& operator<<(std::wostream& woss, const Buffer& buf)
|
||||||
|
{
|
||||||
|
return wxPrivate::OutputWCharBuffer(woss, buf.data());
|
||||||
|
}
|
||||||
|
#endif // defined(HAVE_WOSTREAM)
|
||||||
|
#endif // wxUSE_STD_IOSTREAM
|
||||||
|
};
|
||||||
|
|
||||||
|
wxGCC_ONLY_WARNING_RESTORE(non-template-friend)
|
||||||
|
|
||||||
|
|
||||||
// Reference-counted character buffer for storing string data. The buffer
|
// Reference-counted character buffer for storing string data. The buffer
|
||||||
// is only valid for as long as the "parent" object that provided the data
|
// is only valid for as long as the "parent" object that provided the data
|
||||||
// is valid; see wxCharTypeBuffer<T> for persistent variant.
|
// is valid; see wxCharTypeBuffer<T> for persistent variant.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
class wxScopedCharTypeBuffer
|
class wxScopedCharTypeBuffer
|
||||||
|
: wxScopedCharTypeBufferStreamSupport<T, wxScopedCharTypeBuffer<T>>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef T CharType;
|
typedef T CharType;
|
||||||
|
|
@ -368,6 +428,13 @@ public:
|
||||||
wxCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
|
wxCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
|
||||||
|
|
||||||
wxCharBuffer(const wxCStrData& cstr);
|
wxCharBuffer(const wxCStrData& cstr);
|
||||||
|
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
// Define this to disambiguate between converting to the base class or to
|
||||||
|
// wxString when using operator<<() with the objects of this class.
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
std::ostream& operator<<(std::ostream& oss, const wxCharBuffer& buf);
|
||||||
|
#endif // wxUSE_STD_IOSTREAM
|
||||||
};
|
};
|
||||||
|
|
||||||
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
|
class wxWCharBuffer : public wxCharTypeBuffer<wchar_t>
|
||||||
|
|
@ -385,6 +452,16 @@ public:
|
||||||
wxWCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
|
wxWCharBuffer(size_t len) : wxCharTypeBufferBase(len) {}
|
||||||
|
|
||||||
wxWCharBuffer(const wxCStrData& cstr);
|
wxWCharBuffer(const wxCStrData& cstr);
|
||||||
|
|
||||||
|
#if wxUSE_STD_IOSTREAM
|
||||||
|
// See wxCharBuffer for why this is needed.
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
std::ostream& operator<<(std::ostream& oss, const wxWCharBuffer& buf);
|
||||||
|
#if defined(HAVE_WOSTREAM)
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
std::wostream& operator<<(std::wostream& woss, const wxWCharBuffer& buf);
|
||||||
|
#endif // defined(HAVE_WOSTREAM)
|
||||||
|
#endif // wxUSE_STD_IOSTREAM
|
||||||
};
|
};
|
||||||
|
|
||||||
// wxCharTypeBuffer<T> implicitly convertible to T*, for char and wchar_t,
|
// wxCharTypeBuffer<T> implicitly convertible to T*, for char and wchar_t,
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
#include "wx/gdiobj.h"
|
#include "wx/gdiobj.h"
|
||||||
|
#include "wx/variant.h"
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxColour;
|
class WXDLLIMPEXP_FWD_CORE wxColour;
|
||||||
|
|
||||||
|
|
@ -53,15 +54,6 @@ const unsigned char wxALPHA_OPAQUE = 0xff;
|
||||||
#define wxTransparentColour wxColour(0, 0, 0, wxALPHA_TRANSPARENT)
|
#define wxTransparentColour wxColour(0, 0, 0, wxALPHA_TRANSPARENT)
|
||||||
#define wxTransparentColor wxTransparentColour
|
#define wxTransparentColor wxTransparentColour
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxVariant support
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_VARIANT
|
|
||||||
#include "wx/variant.h"
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxColour,WXDLLIMPEXP_CORE)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxColourBase: this class has no data members, just some functions to avoid
|
// wxColourBase: this class has no data members, just some functions to avoid
|
||||||
// code redundancy in all native wxColour implementations
|
// code redundancy in all native wxColour implementations
|
||||||
|
|
@ -188,6 +180,8 @@ public:
|
||||||
wxColour ChangeLightness(int ialpha) const;
|
wxColour ChangeLightness(int ialpha) const;
|
||||||
wxColour& MakeDisabled(unsigned char brightness = 255);
|
wxColour& MakeDisabled(unsigned char brightness = 255);
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxColour, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// Some ports need Init() and while we don't, provide a stub so that the
|
// Some ports need Init() and while we don't, provide a stub so that the
|
||||||
// ports which don't need it are not forced to define it
|
// ports which don't need it are not forced to define it
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,9 @@ enum
|
||||||
wxCONFIG_USE_GLOBAL_FILE = 2,
|
wxCONFIG_USE_GLOBAL_FILE = 2,
|
||||||
wxCONFIG_USE_RELATIVE_PATH = 4,
|
wxCONFIG_USE_RELATIVE_PATH = 4,
|
||||||
wxCONFIG_USE_NO_ESCAPE_CHARACTERS = 8,
|
wxCONFIG_USE_NO_ESCAPE_CHARACTERS = 8,
|
||||||
wxCONFIG_USE_SUBDIR = 16
|
wxCONFIG_USE_SUBDIR = 16,
|
||||||
|
wxCONFIG_USE_XDG = 32,
|
||||||
|
wxCONFIG_USE_HOME = 64
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -23,9 +23,11 @@
|
||||||
#if defined(__WINDOWS__) && wxUSE_CONFIG_NATIVE
|
#if defined(__WINDOWS__) && wxUSE_CONFIG_NATIVE
|
||||||
#include "wx/msw/regconf.h"
|
#include "wx/msw/regconf.h"
|
||||||
#define wxConfig wxRegConfig
|
#define wxConfig wxRegConfig
|
||||||
|
#define wxHAS_CONFIG_AS_REGCONFIG
|
||||||
#else // either we're under Unix or wish to always use config files
|
#else // either we're under Unix or wish to always use config files
|
||||||
#include "wx/fileconf.h"
|
#include "wx/fileconf.h"
|
||||||
#define wxConfig wxFileConfig
|
#define wxConfig wxFileConfig
|
||||||
|
#define wxHAS_CONFIG_AS_FILECONFIG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // wxUSE_CONFIG
|
#endif // wxUSE_CONFIG
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#include <limits.h> // for INT_MIN
|
#include <limits.h> // for INT_MIN
|
||||||
|
|
||||||
#include "wx/longlong.h"
|
#include "wx/longlong.h"
|
||||||
|
|
@ -44,7 +46,7 @@ struct _SYSTEMTIME;
|
||||||
* ? 2. getdate() function like under Solaris
|
* ? 2. getdate() function like under Solaris
|
||||||
* + 3. text conversion for wxDateSpan
|
* + 3. text conversion for wxDateSpan
|
||||||
* + 4. pluggable modules for the workdays calculations
|
* + 4. pluggable modules for the workdays calculations
|
||||||
* 5. wxDateTimeHolidayAuthority for Easter and other christian feasts
|
* 5. wxDateTimeHolidayAuthority Christian feasts outside of US
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -1276,6 +1278,8 @@ public:
|
||||||
return wxTimeSpan(*this).Multiply(n);
|
return wxTimeSpan(*this).Multiply(n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
friend WXDLLIMPEXP_BASE wxTimeSpan operator*(int n, const wxTimeSpan& ts);
|
||||||
|
|
||||||
// return this timespan with opposite sign
|
// return this timespan with opposite sign
|
||||||
wxTimeSpan Negate() const { return wxTimeSpan(-GetValue()); }
|
wxTimeSpan Negate() const { return wxTimeSpan(-GetValue()); }
|
||||||
// negate the value of the timespan
|
// negate the value of the timespan
|
||||||
|
|
@ -1529,6 +1533,7 @@ public:
|
||||||
{
|
{
|
||||||
return wxDateSpan(*this).Multiply(n);
|
return wxDateSpan(*this).Multiply(n);
|
||||||
}
|
}
|
||||||
|
friend WXDLLIMPEXP_BASE wxDateSpan operator*(int n, const wxDateSpan& ds);
|
||||||
|
|
||||||
// ds1 == d2 if and only if for every wxDateTime t t + ds1 == t + ds2
|
// ds1 == d2 if and only if for every wxDateTime t t + ds1 == t + ds2
|
||||||
inline bool operator==(const wxDateSpan& ds) const
|
inline bool operator==(const wxDateSpan& ds) const
|
||||||
|
|
@ -1599,13 +1604,7 @@ protected:
|
||||||
virtual bool DoIsHoliday(const wxDateTime& dt) const = 0;
|
virtual bool DoIsHoliday(const wxDateTime& dt) const = 0;
|
||||||
|
|
||||||
// this function should fill the array with all holidays between the two
|
// this function should fill the array with all holidays between the two
|
||||||
// given dates - it is implemented in the base class, but in a very
|
// given dates
|
||||||
// inefficient way (it just iterates over all days and uses IsHoliday() for
|
|
||||||
// each of them), so it must be overridden in the derived class where the
|
|
||||||
// base class version may be explicitly used if needed
|
|
||||||
//
|
|
||||||
// returns the number of holidays in the given range and fills holidays
|
|
||||||
// array
|
|
||||||
virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
|
virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
|
||||||
const wxDateTime& dtEnd,
|
const wxDateTime& dtEnd,
|
||||||
wxDateTimeArray& holidays) const = 0;
|
wxDateTimeArray& holidays) const = 0;
|
||||||
|
|
@ -1625,6 +1624,85 @@ protected:
|
||||||
wxDateTimeArray& holidays) const override;
|
wxDateTimeArray& holidays) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// https://marian.org/mary/feast-days
|
||||||
|
// https://www.omvusa.org/blog/catholic-holy-days-of-obligation/
|
||||||
|
class WXDLLIMPEXP_BASE wxDateTimeUSCatholicFeasts : public wxDateTimeHolidayAuthority
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// Easter for a given year.
|
||||||
|
// Based on https://www.geeksforgeeks.org/how-to-calculate-the-easter-date-for-a-given-year-using-gauss-algorithm/
|
||||||
|
// Validated against 1600 to 2099, using data from:
|
||||||
|
// https://www.assa.org.au/edm (Astronomical Society of South Australia)
|
||||||
|
// https://www.census.gov/data/software/x13as/genhol/easter-dates.html (US Census Bureau)
|
||||||
|
static wxDateTime GetEaster(int year);
|
||||||
|
|
||||||
|
// Ascension for a given year.
|
||||||
|
// Celebrated on the 40th day of Easter/
|
||||||
|
// the sixth Thursday after Easter Sunday.
|
||||||
|
static wxDateTime GetThursdayAscension(int year)
|
||||||
|
{
|
||||||
|
const wxDateTime ascension = GetEaster(year) + wxDateSpan::Days(39);
|
||||||
|
wxASSERT_MSG(
|
||||||
|
ascension.GetWeekDay() == wxDateTime::WeekDay::Thu,
|
||||||
|
"Error in Ascension calculation!");
|
||||||
|
return ascension;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ascension for a given year.
|
||||||
|
// Same as traditional Ascension, but moved to the following Sunday.
|
||||||
|
static wxDateTime GetSundayAscension(int year)
|
||||||
|
{
|
||||||
|
const wxDateTime ascension = GetEaster(year) + wxDateSpan::Weeks(6);
|
||||||
|
wxASSERT_MSG(
|
||||||
|
ascension.GetWeekDay() == wxDateTime::WeekDay::Sun,
|
||||||
|
"Error in Ascension calculation!");
|
||||||
|
return ascension;
|
||||||
|
}
|
||||||
|
protected:
|
||||||
|
bool DoIsHoliday(const wxDateTime& dt) const override
|
||||||
|
{
|
||||||
|
if (dt.IsSameDate(GetEaster(dt.GetYear())) ||
|
||||||
|
dt.IsSameDate(GetThursdayAscension(dt.GetYear())) )
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (const auto& feast : m_holyDaysOfObligation)
|
||||||
|
{
|
||||||
|
if (feast.GetMonth() == dt.GetMonth() &&
|
||||||
|
feast.GetDay() == dt.GetDay())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
|
||||||
|
const wxDateTime& dtEnd,
|
||||||
|
wxDateTimeArray& holidays) const override;
|
||||||
|
private:
|
||||||
|
static std::vector<wxDateTime> m_holyDaysOfObligation;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Christmas and Easter
|
||||||
|
class WXDLLIMPEXP_BASE wxDateTimeChristianHolidays : public wxDateTimeUSCatholicFeasts
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
bool DoIsHoliday(const wxDateTime& dt) const override
|
||||||
|
{
|
||||||
|
if (dt.IsSameDate(GetEaster(dt.GetYear())) ||
|
||||||
|
(dt.GetMonth() == 12 && dt.GetDay() == 25))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t DoGetHolidaysInRange(const wxDateTime& dtStart,
|
||||||
|
const wxDateTime& dtEnd,
|
||||||
|
wxDateTimeArray& holidays) const override;
|
||||||
|
};
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// inline functions implementation
|
// inline functions implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
@ -2168,22 +2246,6 @@ inline wxDateSpan wxDateSpan::Subtract(const wxDateSpan& other) const
|
||||||
|
|
||||||
#undef MODIFY_AND_RETURN
|
#undef MODIFY_AND_RETURN
|
||||||
|
|
||||||
// ============================================================================
|
|
||||||
// binary operators
|
|
||||||
// ============================================================================
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxTimeSpan operators
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
wxTimeSpan WXDLLIMPEXP_BASE operator*(int n, const wxTimeSpan& ts);
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// wxDateSpan
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
wxDateSpan WXDLLIMPEXP_BASE operator*(int n, const wxDateSpan& ds);
|
|
||||||
|
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
// other helper functions
|
// other helper functions
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
|
||||||
|
|
@ -128,6 +128,8 @@ public:
|
||||||
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) = 0;
|
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
virtual bool CanDrawUsingClientDC(const wxWindow* window) const = 0;
|
||||||
|
|
||||||
static void Set(wxDCFactory *factory);
|
static void Set(wxDCFactory *factory);
|
||||||
static wxDCFactory *Get();
|
static wxDCFactory *Get();
|
||||||
|
|
||||||
|
|
@ -154,6 +156,8 @@ public:
|
||||||
#if wxUSE_PRINTING_ARCHITECTURE
|
#if wxUSE_PRINTING_ARCHITECTURE
|
||||||
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) override;
|
virtual wxDCImpl* CreatePrinterDC( wxPrinterDC *owner, const wxPrintData &data ) override;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
virtual bool CanDrawUsingClientDC(const wxWindow* window) const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,8 @@ class WXDLLIMPEXP_CORE wxClientDC : public wxWindowDC
|
||||||
public:
|
public:
|
||||||
wxClientDC(wxWindow *win);
|
wxClientDC(wxWindow *win);
|
||||||
|
|
||||||
|
static bool CanBeUsedForDrawing(const wxWindow* window);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxClientDC(wxDCImpl *impl) : wxWindowDC(impl) { }
|
wxClientDC(wxDCImpl *impl) : wxWindowDC(impl) { }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -782,19 +782,22 @@ typedef short int WXTYPE;
|
||||||
|
|
||||||
|
|
||||||
#define wxDEFINE_COMPARISON(op, T1, T2, cmp) \
|
#define wxDEFINE_COMPARISON(op, T1, T2, cmp) \
|
||||||
inline bool operator op(T1 x, T2 y) { return cmp(x, y, op); }
|
friend bool operator op(T1 x, T2 y) { return cmp(x, y, op); }
|
||||||
|
|
||||||
#define wxDEFINE_COMPARISON_REV(op, T1, T2, cmp, oprev) \
|
#define wxDEFINE_COMPARISON_REV(op, T1, T2, cmp, oprev) \
|
||||||
inline bool operator op(T2 y, T1 x) { return cmp(x, y, oprev); }
|
friend bool operator op(T2 y, T1 x) { return cmp(x, y, oprev); }
|
||||||
|
|
||||||
#define wxDEFINE_COMPARISON_BY_REV(op, T1, T2, oprev) \
|
#define wxDEFINE_COMPARISON_BY_REV(op, T1, T2, oprev) \
|
||||||
inline bool operator op(T1 x, T2 y) { return y oprev x; }
|
friend bool operator op(T1 x, T2 y) { return y oprev x; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Define all 6 comparison operators (==, !=, <, <=, >, >=) for the given
|
Define all 6 comparison operators (==, !=, <, <=, >, >=) for the given
|
||||||
types in the specified order. The implementation is provided by the cmp
|
types in the specified order. The implementation is provided by the cmp
|
||||||
macro. Normally wxDEFINE_ALL_COMPARISONS should be used as comparison
|
macro. Normally wxDEFINE_ALL_COMPARISONS should be used as comparison
|
||||||
operators are usually symmetric.
|
operators are usually symmetric.
|
||||||
|
|
||||||
|
Note that comparison operators are defined as hidden friends and so this
|
||||||
|
macro can only be used inside the class declaration.
|
||||||
*/
|
*/
|
||||||
#define wxDEFINE_COMPARISONS(T1, T2, cmp) \
|
#define wxDEFINE_COMPARISONS(T1, T2, cmp) \
|
||||||
wxFOR_ALL_COMPARISONS_3(wxDEFINE_COMPARISON, T1, T2, cmp)
|
wxFOR_ALL_COMPARISONS_3(wxDEFINE_COMPARISON, T1, T2, cmp)
|
||||||
|
|
@ -803,6 +806,9 @@ typedef short int WXTYPE;
|
||||||
Define all 6 comparison operators (==, !=, <, <=, >, >=) for the given
|
Define all 6 comparison operators (==, !=, <, <=, >, >=) for the given
|
||||||
types in the specified order, implemented in terms of existing operators
|
types in the specified order, implemented in terms of existing operators
|
||||||
for the reverse order.
|
for the reverse order.
|
||||||
|
|
||||||
|
Note that comparison operators are defined as hidden friends and so this
|
||||||
|
macro can only be used inside the class declaration.
|
||||||
*/
|
*/
|
||||||
#define wxDEFINE_COMPARISONS_BY_REV(T1, T2) \
|
#define wxDEFINE_COMPARISONS_BY_REV(T1, T2) \
|
||||||
wxFOR_ALL_COMPARISONS_2_REV(wxDEFINE_COMPARISON_BY_REV, T1, T2)
|
wxFOR_ALL_COMPARISONS_2_REV(wxDEFINE_COMPARISON_BY_REV, T1, T2)
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,9 @@ public:
|
||||||
wxClientDCImpl(wxDC *owner) : wxWindowDCImpl(owner) { }
|
wxClientDCImpl(wxDC *owner) : wxWindowDCImpl(owner) { }
|
||||||
wxClientDCImpl(wxDC *owner, wxWindow *win);
|
wxClientDCImpl(wxDC *owner, wxWindow *win);
|
||||||
|
|
||||||
|
static bool
|
||||||
|
CanBeUsedForDrawing(const wxWindow* WXUNUSED(window)) { return true; }
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxClientDCImpl);
|
wxDECLARE_DYNAMIC_CLASS(wxClientDCImpl);
|
||||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,8 @@ public:
|
||||||
return !IsSameAs(other);
|
return !IsSameAs(other);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxDataViewIconText, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxString m_text;
|
wxString m_text;
|
||||||
wxBitmapBundle m_bitmap;
|
wxBitmapBundle m_bitmap;
|
||||||
|
|
@ -74,8 +76,6 @@ private:
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxDataViewIconText);
|
wxDECLARE_DYNAMIC_CLASS(wxDataViewIconText);
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxDataViewIconText, WXDLLIMPEXP_CORE)
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDataViewCheckIconText: value class used by wxDataViewCheckIconTextRenderer
|
// wxDataViewCheckIconText: value class used by wxDataViewCheckIconTextRenderer
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
@ -94,14 +94,14 @@ public:
|
||||||
wxCheckBoxState GetCheckedState() const { return m_checkedState; }
|
wxCheckBoxState GetCheckedState() const { return m_checkedState; }
|
||||||
void SetCheckedState(wxCheckBoxState state) { m_checkedState = state; }
|
void SetCheckedState(wxCheckBoxState state) { m_checkedState = state; }
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxDataViewCheckIconText, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxCheckBoxState m_checkedState;
|
wxCheckBoxState m_checkedState;
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxDataViewCheckIconText);
|
wxDECLARE_DYNAMIC_CLASS(wxDataViewCheckIconText);
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxDataViewCheckIconText, WXDLLIMPEXP_CORE)
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxDataViewRendererBase
|
// wxDataViewRendererBase
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,24 @@ public:
|
||||||
return GetLocalFile(szFile, style).GetFullPath();
|
return GetLocalFile(szFile, style).GetFullPath();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Function to migrate, i.e. move, an existing local config file to another
|
||||||
|
// location. Old and new style determine the existing and new file paths.
|
||||||
|
struct MigrationResult
|
||||||
|
{
|
||||||
|
// If empty, it means the old file wasn't found and nothing was done.
|
||||||
|
wxString oldPath;
|
||||||
|
|
||||||
|
// The name of the new file.
|
||||||
|
wxString newPath;
|
||||||
|
|
||||||
|
// If empty, means the file was successfully migrated.
|
||||||
|
wxString error;
|
||||||
|
};
|
||||||
|
static MigrationResult
|
||||||
|
MigrateLocalFile(const wxString& name,
|
||||||
|
int newStyle,
|
||||||
|
int oldStyle = wxCONFIG_USE_HOME);
|
||||||
|
|
||||||
// ctor & dtor
|
// ctor & dtor
|
||||||
// New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE or
|
// New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE or
|
||||||
// wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
|
// wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
|
||||||
|
|
|
||||||
|
|
@ -671,6 +671,8 @@ extern WXDLLIMPEXP_DATA_CORE(wxFontList*) wxTheFontList;
|
||||||
// to compile without warnings which it would otherwise provoke from some
|
// to compile without warnings which it would otherwise provoke from some
|
||||||
// compilers as it compares elements of different enums
|
// compilers as it compares elements of different enums
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
wxDEPRECATED_MSG("use wxFONTFAMILY_XXX constants") \
|
wxDEPRECATED_MSG("use wxFONTFAMILY_XXX constants") \
|
||||||
inline bool operator==(wxFontFamily s, wxDeprecatedGUIConstants t)
|
inline bool operator==(wxFontFamily s, wxDeprecatedGUIConstants t)
|
||||||
{ return static_cast<int>(s) == static_cast<int>(t); }
|
{ return static_cast<int>(s) == static_cast<int>(t); }
|
||||||
|
|
@ -690,4 +692,6 @@ wxDEPRECATED_MSG("use wxFONTWEIGHT_XXX constants") \
|
||||||
inline bool operator!=(wxFontWeight s, wxDeprecatedGUIConstants t)
|
inline bool operator!=(wxFontWeight s, wxDeprecatedGUIConstants t)
|
||||||
{ return static_cast<int>(s) != static_cast<int>(t); }
|
{ return static_cast<int>(s) != static_cast<int>(t); }
|
||||||
|
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
#endif // _WX_FONT_H_BASE_
|
#endif // _WX_FONT_H_BASE_
|
||||||
|
|
|
||||||
31
include/wx/fs_data.h
Normal file
31
include/wx/fs_data.h
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/fs_data.h
|
||||||
|
// Purpose: DATA scheme file system.
|
||||||
|
// Author: Vyacheslav Lisovski
|
||||||
|
// Copyright: (c) 2023 Vyacheslav Lisovski
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_FS_DATA_H_
|
||||||
|
#define _WX_FS_DATA_H_
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#if wxUSE_FILESYSTEM
|
||||||
|
|
||||||
|
#include "wx/filesys.h"
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxDataSchemeFSHandler
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class WXDLLIMPEXP_BASE wxDataSchemeFSHandler : public wxFileSystemHandler
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual bool CanOpen(const wxString& location) override;
|
||||||
|
virtual wxFSFile* OpenFile(wxFileSystem& fs, const wxString& location) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // wxUSE_FILESYSTEM
|
||||||
|
|
||||||
|
#endif // _WX_FS_DATA_H_
|
||||||
|
|
@ -295,6 +295,102 @@ public:
|
||||||
wxSize& operator/=(double i) { x = wxRound(x/i); y = wxRound(y/i); return *this; }
|
wxSize& operator/=(double i) { x = wxRound(x/i); y = wxRound(y/i); return *this; }
|
||||||
wxSize& operator*=(double i) { x = wxRound(x*i); y = wxRound(y*i); return *this; }
|
wxSize& operator*=(double i) { x = wxRound(x*i); y = wxRound(y*i); return *this; }
|
||||||
|
|
||||||
|
friend bool operator==(const wxSize& s1, const wxSize& s2)
|
||||||
|
{
|
||||||
|
return s1.x == s2.x && s1.y == s2.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator!=(const wxSize& s1, const wxSize& s2)
|
||||||
|
{
|
||||||
|
return s1.x != s2.x || s1.y != s2.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator+(const wxSize& s1, const wxSize& s2)
|
||||||
|
{
|
||||||
|
return wxSize(s1.x + s2.x, s1.y + s2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator-(const wxSize& s1, const wxSize& s2)
|
||||||
|
{
|
||||||
|
return wxSize(s1.x - s2.x, s1.y - s2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator/(const wxSize& s, int i)
|
||||||
|
{
|
||||||
|
return wxSize(s.x / i, s.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(const wxSize& s, int i)
|
||||||
|
{
|
||||||
|
return wxSize(s.x * i, s.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(int i, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxSize(s.x * i, s.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator/(const wxSize& s, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxSize(s.x / i, s.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(const wxSize& s, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxSize(s.x * i, s.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(unsigned int i, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxSize(s.x * i, s.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator/(const wxSize& s, long i)
|
||||||
|
{
|
||||||
|
return wxSize(s.x / i, s.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(const wxSize& s, long i)
|
||||||
|
{
|
||||||
|
return wxSize(int(s.x * i), int(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(long i, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxSize(int(s.x * i), int(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator/(const wxSize& s, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxSize(int(s.x / i), int(s.y / i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(const wxSize& s, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxSize(int(s.x * i), int(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(unsigned long i, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxSize(int(s.x * i), int(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator/(const wxSize& s, double i)
|
||||||
|
{
|
||||||
|
return wxSize(wxRound(s.x / i), wxRound(s.y / i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(const wxSize& s, double i)
|
||||||
|
{
|
||||||
|
return wxSize(wxRound(s.x * i), wxRound(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxSize operator*(double i, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxSize(wxRound(s.x * i), wxRound(s.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void IncTo(const wxSize& sz)
|
void IncTo(const wxSize& sz)
|
||||||
{ if ( sz.x > x ) x = sz.x; if ( sz.y > y ) y = sz.y; }
|
{ if ( sz.x > x ) x = sz.x; if ( sz.y > y ) y = sz.y; }
|
||||||
void DecTo(const wxSize& sz)
|
void DecTo(const wxSize& sz)
|
||||||
|
|
@ -350,103 +446,6 @@ public:
|
||||||
int GetY() const { return y; }
|
int GetY() const { return y; }
|
||||||
};
|
};
|
||||||
|
|
||||||
inline bool operator==(const wxSize& s1, const wxSize& s2)
|
|
||||||
{
|
|
||||||
return s1.x == s2.x && s1.y == s2.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator!=(const wxSize& s1, const wxSize& s2)
|
|
||||||
{
|
|
||||||
return s1.x != s2.x || s1.y != s2.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator+(const wxSize& s1, const wxSize& s2)
|
|
||||||
{
|
|
||||||
return wxSize(s1.x + s2.x, s1.y + s2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator-(const wxSize& s1, const wxSize& s2)
|
|
||||||
{
|
|
||||||
return wxSize(s1.x - s2.x, s1.y - s2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator/(const wxSize& s, int i)
|
|
||||||
{
|
|
||||||
return wxSize(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(const wxSize& s, int i)
|
|
||||||
{
|
|
||||||
return wxSize(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(int i, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxSize(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator/(const wxSize& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxSize(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(const wxSize& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxSize(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(unsigned int i, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxSize(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator/(const wxSize& s, long i)
|
|
||||||
{
|
|
||||||
return wxSize(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(const wxSize& s, long i)
|
|
||||||
{
|
|
||||||
return wxSize(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(long i, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxSize(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator/(const wxSize& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxSize(int(s.x / i), int(s.y / i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(const wxSize& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxSize(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(unsigned long i, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxSize(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator/(const wxSize& s, double i)
|
|
||||||
{
|
|
||||||
return wxSize(wxRound(s.x / i), wxRound(s.y / i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(const wxSize& s, double i)
|
|
||||||
{
|
|
||||||
return wxSize(wxRound(s.x * i), wxRound(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxSize operator*(double i, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxSize(wxRound(s.x * i), wxRound(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// Point classes: with real or integer coordinates
|
// Point classes: with real or integer coordinates
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
@ -469,102 +468,134 @@ public:
|
||||||
|
|
||||||
wxRealPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; }
|
wxRealPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; }
|
||||||
wxRealPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; }
|
wxRealPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; }
|
||||||
|
|
||||||
|
wxRealPoint& operator/=(int i) { x *= i; y *= i; return *this; }
|
||||||
|
wxRealPoint& operator*=(int i) { x /= i; y /= i; return *this; }
|
||||||
|
wxRealPoint& operator/=(double f) { x /= f; y /= f; return *this; }
|
||||||
|
wxRealPoint& operator*=(double f) { x *= f; y *= f; return *this; }
|
||||||
|
|
||||||
|
friend bool operator==(const wxRealPoint& p1, const wxRealPoint& p2)
|
||||||
|
{
|
||||||
|
return wxIsSameDouble(p1.x, p2.x) && wxIsSameDouble(p1.y, p2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator!=(const wxRealPoint& p1, const wxRealPoint& p2)
|
||||||
|
{
|
||||||
|
return !(p1 == p2);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator+(const wxRealPoint& p1, const wxRealPoint& p2)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p1.x + p2.x, p1.y + p2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator-(const wxRealPoint& p1, const wxRealPoint& p2)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p1.x - p2.x, p1.y - p2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator+(const wxRealPoint& pt, const wxSize& sz)
|
||||||
|
{
|
||||||
|
return wxRealPoint(pt.x + sz.GetWidth(), pt.y + sz.GetHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator-(const wxRealPoint& pt, const wxSize& sz)
|
||||||
|
{
|
||||||
|
return wxRealPoint(pt.x - sz.GetWidth(), pt.y - sz.GetHeight());
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator+(const wxSize& sz, const wxRealPoint& pt)
|
||||||
|
{
|
||||||
|
return wxRealPoint(sz.GetWidth() + pt.x, sz.GetHeight() + pt.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator-(const wxSize& sz, const wxRealPoint& pt)
|
||||||
|
{
|
||||||
|
return wxRealPoint(sz.GetWidth() - pt.x, sz.GetHeight() - pt.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator-(const wxRealPoint& pt)
|
||||||
|
{
|
||||||
|
return wxRealPoint(-pt.x, -pt.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator/(const wxRealPoint& p, int i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(const wxRealPoint& p, int i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(int i, const wxRealPoint& p)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator/(const wxRealPoint& p, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(const wxRealPoint& p, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(unsigned int i, const wxRealPoint& p)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator/(const wxRealPoint& p, long i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(const wxRealPoint& p, long i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(long i, const wxRealPoint& p)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator/(const wxRealPoint& p, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(const wxRealPoint& p, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(unsigned long i, const wxRealPoint& p)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator/(const wxRealPoint& p, double f)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x / f, p.y / f);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(const wxRealPoint& p, double f)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * f, p.y * f);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxRealPoint operator*(double f, const wxRealPoint& p)
|
||||||
|
{
|
||||||
|
return wxRealPoint(p.x * f, p.y * f);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
inline bool operator==(const wxRealPoint& p1, const wxRealPoint& p2)
|
|
||||||
{
|
|
||||||
return wxIsSameDouble(p1.x, p2.x) && wxIsSameDouble(p1.y, p2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator!=(const wxRealPoint& p1, const wxRealPoint& p2)
|
|
||||||
{
|
|
||||||
return !(p1 == p2);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator+(const wxRealPoint& p1, const wxRealPoint& p2)
|
|
||||||
{
|
|
||||||
return wxRealPoint(p1.x + p2.x, p1.y + p2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline wxRealPoint operator-(const wxRealPoint& p1, const wxRealPoint& p2)
|
|
||||||
{
|
|
||||||
return wxRealPoint(p1.x - p2.x, p1.y - p2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline wxRealPoint operator/(const wxRealPoint& s, int i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(const wxRealPoint& s, int i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(int i, const wxRealPoint& s)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator/(const wxRealPoint& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(const wxRealPoint& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(unsigned int i, const wxRealPoint& s)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator/(const wxRealPoint& s, long i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(const wxRealPoint& s, long i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(long i, const wxRealPoint& s)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator/(const wxRealPoint& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(const wxRealPoint& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(unsigned long i, const wxRealPoint& s)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(const wxRealPoint& s, double i)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxRealPoint operator*(double i, const wxRealPoint& s)
|
|
||||||
{
|
|
||||||
return wxRealPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxPoint: 2D point with integer coordinates
|
// wxPoint: 2D point with integer coordinates
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
@ -587,6 +618,134 @@ public:
|
||||||
wxPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; }
|
wxPoint& operator+=(const wxSize& s) { x += s.GetWidth(); y += s.GetHeight(); return *this; }
|
||||||
wxPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; }
|
wxPoint& operator-=(const wxSize& s) { x -= s.GetWidth(); y -= s.GetHeight(); return *this; }
|
||||||
|
|
||||||
|
wxPoint& operator/=(int i) { x /= i; y /= i; return *this; }
|
||||||
|
wxPoint& operator*=(int i) { x *= i; y *= i; return *this; }
|
||||||
|
wxPoint& operator/=(double f) { x = wxRound(x/f); y = wxRound(y/f); return *this; }
|
||||||
|
wxPoint& operator*=(double f) { x = wxRound(x*f); y = wxRound(y*f); return *this; }
|
||||||
|
|
||||||
|
// comparison
|
||||||
|
friend bool operator==(const wxPoint& p1, const wxPoint& p2)
|
||||||
|
{
|
||||||
|
return p1.x == p2.x && p1.y == p2.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator!=(const wxPoint& p1, const wxPoint& p2)
|
||||||
|
{
|
||||||
|
return !(p1 == p2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// arithmetic operations (component wise)
|
||||||
|
friend wxPoint operator+(const wxPoint& p1, const wxPoint& p2)
|
||||||
|
{
|
||||||
|
return wxPoint(p1.x + p2.x, p1.y + p2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator-(const wxPoint& p1, const wxPoint& p2)
|
||||||
|
{
|
||||||
|
return wxPoint(p1.x - p2.x, p1.y - p2.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator+(const wxPoint& p, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x + s.x, p.y + s.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator-(const wxPoint& p, const wxSize& s)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x - s.x, p.y - s.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator+(const wxSize& s, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x + s.x, p.y + s.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator-(const wxSize& s, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(s.x - p.x, s.y - p.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator-(const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(-p.x, -p.y);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator/(const wxPoint& p, int i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(const wxPoint& p, int i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(int i, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator/(const wxPoint& p, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(const wxPoint& p, unsigned int i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(unsigned int i, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x * i, p.y * i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator/(const wxPoint& p, long i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(const wxPoint& p, long i)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * i), int(p.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(long i, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * i), int(p.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator/(const wxPoint& p, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxPoint(p.x / i, p.y / i);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(const wxPoint& p, unsigned long i)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * i), int(p.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(unsigned long i, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * i), int(p.y * i));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator/(const wxPoint& p, double f)
|
||||||
|
{
|
||||||
|
return wxPoint(wxRound(p.x / f), wxRound(p.y / f));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(const wxPoint& p, double f)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * f), int(p.y * f));
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint operator*(double f, const wxPoint& p)
|
||||||
|
{
|
||||||
|
return wxPoint(int(p.x * f), int(p.y * f));
|
||||||
|
}
|
||||||
|
|
||||||
// check if both components are set/initialized
|
// check if both components are set/initialized
|
||||||
bool IsFullySpecified() const { return x != wxDefaultCoord && y != wxDefaultCoord; }
|
bool IsFullySpecified() const { return x != wxDefaultCoord && y != wxDefaultCoord; }
|
||||||
|
|
||||||
|
|
@ -601,124 +760,6 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// comparison
|
|
||||||
inline bool operator==(const wxPoint& p1, const wxPoint& p2)
|
|
||||||
{
|
|
||||||
return p1.x == p2.x && p1.y == p2.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator!=(const wxPoint& p1, const wxPoint& p2)
|
|
||||||
{
|
|
||||||
return !(p1 == p2);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// arithmetic operations (component wise)
|
|
||||||
inline wxPoint operator+(const wxPoint& p1, const wxPoint& p2)
|
|
||||||
{
|
|
||||||
return wxPoint(p1.x + p2.x, p1.y + p2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator-(const wxPoint& p1, const wxPoint& p2)
|
|
||||||
{
|
|
||||||
return wxPoint(p1.x - p2.x, p1.y - p2.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator+(const wxPoint& p, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxPoint(p.x + s.x, p.y + s.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator-(const wxPoint& p, const wxSize& s)
|
|
||||||
{
|
|
||||||
return wxPoint(p.x - s.x, p.y - s.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator+(const wxSize& s, const wxPoint& p)
|
|
||||||
{
|
|
||||||
return wxPoint(p.x + s.x, p.y + s.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator-(const wxSize& s, const wxPoint& p)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x - p.x, s.y - p.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator-(const wxPoint& p)
|
|
||||||
{
|
|
||||||
return wxPoint(-p.x, -p.y);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator/(const wxPoint& s, int i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(const wxPoint& s, int i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(int i, const wxPoint& s)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator/(const wxPoint& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(const wxPoint& s, unsigned int i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(unsigned int i, const wxPoint& s)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x * i, s.y * i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator/(const wxPoint& s, long i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(const wxPoint& s, long i)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(long i, const wxPoint& s)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator/(const wxPoint& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxPoint(s.x / i, s.y / i);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(const wxPoint& s, unsigned long i)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(unsigned long i, const wxPoint& s)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(const wxPoint& s, double i)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint operator*(double i, const wxPoint& s)
|
|
||||||
{
|
|
||||||
return wxPoint(int(s.x * i), int(s.y * i));
|
|
||||||
}
|
|
||||||
|
|
||||||
WX_DECLARE_LIST_WITH_DECL(wxPoint, wxPointList, class WXDLLIMPEXP_CORE);
|
WX_DECLARE_LIST_WITH_DECL(wxPoint, wxPointList, class WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
@ -845,9 +886,24 @@ public:
|
||||||
|
|
||||||
// like Union() but don't ignore empty rectangles
|
// like Union() but don't ignore empty rectangles
|
||||||
wxRect& operator+=(const wxRect& rect);
|
wxRect& operator+=(const wxRect& rect);
|
||||||
|
friend WXDLLIMPEXP_CORE wxRect operator+(const wxRect& r1, const wxRect& r2);
|
||||||
|
|
||||||
// intersections of two rectangles not testing for empty rectangles
|
// intersections of two rectangles not testing for empty rectangles
|
||||||
wxRect& operator*=(const wxRect& rect);
|
wxRect& operator*=(const wxRect& rect);
|
||||||
|
friend WXDLLIMPEXP_CORE wxRect operator*(const wxRect& r1, const wxRect& r2);
|
||||||
|
|
||||||
|
// compare rectangles
|
||||||
|
friend bool operator==(const wxRect& r1, const wxRect& r2)
|
||||||
|
{
|
||||||
|
return (r1.x == r2.x) && (r1.y == r2.y) &&
|
||||||
|
(r1.width == r2.width) && (r1.height == r2.height);
|
||||||
|
}
|
||||||
|
|
||||||
|
friend bool operator!=(const wxRect& r1, const wxRect& r2)
|
||||||
|
{
|
||||||
|
return !(r1 == r2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// centre this rectangle in the given (usually, but not necessarily,
|
// centre this rectangle in the given (usually, but not necessarily,
|
||||||
// larger) one
|
// larger) one
|
||||||
|
|
@ -877,24 +933,6 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// compare rectangles
|
|
||||||
inline bool operator==(const wxRect& r1, const wxRect& r2)
|
|
||||||
{
|
|
||||||
return (r1.x == r2.x) && (r1.y == r2.y) &&
|
|
||||||
(r1.width == r2.width) && (r1.height == r2.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator!=(const wxRect& r1, const wxRect& r2)
|
|
||||||
{
|
|
||||||
return !(r1 == r2);
|
|
||||||
}
|
|
||||||
|
|
||||||
// like Union() but don't treat empty rectangles specially
|
|
||||||
WXDLLIMPEXP_CORE wxRect operator+(const wxRect& r1, const wxRect& r2);
|
|
||||||
|
|
||||||
// intersections of two rectangles
|
|
||||||
WXDLLIMPEXP_CORE wxRect operator*(const wxRect& r1, const wxRect& r2);
|
|
||||||
|
|
||||||
// define functions which couldn't be defined above because of declarations
|
// define functions which couldn't be defined above because of declarations
|
||||||
// order
|
// order
|
||||||
inline void wxSize::IncBy(const wxPoint& pt) { IncBy(pt.x, pt.y); }
|
inline void wxSize::IncBy(const wxPoint& pt) { IncBy(pt.x, pt.y); }
|
||||||
|
|
|
||||||
|
|
@ -2284,6 +2284,8 @@ public:
|
||||||
|
|
||||||
void ClearSelection();
|
void ClearSelection();
|
||||||
|
|
||||||
|
bool CopySelection();
|
||||||
|
|
||||||
bool IsInSelection( int row, int col ) const;
|
bool IsInSelection( int row, int col ) const;
|
||||||
|
|
||||||
bool IsInSelection( const wxGridCellCoords& coords ) const
|
bool IsInSelection( const wxGridCellCoords& coords ) const
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,8 @@ public:
|
||||||
// ctors, assignment operators...), but it's ok to have such function
|
// ctors, assignment operators...), but it's ok to have such function
|
||||||
void CopyFromBitmap(const wxBitmap& bmp);
|
void CopyFromBitmap(const wxBitmap& bmp);
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxIcon, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxIcon);
|
wxDECLARE_DYNAMIC_CLASS(wxIcon);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,9 @@ public:
|
||||||
// Is the window split?
|
// Is the window split?
|
||||||
bool IsSplit() const { return (m_windowTwo != nullptr); }
|
bool IsSplit() const { return (m_windowTwo != nullptr); }
|
||||||
|
|
||||||
|
// Return true if wxSP_LIVE_UPDATE is always used.
|
||||||
|
bool AlwaysUsesLiveUpdate() const;
|
||||||
|
|
||||||
// Sets the border size
|
// Sets the border size
|
||||||
void SetBorderSize(int WXUNUSED(width)) { }
|
void SetBorderSize(int WXUNUSED(width)) { }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@ protected:
|
||||||
*m_key_current,
|
*m_key_current,
|
||||||
// A hint to select a parent item after deleting a child
|
// A hint to select a parent item after deleting a child
|
||||||
*m_select_me;
|
*m_select_me;
|
||||||
unsigned short m_indent;
|
unsigned int m_indent;
|
||||||
int m_lineHeight;
|
int m_lineHeight;
|
||||||
wxPen m_dottedPen;
|
wxPen m_dottedPen;
|
||||||
wxBrush m_hilightBrush,
|
wxBrush m_hilightBrush,
|
||||||
|
|
@ -357,6 +357,8 @@ protected:
|
||||||
virtual wxSize DoGetBestSize() const override;
|
virtual wxSize DoGetBestSize() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void OnDPIChanged(wxDPIChangedEvent& event);
|
||||||
|
|
||||||
void OnSysColourChanged(wxSysColourChangedEvent& WXUNUSED(event))
|
void OnSysColourChanged(wxSysColourChangedEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
InitVisualAttributes();
|
InitVisualAttributes();
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,60 @@ public :
|
||||||
inline bool operator==(const wxPoint2DInt& pt) const;
|
inline bool operator==(const wxPoint2DInt& pt) const;
|
||||||
inline bool operator!=(const wxPoint2DInt& pt) const;
|
inline bool operator!=(const wxPoint2DInt& pt) const;
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator+(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt1.m_x + pt2.m_x , pt1.m_y + pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator-(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt1.m_x - pt2.m_x , pt1.m_y - pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator*(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt1.m_x * pt2.m_x , pt1.m_y * pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator*(wxInt32 n , const wxPoint2DInt& pt)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator*(wxDouble n , const wxPoint2DInt& pt)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x * n) ,
|
||||||
|
static_cast<wxInt32>(pt.m_y * n) );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator*(const wxPoint2DInt& pt , wxInt32 n)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator*(const wxPoint2DInt& pt , wxDouble n)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x * n) ,
|
||||||
|
static_cast<wxInt32>(pt.m_y * n) );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator/(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt1.m_x / pt2.m_x , pt1.m_y / pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator/(const wxPoint2DInt& pt , wxInt32 n)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( pt.m_x / n , pt.m_y / n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DInt operator/(const wxPoint2DInt& pt , wxDouble n)
|
||||||
|
{
|
||||||
|
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x / n) ,
|
||||||
|
static_cast<wxInt32>(pt.m_y / n) );
|
||||||
|
}
|
||||||
|
|
||||||
#if wxUSE_STREAMS
|
#if wxUSE_STREAMS
|
||||||
void WriteTo( wxDataOutputStream &stream ) const;
|
void WriteTo( wxDataOutputStream &stream ) const;
|
||||||
void ReadFrom( wxDataInputStream &stream );
|
void ReadFrom( wxDataInputStream &stream );
|
||||||
|
|
@ -80,17 +134,6 @@ public :
|
||||||
wxInt32 m_y;
|
wxInt32 m_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline wxPoint2DInt operator+(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2);
|
|
||||||
inline wxPoint2DInt operator-(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2);
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2);
|
|
||||||
inline wxPoint2DInt operator*(wxInt32 n , const wxPoint2DInt& pt);
|
|
||||||
inline wxPoint2DInt operator*(wxDouble n , const wxPoint2DInt& pt);
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt , wxInt32 n);
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt , wxDouble n);
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2);
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt , wxInt32 n);
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt , wxDouble n);
|
|
||||||
|
|
||||||
inline wxPoint2DInt::wxPoint2DInt()
|
inline wxPoint2DInt::wxPoint2DInt()
|
||||||
{
|
{
|
||||||
m_x = 0;
|
m_x = 0;
|
||||||
|
|
@ -209,60 +252,6 @@ inline bool wxPoint2DInt::operator!=(const wxPoint2DInt& pt) const
|
||||||
return m_x != pt.m_x || m_y != pt.m_y;
|
return m_x != pt.m_x || m_y != pt.m_y;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline wxPoint2DInt operator+(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt1.m_x + pt2.m_x , pt1.m_y + pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator-(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt1.m_x - pt2.m_x , pt1.m_y - pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt1.m_x * pt2.m_x , pt1.m_y * pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator*(wxInt32 n , const wxPoint2DInt& pt)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator*(wxDouble n , const wxPoint2DInt& pt)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x * n) ,
|
|
||||||
static_cast<wxInt32>(pt.m_y * n) );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt , wxInt32 n)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator*(const wxPoint2DInt& pt , wxDouble n)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x * n) ,
|
|
||||||
static_cast<wxInt32>(pt.m_y * n) );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt1 , const wxPoint2DInt& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt1.m_x / pt2.m_x , pt1.m_y / pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt , wxInt32 n)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( pt.m_x / n , pt.m_y / n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DInt operator/(const wxPoint2DInt& pt , wxDouble n)
|
|
||||||
{
|
|
||||||
return wxPoint2DInt( static_cast<wxInt32>(pt.m_x / n) ,
|
|
||||||
static_cast<wxInt32>(pt.m_y / n) );
|
|
||||||
}
|
|
||||||
|
|
||||||
// wxPoint2Ds represent a point or a vector in a 2d coordinate system
|
// wxPoint2Ds represent a point or a vector in a 2d coordinate system
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxPoint2DDouble
|
class WXDLLIMPEXP_CORE wxPoint2DDouble
|
||||||
|
|
@ -307,21 +296,61 @@ public :
|
||||||
inline bool operator==(const wxPoint2DDouble& pt) const;
|
inline bool operator==(const wxPoint2DDouble& pt) const;
|
||||||
inline bool operator!=(const wxPoint2DDouble& pt) const;
|
inline bool operator!=(const wxPoint2DDouble& pt) const;
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator+(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt1.m_x + pt2.m_x , pt1.m_y + pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator-(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt1.m_x - pt2.m_x , pt1.m_y - pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator*(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt1.m_x * pt2.m_x , pt1.m_y * pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator*(wxDouble n , const wxPoint2DDouble& pt)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator*(wxInt32 n , const wxPoint2DDouble& pt)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxDouble n)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxInt32 n)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator/(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt1.m_x / pt2.m_x , pt1.m_y / pt2.m_y );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxDouble n)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x / n , pt.m_y / n );
|
||||||
|
}
|
||||||
|
|
||||||
|
friend wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxInt32 n)
|
||||||
|
{
|
||||||
|
return wxPoint2DDouble( pt.m_x / n , pt.m_y / n );
|
||||||
|
}
|
||||||
|
|
||||||
wxDouble m_x;
|
wxDouble m_x;
|
||||||
wxDouble m_y;
|
wxDouble m_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline wxPoint2DDouble operator+(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2);
|
|
||||||
inline wxPoint2DDouble operator-(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2);
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2);
|
|
||||||
inline wxPoint2DDouble operator*(wxDouble n , const wxPoint2DDouble& pt);
|
|
||||||
inline wxPoint2DDouble operator*(wxInt32 n , const wxPoint2DDouble& pt);
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxDouble n);
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxInt32 n);
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2);
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxDouble n);
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxInt32 n);
|
|
||||||
|
|
||||||
inline wxPoint2DDouble::wxPoint2DDouble()
|
inline wxPoint2DDouble::wxPoint2DDouble()
|
||||||
{
|
{
|
||||||
m_x = 0.0;
|
m_x = 0.0;
|
||||||
|
|
@ -426,57 +455,6 @@ inline bool wxPoint2DDouble::operator!=(const wxPoint2DDouble& pt) const
|
||||||
return !(*this == pt);
|
return !(*this == pt);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline wxPoint2DDouble operator+(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt1.m_x + pt2.m_x , pt1.m_y + pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator-(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt1.m_x - pt2.m_x , pt1.m_y - pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt1.m_x * pt2.m_x , pt1.m_y * pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator*(wxDouble n , const wxPoint2DDouble& pt)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator*(wxInt32 n , const wxPoint2DDouble& pt)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxDouble n)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator*(const wxPoint2DDouble& pt , wxInt32 n)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x * n , pt.m_y * n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt1 , const wxPoint2DDouble& pt2)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt1.m_x / pt2.m_x , pt1.m_y / pt2.m_y );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxDouble n)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x / n , pt.m_y / n );
|
|
||||||
}
|
|
||||||
|
|
||||||
inline wxPoint2DDouble operator/(const wxPoint2DDouble& pt , wxInt32 n)
|
|
||||||
{
|
|
||||||
return wxPoint2DDouble( pt.m_x / n , pt.m_y / n );
|
|
||||||
}
|
|
||||||
|
|
||||||
// wxRect2Ds are an axis-aligned rectangles, each side of the rect is parallel to the x- or m_y- axis. The rectangle is either defined by the
|
// wxRect2Ds are an axis-aligned rectangles, each side of the rect is parallel to the x- or m_y- axis. The rectangle is either defined by the
|
||||||
// top left and bottom right corner, or by the top left corner and size. A point is contained within the rectangle if
|
// top left and bottom right corner, or by the top left corner and size. A point is contained within the rectangle if
|
||||||
// left <= x < right and top <= m_y < bottom , thus it is a half open interval.
|
// left <= x < right and top <= m_y < bottom , thus it is a half open interval.
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,8 @@ protected:
|
||||||
private:
|
private:
|
||||||
typedef wxCheckBoxBase base_type;
|
typedef wxCheckBoxBase base_type;
|
||||||
|
|
||||||
|
virtual void GTKRemoveBorder() override;
|
||||||
|
|
||||||
GtkWidget *m_widgetCheckbox;
|
GtkWidget *m_widgetCheckbox;
|
||||||
GtkWidget *m_widgetLabel;
|
GtkWidget *m_widgetLabel;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,6 +87,8 @@ protected:
|
||||||
wxSize GTKGetEntryMargins(GtkEntry* entry) const;
|
wxSize GTKGetEntryMargins(GtkEntry* entry) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
virtual void GTKRemoveBorder() override;
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxControl);
|
wxDECLARE_DYNAMIC_CLASS(wxControl);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,8 @@ class wxClientDCImpl: public wxGTKCairoDCImpl
|
||||||
public:
|
public:
|
||||||
wxClientDCImpl(wxClientDC* owner, wxWindow* window);
|
wxClientDCImpl(wxClientDC* owner, wxWindow* window);
|
||||||
|
|
||||||
|
static bool CanBeUsedForDrawing(const wxWindow* window);
|
||||||
|
|
||||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||||
};
|
};
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -150,6 +150,9 @@ public:
|
||||||
|
|
||||||
virtual void DoGetSize(int *width, int *height) const override;
|
virtual void DoGetSize(int *width, int *height) const override;
|
||||||
|
|
||||||
|
static bool
|
||||||
|
CanBeUsedForDrawing(const wxWindow* WXUNUSED(window)) { return true; }
|
||||||
|
|
||||||
wxDECLARE_ABSTRACT_CLASS(wxClientDCImpl);
|
wxDECLARE_ABSTRACT_CLASS(wxClientDCImpl);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ template<typename T> void InitMouseEvent(wxWindowGTK *win,
|
||||||
// Some no-window widgets, notably GtkEntry on GTK3, have a GdkWindow
|
// Some no-window widgets, notably GtkEntry on GTK3, have a GdkWindow
|
||||||
// covering part of their area. Event coordinates from that window are
|
// covering part of their area. Event coordinates from that window are
|
||||||
// not relative to the widget, so do the conversion here.
|
// not relative to the widget, so do the conversion here.
|
||||||
if (!gtk_widget_get_has_window(win->m_widget) &&
|
if (win->m_wxwindow == nullptr && !gtk_widget_get_has_window(win->m_widget) &&
|
||||||
gtk_widget_get_window(win->m_widget) == gdk_window_get_parent(gdk_event->window))
|
gtk_widget_get_window(win->m_widget) == gdk_window_get_parent(gdk_event->window))
|
||||||
{
|
{
|
||||||
GtkAllocation a;
|
GtkAllocation a;
|
||||||
|
|
|
||||||
|
|
@ -1334,7 +1334,7 @@
|
||||||
|
|
||||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||||
// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the
|
// set to 1 and, under Windows, also to add opengl32.lib to the
|
||||||
// list of libraries used to link your application when linking to wxWidgets
|
// list of libraries used to link your application when linking to wxWidgets
|
||||||
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -466,6 +466,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init();
|
void Init();
|
||||||
|
virtual void GTKRemoveBorder();
|
||||||
|
|
||||||
// return true if this window must have a non-null parent, false if it can
|
// return true if this window must have a non-null parent, false if it can
|
||||||
// be created without parent (normally only top level windows but in wxGTK
|
// be created without parent (normally only top level windows but in wxGTK
|
||||||
|
|
|
||||||
|
|
@ -343,6 +343,9 @@ protected:
|
||||||
virtual const wxHeaderColumn& GetColumn(unsigned int idx) const override;
|
virtual const wxHeaderColumn& GetColumn(unsigned int idx) const override;
|
||||||
virtual bool UpdateColumnWidthToFit(unsigned int idx, int widthTitle) override;
|
virtual bool UpdateColumnWidthToFit(unsigned int idx, int widthTitle) override;
|
||||||
|
|
||||||
|
virtual void UpdateColumnVisibility(unsigned int idx, bool show) override;
|
||||||
|
virtual void UpdateColumnsOrder(const wxArrayInt& order) override;
|
||||||
|
|
||||||
// and define another one to be overridden in the derived classes: it
|
// and define another one to be overridden in the derived classes: it
|
||||||
// should return the best width for the given column contents or -1 if not
|
// should return the best width for the given column contents or -1 if not
|
||||||
// implemented, we use it to implement UpdateColumnWidthToFit()
|
// implemented, we use it to implement UpdateColumnWidthToFit()
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
#define _WX_ICON_H_BASE_
|
#define _WX_ICON_H_BASE_
|
||||||
|
|
||||||
#include "wx/iconloc.h"
|
#include "wx/iconloc.h"
|
||||||
|
#include "wx/variant.h"
|
||||||
|
|
||||||
// a more readable way to tell
|
// a more readable way to tell
|
||||||
#define wxICON_SCREEN_DEPTH (-1)
|
#define wxICON_SCREEN_DEPTH (-1)
|
||||||
|
|
@ -57,15 +57,5 @@
|
||||||
#define wxICON_IS_BITMAP
|
#define wxICON_IS_BITMAP
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// wxVariant support
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_VARIANT
|
|
||||||
#include "wx/variant.h"
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxIcon,WXDLLIMPEXP_CORE)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// _WX_ICON_H_BASE_
|
// _WX_ICON_H_BASE_
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
#include "wx/gdicmn.h"
|
#include "wx/gdicmn.h"
|
||||||
#include "wx/hashmap.h"
|
#include "wx/hashmap.h"
|
||||||
#include "wx/arrstr.h"
|
#include "wx/arrstr.h"
|
||||||
|
#include "wx/variant.h"
|
||||||
|
|
||||||
#if wxUSE_STREAMS
|
#if wxUSE_STREAMS
|
||||||
# include "wx/stream.h"
|
# include "wx/stream.h"
|
||||||
|
|
@ -98,15 +99,6 @@ class WXDLLIMPEXP_FWD_CORE wxImageHandler;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxImage;
|
class WXDLLIMPEXP_FWD_CORE wxImage;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
class WXDLLIMPEXP_FWD_CORE wxPalette;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
// wxVariant support
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#if wxUSE_VARIANT
|
|
||||||
#include "wx/variant.h"
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxImage,WXDLLIMPEXP_CORE)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxImageHandler
|
// wxImageHandler
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
@ -594,6 +586,9 @@ public:
|
||||||
static HSVValue RGBtoHSV(const RGBValue& rgb);
|
static HSVValue RGBtoHSV(const RGBValue& rgb);
|
||||||
static RGBValue HSVtoRGB(const HSVValue& hsv);
|
static RGBValue HSVtoRGB(const HSVValue& hsv);
|
||||||
|
|
||||||
|
// wxVariant support
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxImage, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
static wxList sm_handlers;
|
static wxList sm_handlers;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -341,6 +341,19 @@ protected:
|
||||||
#endif // WXWIN_COMPATIBILITY_3_0
|
#endif // WXWIN_COMPATIBILITY_3_0
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Special kind of trivial formatter which simply uses the message unchanged.
|
||||||
|
class wxLogFormatterNone : public wxLogFormatter
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxLogFormatterNone() = default;
|
||||||
|
|
||||||
|
virtual wxString Format(wxLogLevel WXUNUSED(level),
|
||||||
|
const wxString& msg,
|
||||||
|
const wxLogRecordInfo& WXUNUSED(info)) const override
|
||||||
|
{
|
||||||
|
return msg;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// derive from this class to redirect (or suppress, or ...) log messages
|
// derive from this class to redirect (or suppress, or ...) log messages
|
||||||
|
|
@ -665,6 +678,10 @@ public:
|
||||||
// get the string contents with all messages logged
|
// get the string contents with all messages logged
|
||||||
const wxString& GetBuffer() const { return m_str; }
|
const wxString& GetBuffer() const { return m_str; }
|
||||||
|
|
||||||
|
// clear all the messages, this, in particular, prevents them from being
|
||||||
|
// flushed
|
||||||
|
void Clear() { m_str.clear(); }
|
||||||
|
|
||||||
// show the buffer contents to the user in the best possible way (this uses
|
// show the buffer contents to the user in the best possible way (this uses
|
||||||
// wxMessageOutputMessageBox) and clear it
|
// wxMessageOutputMessageBox) and clear it
|
||||||
virtual void Flush() override;
|
virtual void Flush() override;
|
||||||
|
|
@ -748,6 +765,41 @@ private:
|
||||||
bool m_flagOld; // the previous value of the wxLog::ms_doLog
|
bool m_flagOld; // the previous value of the wxLog::ms_doLog
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// Collect all logged messages into a (multiline) string.
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
// This class is supposed to be used as a local variable and collects, without
|
||||||
|
// showing them, all the messages logged during its lifetime.
|
||||||
|
class wxLogCollector
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
wxLogCollector()
|
||||||
|
: m_logOrig{wxLog::SetActiveTarget(&m_logBuf)}
|
||||||
|
{
|
||||||
|
delete m_logBuf.SetFormatter(new wxLogFormatterNone{});
|
||||||
|
}
|
||||||
|
|
||||||
|
~wxLogCollector()
|
||||||
|
{
|
||||||
|
// Don't flush the messages in the buffer.
|
||||||
|
m_logBuf.Clear();
|
||||||
|
|
||||||
|
wxLog::SetActiveTarget(m_logOrig);
|
||||||
|
}
|
||||||
|
|
||||||
|
const wxString& GetMessages() const
|
||||||
|
{
|
||||||
|
return m_logBuf.GetBuffer();
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
wxLogBuffer m_logBuf;
|
||||||
|
wxLog* const m_logOrig;
|
||||||
|
|
||||||
|
wxDECLARE_NO_COPY_CLASS(wxLogCollector);
|
||||||
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// chaining log target: installs itself as a log target and passes all
|
// chaining log target: installs itself as a log target and passes all
|
||||||
// messages to the real log target given to it in the ctor but also forwards
|
// messages to the real log target given to it in the ctor but also forwards
|
||||||
|
|
|
||||||
|
|
@ -197,6 +197,8 @@ public:
|
||||||
{ return wxLongLongNative(m_ll + ll.m_ll); }
|
{ return wxLongLongNative(m_ll + ll.m_ll); }
|
||||||
wxLongLongNative& operator+=(const wxLongLongNative& ll)
|
wxLongLongNative& operator+=(const wxLongLongNative& ll)
|
||||||
{ m_ll += ll.m_ll; return *this; }
|
{ m_ll += ll.m_ll; return *this; }
|
||||||
|
friend wxLongLongNative operator+(long l, const wxLongLongNative& ll)
|
||||||
|
{ return ll + l; }
|
||||||
|
|
||||||
wxLongLongNative operator+(const wxLongLong_t ll) const
|
wxLongLongNative operator+(const wxLongLong_t ll) const
|
||||||
{ return wxLongLongNative(m_ll + ll); }
|
{ return wxLongLongNative(m_ll + ll); }
|
||||||
|
|
@ -221,6 +223,10 @@ public:
|
||||||
{ return wxLongLongNative(m_ll - ll.m_ll); }
|
{ return wxLongLongNative(m_ll - ll.m_ll); }
|
||||||
wxLongLongNative& operator-=(const wxLongLongNative& ll)
|
wxLongLongNative& operator-=(const wxLongLongNative& ll)
|
||||||
{ m_ll -= ll.m_ll; return *this; }
|
{ m_ll -= ll.m_ll; return *this; }
|
||||||
|
friend wxLongLongNative operator-(long l, const wxLongLongNative& ll)
|
||||||
|
{
|
||||||
|
return wxLongLongNative(l) - ll;
|
||||||
|
}
|
||||||
|
|
||||||
wxLongLongNative operator-(const wxLongLong_t ll) const
|
wxLongLongNative operator-(const wxLongLong_t ll) const
|
||||||
{ return wxLongLongNative(m_ll - ll); }
|
{ return wxLongLongNative(m_ll - ll); }
|
||||||
|
|
@ -314,6 +320,13 @@ public:
|
||||||
bool operator>=(long l) const
|
bool operator>=(long l) const
|
||||||
{ return m_ll >= l; }
|
{ return m_ll >= l; }
|
||||||
|
|
||||||
|
friend bool operator<(long l, const wxLongLongNative& ll) { return ll > l; }
|
||||||
|
friend bool operator>(long l, const wxLongLongNative& ll) { return ll < l; }
|
||||||
|
friend bool operator<=(long l, const wxLongLongNative& ll) { return ll >= l; }
|
||||||
|
friend bool operator>=(long l, const wxLongLongNative& ll) { return ll <= l; }
|
||||||
|
friend bool operator==(long l, const wxLongLongNative& ll) { return ll == l; }
|
||||||
|
friend bool operator!=(long l, const wxLongLongNative& ll) { return ll != l; }
|
||||||
|
|
||||||
// miscellaneous
|
// miscellaneous
|
||||||
|
|
||||||
// return the string representation of this number
|
// return the string representation of this number
|
||||||
|
|
@ -421,6 +434,8 @@ public:
|
||||||
{ return wxULongLongNative(m_ll + ll.m_ll); }
|
{ return wxULongLongNative(m_ll + ll.m_ll); }
|
||||||
wxULongLongNative& operator+=(const wxULongLongNative& ll)
|
wxULongLongNative& operator+=(const wxULongLongNative& ll)
|
||||||
{ m_ll += ll.m_ll; return *this; }
|
{ m_ll += ll.m_ll; return *this; }
|
||||||
|
friend wxULongLongNative operator+(unsigned long l, const wxULongLongNative& ull)
|
||||||
|
{ return ull + l; }
|
||||||
|
|
||||||
wxULongLongNative operator+(const wxULongLong_t ll) const
|
wxULongLongNative operator+(const wxULongLong_t ll) const
|
||||||
{ return wxULongLongNative(m_ll + ll); }
|
{ return wxULongLongNative(m_ll + ll); }
|
||||||
|
|
@ -440,6 +455,10 @@ public:
|
||||||
{ return wxULongLongNative(m_ll - ll.m_ll); }
|
{ return wxULongLongNative(m_ll - ll.m_ll); }
|
||||||
wxULongLongNative& operator-=(const wxULongLongNative& ll)
|
wxULongLongNative& operator-=(const wxULongLongNative& ll)
|
||||||
{ m_ll -= ll.m_ll; return *this; }
|
{ m_ll -= ll.m_ll; return *this; }
|
||||||
|
friend wxULongLongNative operator-(unsigned long l, const wxULongLongNative& ull)
|
||||||
|
{
|
||||||
|
return wxULongLongNative(l - ull.m_ll);
|
||||||
|
}
|
||||||
|
|
||||||
wxULongLongNative operator-(const wxULongLong_t ll) const
|
wxULongLongNative operator-(const wxULongLong_t ll) const
|
||||||
{ return wxULongLongNative(m_ll - ll); }
|
{ return wxULongLongNative(m_ll - ll); }
|
||||||
|
|
@ -533,6 +552,13 @@ public:
|
||||||
bool operator>=(unsigned long l) const
|
bool operator>=(unsigned long l) const
|
||||||
{ return m_ll >= l; }
|
{ return m_ll >= l; }
|
||||||
|
|
||||||
|
friend bool operator<(unsigned long l, const wxULongLongNative& ull) { return ull > l; }
|
||||||
|
friend bool operator>(unsigned long l, const wxULongLongNative& ull) { return ull < l; }
|
||||||
|
friend bool operator<=(unsigned long l, const wxULongLongNative& ull) { return ull >= l; }
|
||||||
|
friend bool operator>=(unsigned long l, const wxULongLongNative& ull) { return ull <= l; }
|
||||||
|
friend bool operator==(unsigned long l, const wxULongLongNative& ull) { return ull == l; }
|
||||||
|
friend bool operator!=(unsigned long l, const wxULongLongNative& ull) { return ull != l; }
|
||||||
|
|
||||||
// miscellaneous
|
// miscellaneous
|
||||||
|
|
||||||
// return the string representation of this number
|
// return the string representation of this number
|
||||||
|
|
@ -696,6 +722,8 @@ public:
|
||||||
wxLongLongWx operator+(long l) const;
|
wxLongLongWx operator+(long l) const;
|
||||||
wxLongLongWx& operator+=(long l);
|
wxLongLongWx& operator+=(long l);
|
||||||
|
|
||||||
|
friend wxLongLongWx operator+(long l, const wxLongLongWx& ll) { return ll + l; }
|
||||||
|
|
||||||
// pre increment operator
|
// pre increment operator
|
||||||
wxLongLongWx& operator++();
|
wxLongLongWx& operator++();
|
||||||
|
|
||||||
|
|
@ -709,6 +737,10 @@ public:
|
||||||
// subtraction
|
// subtraction
|
||||||
wxLongLongWx operator-(const wxLongLongWx& ll) const;
|
wxLongLongWx operator-(const wxLongLongWx& ll) const;
|
||||||
wxLongLongWx& operator-=(const wxLongLongWx& ll);
|
wxLongLongWx& operator-=(const wxLongLongWx& ll);
|
||||||
|
friend wxLongLongWx operator-(long l, const wxLongLongWx& ll)
|
||||||
|
{
|
||||||
|
return wxLongLongWx(l) - ll;
|
||||||
|
}
|
||||||
|
|
||||||
// pre decrement operator
|
// pre decrement operator
|
||||||
wxLongLongWx& operator--();
|
wxLongLongWx& operator--();
|
||||||
|
|
@ -761,6 +793,13 @@ public:
|
||||||
bool operator<=(long l) const { return *this < l || *this == l; }
|
bool operator<=(long l) const { return *this < l || *this == l; }
|
||||||
bool operator>=(long l) const { return *this > l || *this == l; }
|
bool operator>=(long l) const { return *this > l || *this == l; }
|
||||||
|
|
||||||
|
friend bool operator<(long l, const wxLongLongWx& ll) { return ll > l; }
|
||||||
|
friend bool operator>(long l, const wxLongLongWx& ll) { return ll < l; }
|
||||||
|
friend bool operator<=(long l, const wxLongLongWx& ll) { return ll >= l; }
|
||||||
|
friend bool operator>=(long l, const wxLongLongWx& ll) { return ll <= l; }
|
||||||
|
friend bool operator==(long l, const wxLongLongWx& ll) { return ll == l; }
|
||||||
|
friend bool operator!=(long l, const wxLongLongWx& ll) { return ll != l; }
|
||||||
|
|
||||||
// multiplication
|
// multiplication
|
||||||
wxLongLongWx operator*(const wxLongLongWx& ll) const;
|
wxLongLongWx operator*(const wxLongLongWx& ll) const;
|
||||||
wxLongLongWx& operator*=(const wxLongLongWx& ll);
|
wxLongLongWx& operator*=(const wxLongLongWx& ll);
|
||||||
|
|
@ -795,7 +834,14 @@ public:
|
||||||
class wxTextOutputStream& operator<<(class wxTextOutputStream&, const wxLongLongWx&);
|
class wxTextOutputStream& operator<<(class wxTextOutputStream&, const wxLongLongWx&);
|
||||||
friend WXDLLIMPEXP_BASE
|
friend WXDLLIMPEXP_BASE
|
||||||
class wxTextInputStream& operator>>(class wxTextInputStream&, wxLongLongWx&);
|
class wxTextInputStream& operator>>(class wxTextInputStream&, wxLongLongWx&);
|
||||||
#endif
|
|
||||||
|
#if wxUSE_LONGLONG_NATIVE
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
class wxTextOutputStream &operator<<(class wxTextOutputStream &stream, wxLongLong_t value);
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxLongLong_t &value);
|
||||||
|
#endif // wxUSE_LONGLONG_NATIVE
|
||||||
|
#endif // wxUSE_STREAMS
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// long is at least 32 bits, so represent our 64bit number as 2 longs
|
// long is at least 32 bits, so represent our 64bit number as 2 longs
|
||||||
|
|
@ -920,6 +966,8 @@ public:
|
||||||
wxULongLongWx& operator+=(const wxULongLongWx& ll);
|
wxULongLongWx& operator+=(const wxULongLongWx& ll);
|
||||||
wxULongLongWx operator+(unsigned long l) const;
|
wxULongLongWx operator+(unsigned long l) const;
|
||||||
wxULongLongWx& operator+=(unsigned long l);
|
wxULongLongWx& operator+=(unsigned long l);
|
||||||
|
friend wxULongLongWx operator+(unsigned long l, const wxULongLongWx& ull)
|
||||||
|
{ return ull + l; }
|
||||||
|
|
||||||
// pre increment operator
|
// pre increment operator
|
||||||
wxULongLongWx& operator++();
|
wxULongLongWx& operator++();
|
||||||
|
|
@ -931,6 +979,13 @@ public:
|
||||||
wxLongLongWx operator-(const wxULongLongWx& ll) const;
|
wxLongLongWx operator-(const wxULongLongWx& ll) const;
|
||||||
wxULongLongWx& operator-=(const wxULongLongWx& ll);
|
wxULongLongWx& operator-=(const wxULongLongWx& ll);
|
||||||
|
|
||||||
|
friend wxLongLongWx operator-(unsigned long l, const wxULongLongWx& ull)
|
||||||
|
{
|
||||||
|
const wxULongLongWx ret = wxULongLongWx(l) - ull;
|
||||||
|
return wxLongLongWx((wxInt32)ret.GetHi(),ret.GetLo());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// pre decrement operator
|
// pre decrement operator
|
||||||
wxULongLongWx& operator--();
|
wxULongLongWx& operator--();
|
||||||
|
|
||||||
|
|
@ -977,6 +1032,13 @@ public:
|
||||||
bool operator<=(unsigned long l) const { return *this < l || *this == l; }
|
bool operator<=(unsigned long l) const { return *this < l || *this == l; }
|
||||||
bool operator>=(unsigned long l) const { return *this > l || *this == l; }
|
bool operator>=(unsigned long l) const { return *this > l || *this == l; }
|
||||||
|
|
||||||
|
friend bool operator<(unsigned long l, const wxULongLongWx& ull) { return ull > l; }
|
||||||
|
friend bool operator>(unsigned long l, const wxULongLongWx& ull) { return ull < l; }
|
||||||
|
friend bool operator<=(unsigned long l, const wxULongLongWx& ull) { return ull >= l; }
|
||||||
|
friend bool operator>=(unsigned long l, const wxULongLongWx& ull) { return ull <= l; }
|
||||||
|
friend bool operator==(unsigned long l, const wxULongLongWx& ull) { return ull == l; }
|
||||||
|
friend bool operator!=(unsigned long l, const wxULongLongWx& ull) { return ull != l; }
|
||||||
|
|
||||||
// multiplication
|
// multiplication
|
||||||
wxULongLongWx operator*(const wxULongLongWx& ll) const;
|
wxULongLongWx operator*(const wxULongLongWx& ll) const;
|
||||||
wxULongLongWx& operator*=(const wxULongLongWx& ll);
|
wxULongLongWx& operator*=(const wxULongLongWx& ll);
|
||||||
|
|
@ -1011,7 +1073,14 @@ public:
|
||||||
class wxTextOutputStream& operator<<(class wxTextOutputStream&, const wxULongLongWx&);
|
class wxTextOutputStream& operator<<(class wxTextOutputStream&, const wxULongLongWx&);
|
||||||
friend WXDLLIMPEXP_BASE
|
friend WXDLLIMPEXP_BASE
|
||||||
class wxTextInputStream& operator>>(class wxTextInputStream&, wxULongLongWx&);
|
class wxTextInputStream& operator>>(class wxTextInputStream&, wxULongLongWx&);
|
||||||
#endif
|
|
||||||
|
#if wxUSE_LONGLONG_NATIVE
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
class wxTextOutputStream &operator<<(class wxTextOutputStream &stream, wxULongLong_t value);
|
||||||
|
friend WXDLLIMPEXP_BASE
|
||||||
|
class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxULongLong_t &value);
|
||||||
|
#endif // wxUSE_LONGLONG_NATIVE
|
||||||
|
#endif // wxUSE_STREAMS
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// long is at least 32 bits, so represent our 64bit number as 2 longs
|
// long is at least 32 bits, so represent our 64bit number as 2 longs
|
||||||
|
|
@ -1031,48 +1100,6 @@ private:
|
||||||
|
|
||||||
#endif // wxUSE_LONGLONG_WX
|
#endif // wxUSE_LONGLONG_WX
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// binary operators
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
inline bool operator<(long l, const wxLongLong& ll) { return ll > l; }
|
|
||||||
inline bool operator>(long l, const wxLongLong& ll) { return ll < l; }
|
|
||||||
inline bool operator<=(long l, const wxLongLong& ll) { return ll >= l; }
|
|
||||||
inline bool operator>=(long l, const wxLongLong& ll) { return ll <= l; }
|
|
||||||
inline bool operator==(long l, const wxLongLong& ll) { return ll == l; }
|
|
||||||
inline bool operator!=(long l, const wxLongLong& ll) { return ll != l; }
|
|
||||||
|
|
||||||
inline wxLongLong operator+(long l, const wxLongLong& ll) { return ll + l; }
|
|
||||||
inline wxLongLong operator-(long l, const wxLongLong& ll)
|
|
||||||
{
|
|
||||||
return wxLongLong(l) - ll;
|
|
||||||
}
|
|
||||||
|
|
||||||
inline bool operator<(unsigned long l, const wxULongLong& ull) { return ull > l; }
|
|
||||||
inline bool operator>(unsigned long l, const wxULongLong& ull) { return ull < l; }
|
|
||||||
inline bool operator<=(unsigned long l, const wxULongLong& ull) { return ull >= l; }
|
|
||||||
inline bool operator>=(unsigned long l, const wxULongLong& ull) { return ull <= l; }
|
|
||||||
inline bool operator==(unsigned long l, const wxULongLong& ull) { return ull == l; }
|
|
||||||
inline bool operator!=(unsigned long l, const wxULongLong& ull) { return ull != l; }
|
|
||||||
|
|
||||||
inline wxULongLong operator+(unsigned long l, const wxULongLong& ull) { return ull + l; }
|
|
||||||
|
|
||||||
inline wxLongLong operator-(unsigned long l, const wxULongLong& ull)
|
|
||||||
{
|
|
||||||
const wxULongLong ret = wxULongLong(l) - ull;
|
|
||||||
return wxLongLong((wxInt32)ret.GetHi(),ret.GetLo());
|
|
||||||
}
|
|
||||||
|
|
||||||
#if wxUSE_LONGLONG_NATIVE && wxUSE_STREAMS
|
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE class wxTextOutputStream &operator<<(class wxTextOutputStream &stream, wxULongLong_t value);
|
|
||||||
WXDLLIMPEXP_BASE class wxTextOutputStream &operator<<(class wxTextOutputStream &stream, wxLongLong_t value);
|
|
||||||
|
|
||||||
WXDLLIMPEXP_BASE class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxULongLong_t &value);
|
|
||||||
WXDLLIMPEXP_BASE class wxTextInputStream &operator>>(class wxTextInputStream &stream, wxLongLong_t &value);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Specialize numeric_limits<> for our long long wrapper classes.
|
// Specialize numeric_limits<> for our long long wrapper classes.
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,14 @@ public:
|
||||||
int depth = wxBITMAP_SCREEN_DEPTH)
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
{ return CreateWithDIPSize(wxSize(width, height), scale, depth); }
|
{ return CreateWithDIPSize(wxSize(width, height), scale, depth); }
|
||||||
|
|
||||||
|
bool CreateWithLogicalSize(const wxSize& sz,
|
||||||
|
double scale,
|
||||||
|
int depth = wxBITMAP_SCREEN_DEPTH);
|
||||||
|
bool CreateWithLogicalSize(int width, int height,
|
||||||
|
double scale,
|
||||||
|
int depth = wxBITMAP_SCREEN_DEPTH)
|
||||||
|
{ return CreateWithLogicalSize(wxSize(width, height), scale, depth); }
|
||||||
|
|
||||||
virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
|
virtual bool LoadFile(const wxString& name, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
|
||||||
virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = nullptr) const;
|
virtual bool SaveFile(const wxString& name, wxBitmapType type, const wxPalette *cmap = nullptr) const;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,9 @@ public:
|
||||||
|
|
||||||
virtual void DoGetSize(int *width, int *height) const override;
|
virtual void DoGetSize(int *width, int *height) const override;
|
||||||
|
|
||||||
|
static bool
|
||||||
|
CanBeUsedForDrawing(const wxWindow* WXUNUSED(window)) { return true; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void InitDC();
|
void InitDC();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ class wxFileDialogMSWData;
|
||||||
class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
|
class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
wxFileDialog() = default;
|
||||||
wxFileDialog(wxWindow *parent,
|
wxFileDialog(wxWindow *parent,
|
||||||
const wxString& message = wxASCII_STR(wxFileSelectorPromptStr),
|
const wxString& message = wxASCII_STR(wxFileSelectorPromptStr),
|
||||||
const wxString& defaultDir = wxEmptyString,
|
const wxString& defaultDir = wxEmptyString,
|
||||||
|
|
@ -78,7 +79,7 @@ private:
|
||||||
|
|
||||||
// Extra data, possibly null if not needed, use MSWData() to access it if
|
// Extra data, possibly null if not needed, use MSWData() to access it if
|
||||||
// it should be created on demand.
|
// it should be created on demand.
|
||||||
wxFileDialogMSWData* m_data;
|
wxFileDialogMSWData* m_data = nullptr;
|
||||||
|
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxFileDialog);
|
wxDECLARE_DYNAMIC_CLASS(wxFileDialog);
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,8 @@ public:
|
||||||
// ctors, assignment operators...), but it's ok to have such function
|
// ctors, assignment operators...), but it's ok to have such function
|
||||||
void CopyFromBitmap(const wxBitmap& bmp);
|
void CopyFromBitmap(const wxBitmap& bmp);
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxIcon, WXDLLIMPEXP_CORE);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual wxGDIImageRefData *CreateData() const override
|
virtual wxGDIImageRefData *CreateData() const override
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1334,7 +1334,7 @@
|
||||||
|
|
||||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||||
// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the
|
// set to 1 and, under Windows, also to add opengl32.lib to the
|
||||||
// list of libraries used to link your application when linking to wxWidgets
|
// list of libraries used to link your application when linking to wxWidgets
|
||||||
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -221,7 +221,7 @@ public :
|
||||||
virtual void controlTextDidChange();
|
virtual void controlTextDidChange();
|
||||||
|
|
||||||
virtual void AdjustClippingView(wxScrollBar* horizontal, wxScrollBar* vertical) override;
|
virtual void AdjustClippingView(wxScrollBar* horizontal, wxScrollBar* vertical) override;
|
||||||
virtual void UseClippingView(bool clip) override;
|
virtual void UseClippingView() override;
|
||||||
virtual WXWidget GetContainer() const override { return m_osxClipView ? m_osxClipView : m_osxView; }
|
virtual WXWidget GetContainer() const override { return m_osxClipView ? m_osxClipView : m_osxView; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -368,7 +368,7 @@ public :
|
||||||
// scrolling views need a clip subview that acts as parent for native children
|
// scrolling views need a clip subview that acts as parent for native children
|
||||||
// (except for the scollbars) which are children of the view itself
|
// (except for the scollbars) which are children of the view itself
|
||||||
virtual void AdjustClippingView(wxScrollBar* horizontal, wxScrollBar* vertical);
|
virtual void AdjustClippingView(wxScrollBar* horizontal, wxScrollBar* vertical);
|
||||||
virtual void UseClippingView(bool clip);
|
virtual void UseClippingView();
|
||||||
|
|
||||||
// returns native view which acts as a parent for native children
|
// returns native view which acts as a parent for native children
|
||||||
virtual WXWidget GetContainer() const;
|
virtual WXWidget GetContainer() const;
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,9 @@ public:
|
||||||
wxClientDCImpl( wxDC *owner, wxWindow *window );
|
wxClientDCImpl( wxDC *owner, wxWindow *window );
|
||||||
virtual ~wxClientDCImpl();
|
virtual ~wxClientDCImpl();
|
||||||
|
|
||||||
|
static bool
|
||||||
|
CanBeUsedForDrawing(const wxWindow* WXUNUSED(window)) { return false; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_CLASS(wxClientDCImpl);
|
wxDECLARE_CLASS(wxClientDCImpl);
|
||||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||||
|
|
|
||||||
|
|
@ -1341,7 +1341,7 @@
|
||||||
|
|
||||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||||
// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the
|
// set to 1 and, under Windows, also to add opengl32.lib to the
|
||||||
// list of libraries used to link your application when linking to wxWidgets
|
// list of libraries used to link your application when linking to wxWidgets
|
||||||
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -224,7 +224,7 @@ public:
|
||||||
// returns true if children have to clipped to the content area
|
// returns true if children have to clipped to the content area
|
||||||
// (e.g., scrolled windows)
|
// (e.g., scrolled windows)
|
||||||
bool MacClipChildren() const { return m_clipChildren ; }
|
bool MacClipChildren() const { return m_clipChildren ; }
|
||||||
void MacSetClipChildren( bool clip );
|
void MacSetClipChildren();
|
||||||
|
|
||||||
// returns true if the grandchildren need to be clipped to the children's content area
|
// returns true if the grandchildren need to be clipped to the children's content area
|
||||||
// (e.g., splitter windows)
|
// (e.g., splitter windows)
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,8 @@ extern WXDLLIMPEXP_DATA_CORE(wxPenList*) wxThePenList;
|
||||||
// to compile without warnings which it would otherwise provoke from some
|
// to compile without warnings which it would otherwise provoke from some
|
||||||
// compilers as it compares elements of different enums
|
// compilers as it compares elements of different enums
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
wxDEPRECATED_MSG("use wxPENSTYLE_XXX constants")
|
wxDEPRECATED_MSG("use wxPENSTYLE_XXX constants")
|
||||||
inline bool operator==(wxPenStyle s, wxDeprecatedGUIConstants t)
|
inline bool operator==(wxPenStyle s, wxDeprecatedGUIConstants t)
|
||||||
{
|
{
|
||||||
|
|
@ -145,4 +147,6 @@ inline bool operator!=(wxPenStyle s, wxDeprecatedGUIConstants t)
|
||||||
return static_cast<int>(s) != static_cast<int>(t);
|
return static_cast<int>(s) != static_cast<int>(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
#endif // _WX_PEN_H_BASE_
|
#endif // _WX_PEN_H_BASE_
|
||||||
|
|
|
||||||
|
|
@ -455,6 +455,9 @@
|
||||||
# ifndef MAC_OS_X_VERSION_10_16
|
# ifndef MAC_OS_X_VERSION_10_16
|
||||||
# define MAC_OS_X_VERSION_10_16 101600
|
# define MAC_OS_X_VERSION_10_16 101600
|
||||||
# endif
|
# endif
|
||||||
|
/*
|
||||||
|
Note that since macOS 11 there is no more "X" in the names.
|
||||||
|
*/
|
||||||
# ifndef MAC_OS_VERSION_11_0
|
# ifndef MAC_OS_VERSION_11_0
|
||||||
# define MAC_OS_VERSION_11_0 110000
|
# define MAC_OS_VERSION_11_0 110000
|
||||||
# endif
|
# endif
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,8 @@
|
||||||
#elif defined(__WXGTK3__)
|
#elif defined(__WXGTK3__)
|
||||||
#define wxHAS_NATIVE_OVERLAY 1
|
#define wxHAS_NATIVE_OVERLAY 1
|
||||||
#define wxHAS_GENERIC_OVERLAY 1
|
#define wxHAS_GENERIC_OVERLAY 1
|
||||||
|
#elif defined(__WXQT__)
|
||||||
|
#define wxHAS_NATIVE_OVERLAY 1
|
||||||
#else
|
#else
|
||||||
#define wxHAS_GENERIC_OVERLAY 1
|
#define wxHAS_GENERIC_OVERLAY 1
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,8 @@ public:
|
||||||
Init( cpv.m_type, cpv.m_colour );
|
Init( cpv.m_type, cpv.m_colour );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxDECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxColourPropertyValue);
|
wxDECLARE_DYNAMIC_CLASS(wxColourPropertyValue);
|
||||||
};
|
};
|
||||||
|
|
@ -121,8 +123,6 @@ private:
|
||||||
bool WXDLLIMPEXP_PROPGRID
|
bool WXDLLIMPEXP_PROPGRID
|
||||||
operator==(const wxColourPropertyValue&, const wxColourPropertyValue&);
|
operator==(const wxColourPropertyValue&, const wxColourPropertyValue&);
|
||||||
|
|
||||||
DECLARE_VARIANT_OBJECT_EXPORTED(wxColourPropertyValue, WXDLLIMPEXP_PROPGRID)
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// Property representing wxFont.
|
// Property representing wxFont.
|
||||||
|
|
@ -136,7 +136,16 @@ public:
|
||||||
const wxFont& value = wxFont());
|
const wxFont& value = wxFont());
|
||||||
virtual ~wxFontProperty() = default;
|
virtual ~wxFontProperty() = default;
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual wxVariant ChildChanged( wxVariant& thisValue,
|
virtual wxVariant ChildChanged( wxVariant& thisValue,
|
||||||
int childIndex,
|
int childIndex,
|
||||||
wxVariant& childValue ) const override;
|
wxVariant& childValue ) const override;
|
||||||
|
|
@ -150,8 +159,8 @@ protected:
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
// If set, then match from list is searched for a custom colour.
|
// If set, then match from list is searched for a custom colour.
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_TRANSLATE_CUSTOM is intended for internal use.")
|
wxDEPRECATED_MSG("wxPG_PROP_TRANSLATE_CUSTOM is intended for internal use.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_TRANSLATE_CUSTOM = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPG_PROP_TRANSLATE_CUSTOM = wxPGPropertyFlags::Reserved_1;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Has dropdown list of wxWidgets system colours. Value used is
|
// Has dropdown list of wxWidgets system colours. Value used is
|
||||||
|
|
@ -168,23 +177,60 @@ public:
|
||||||
virtual ~wxSystemColourProperty() = default;
|
virtual ~wxSystemColourProperty() = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual bool IntToValue(wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int number,
|
wxDEPRECATED_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
int argFlags = 0) const override;
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(variant, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
// Override in derived class to customize how colours are printed as
|
// Override in derived class to customize how colours are printed as
|
||||||
// strings.
|
// strings.
|
||||||
virtual wxString ColourToString( const wxColour& col, int index,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int argFlags = 0 ) const;
|
mutable bool m_oldColourToStringCalled = false;
|
||||||
|
wxString ColourToStringWithCheck(const wxColour& col, int index,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("use ColourToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ColourToString(const wxColour& col, int index,
|
||||||
|
int flags) const
|
||||||
|
{
|
||||||
|
m_oldColourToStringCalled = true;
|
||||||
|
return ColourToString(col, index, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ColourToString(const wxColour& col, int index,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Returns index of entry that triggers colour picker dialog
|
// Returns index of entry that triggers colour picker dialog
|
||||||
// (default is last).
|
// (default is last).
|
||||||
virtual int GetCustomColourIndex() const;
|
virtual int GetCustomColourIndex() const;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool OnEvent( wxPropertyGrid* propgrid,
|
virtual bool OnEvent( wxPropertyGrid* propgrid,
|
||||||
wxWindow* primary, wxEvent& event ) override;
|
wxWindow* primary, wxEvent& event ) override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
@ -240,7 +286,16 @@ public:
|
||||||
const wxColour& value = *wxWHITE );
|
const wxColour& value = *wxWHITE );
|
||||||
virtual ~wxColourProperty() = default;
|
virtual ~wxColourProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual wxColour GetColour( int index ) const override;
|
virtual wxColour GetColour( int index ) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -262,7 +317,16 @@ class WXDLLIMPEXP_PROPGRID wxCursorProperty : public wxEnumProperty
|
||||||
int value = 0 );
|
int value = 0 );
|
||||||
virtual ~wxCursorProperty() = default;
|
virtual ~wxCursorProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString(wxVariant& value, int argFlags = 0) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual wxSize OnMeasureImage( int item ) const override;
|
virtual wxSize OnMeasureImage( int item ) const override;
|
||||||
virtual void OnCustomPaint( wxDC& dc,
|
virtual void OnCustomPaint( wxDC& dc,
|
||||||
const wxRect& rect, wxPGPaintData& paintdata ) override;
|
const wxRect& rect, wxPGPaintData& paintdata ) override;
|
||||||
|
|
@ -332,10 +396,27 @@ public:
|
||||||
virtual ~wxMultiChoiceProperty() = default;
|
virtual ~wxMultiChoiceProperty() = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue(wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
wxArrayInt GetValueAsArrayInt() const
|
wxArrayInt GetValueAsArrayInt() const
|
||||||
|
|
@ -382,10 +463,27 @@ public:
|
||||||
virtual ~wxDateProperty() = default;
|
virtual ~wxDateProperty() = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue(wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -188,31 +188,29 @@ wxDECLARE_EVENT(wxEVT_PG_COLS_RESIZED, wxPropertyGridEvent);
|
||||||
// Flags used only internally
|
// Flags used only internally
|
||||||
|
|
||||||
// wxBoolProperty, wxFlagsProperty specific flags
|
// wxBoolProperty, wxFlagsProperty specific flags
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_USE_CHECKBOX = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_UseCheckBox = wxPGPropertyFlags::Reserved_1;
|
||||||
// DCC = Double Click Cycles
|
// DCC = Double Click Cycles
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_USE_DCC = wxPG_PROP_RESERVED_2;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_UseDCC = wxPGPropertyFlags::Reserved_2;
|
||||||
|
|
||||||
// wxStringProperty flag
|
// wxStringProperty flag
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_PASSWORD = wxPG_PROP_RESERVED_2;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_Password = wxPGPropertyFlags::Reserved_2;
|
||||||
|
|
||||||
#if !WXWIN_COMPATIBILITY_3_2
|
|
||||||
// wxColourProperty flag - if set, then match from list is searched for a custom colour.
|
// wxColourProperty flag - if set, then match from list is searched for a custom colour.
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_TRANSLATE_CUSTOM = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_TranslateCustom = wxPGPropertyFlags::Reserved_1;
|
||||||
|
|
||||||
// wxCursorProperty, wxSystemColourProperty - If set, then selection of choices is static
|
// wxCursorProperty, wxSystemColourProperty - If set, then selection of choices is static
|
||||||
// and should not be changed (i.e. returns nullptr in GetPropertyChoices).
|
// and should not be changed (i.e. returns nullptr in GetPropertyChoices).
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_STATIC_CHOICES = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_StaticChoices = wxPGPropertyFlags::Reserved_1;
|
||||||
|
|
||||||
// wxSystemColourProperty - wxEnumProperty based classes cannot use wxPG_PROP_RESERVED_1
|
// wxSystemColourProperty - wxEnumProperty based classes cannot use wxPGPropertyFlags::Reserved_1
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_HIDE_CUSTOM_COLOUR = wxPG_PROP_RESERVED_2;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_HideCustomColour = wxPGPropertyFlags::Reserved_2;
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_COLOUR_HAS_ALPHA = wxPG_PROP_RESERVED_3;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_ColourHasAlpha = wxPGPropertyFlags::Reserved_3;
|
||||||
|
|
||||||
// wxFileProperty - if set, full path is shown in wxFileProperty.
|
// wxFileProperty - if set, full path is shown in wxFileProperty.
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_SHOW_FULL_FILENAME = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_ShowFullFileName = wxPGPropertyFlags::Reserved_1;
|
||||||
|
|
||||||
// wxLongStringProperty - flag used to mark that edit button
|
// wxLongStringProperty - flag used to mark that edit button
|
||||||
// should be enabled even in the read-only mode.
|
// should be enabled even in the read-only mode.
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_ACTIVE_BTN = wxPG_PROP_RESERVED_3;
|
constexpr wxPGPropertyFlags wxPGPropertyFlags_ActiveButton = wxPGPropertyFlags::Reserved_3;
|
||||||
#endif // !WXWIN_COMPATIBILITY_3_2
|
|
||||||
|
|
||||||
#endif // _WX_PROPGRID_PRIVATE_H_
|
#endif // _WX_PROPGRID_PRIVATE_H_
|
||||||
|
|
|
||||||
|
|
@ -304,129 +304,229 @@ protected:
|
||||||
std::unordered_map<wxString, wxVariantData*> m_map;
|
std::unordered_map<wxString, wxVariantData*> m_map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class wxPGPropertyFlags : int
|
||||||
// -----------------------------------------------------------------------
|
|
||||||
|
|
||||||
enum wxPGPropertyFlags
|
|
||||||
{
|
{
|
||||||
|
// No flags.
|
||||||
|
Null = 0,
|
||||||
|
|
||||||
// Indicates bold font.
|
// Indicates bold font.
|
||||||
wxPG_PROP_MODIFIED = 0x0001,
|
Modified = 0x0001,
|
||||||
|
|
||||||
// Disables ('greyed' text and editor does not activate) property.
|
// Disables ('greyed' text and editor does not activate) property.
|
||||||
wxPG_PROP_DISABLED = 0x0002,
|
Disabled = 0x0002,
|
||||||
|
|
||||||
// Hider button will hide this property.
|
// Hider button will hide this property.
|
||||||
wxPG_PROP_HIDDEN = 0x0004,
|
Hidden = 0x0004,
|
||||||
|
|
||||||
// This property has custom paint image just in front of its value.
|
// This property has custom paint image just in front of its value.
|
||||||
// If property only draws custom images into a popup list, then this
|
// If property only draws custom images into a popup list, then this
|
||||||
// flag should not be set.
|
// flag should not be set.
|
||||||
wxPG_PROP_CUSTOMIMAGE = 0x0008,
|
CustomImage = 0x0008,
|
||||||
|
|
||||||
// Do not create text based editor for this property (but button-triggered
|
// Do not create text based editor for this property (but button-triggered
|
||||||
// dialog and choice are ok).
|
// dialog and choice are ok).
|
||||||
wxPG_PROP_NOEDITOR = 0x0010,
|
NoEditor = 0x0010,
|
||||||
|
|
||||||
// Property is collapsed, ie. its children are hidden.
|
// Property is collapsed, ie. it's children are hidden.
|
||||||
wxPG_PROP_COLLAPSED = 0x0020,
|
Collapsed = 0x0020,
|
||||||
|
|
||||||
// If property is selected, then indicates that validation failed for pending
|
// If property is selected, then indicates that validation failed for pending
|
||||||
// value.
|
// value.
|
||||||
// If property is not selected, that indicates that the actual property
|
// If property is not selected, that indicates that the actual property
|
||||||
// value has failed validation (NB: this behaviour is not currently supported,
|
// value has failed validation (NB: this behaviour is not currently supported,
|
||||||
// but may be used in future).
|
// but may be used in future).
|
||||||
wxPG_PROP_INVALID_VALUE = 0x0040,
|
InvalidValue = 0x0040,
|
||||||
|
|
||||||
// 0x0080,
|
// 0x0080,
|
||||||
|
|
||||||
// Switched via SetWasModified(). Temporary flag - only used when
|
// Switched via SetWasModified(). Temporary flag - only used when
|
||||||
// setting/changing property value.
|
// setting/changing property value.
|
||||||
wxPG_PROP_WAS_MODIFIED = 0x0200,
|
WasModified = 0x0200,
|
||||||
|
|
||||||
// If set, then child properties (if any) are private, and should be
|
// If set, then child properties (if any) are private, and should be
|
||||||
// "invisible" to the application.
|
// "invisible" to the application.
|
||||||
wxPG_PROP_AGGREGATE = 0x0400,
|
Aggregate = 0x0400,
|
||||||
|
|
||||||
// If set, then child properties (if any) are copies and should not
|
// If set, then child properties (if any) are copies and should not
|
||||||
// be deleted in dtor.
|
// be deleted in dtor.
|
||||||
wxPG_PROP_CHILDREN_ARE_COPIES = 0x0800,
|
ChildrenAreCopies = 0x0800,
|
||||||
|
|
||||||
// Classifies this item as a non-category.
|
// Classifies this item as a non-category.
|
||||||
// Used for faster item type identification.
|
// Used for faster item type identification.
|
||||||
wxPG_PROP_PROPERTY = 0x1000,
|
Property = 0x1000,
|
||||||
|
|
||||||
// Classifies this item as a category.
|
// Classifies this item as a category.
|
||||||
// Used for faster item type identification.
|
// Used for faster item type identification.
|
||||||
wxPG_PROP_CATEGORY = 0x2000,
|
Category = 0x2000,
|
||||||
|
|
||||||
// Classifies this item as a property that has children,
|
// Classifies this item as a property that has children,
|
||||||
//but is not aggregate (i.e. children are not private).
|
//but is not aggregate (i.e. children are not private).
|
||||||
wxPG_PROP_MISC_PARENT = 0x4000,
|
MiscParent = 0x4000,
|
||||||
|
|
||||||
// Property is read-only. Editor is still created for wxTextCtrl-based
|
// Property is read-only. Editor is still created for wxTextCtrl-based
|
||||||
// property editors. For others, editor is not usually created because
|
// property editors. For others, editor is not usually created because
|
||||||
// they do implement wxTE_READONLY style or equivalent.
|
// they do implement wxTE_READONLY style or equivalent.
|
||||||
wxPG_PROP_READONLY = 0x8000,
|
ReadOnly = 0x8000,
|
||||||
|
|
||||||
//
|
//
|
||||||
// NB: FLAGS ABOVE 0x8000 CANNOT BE USED WITH PROPERTY ITERATORS
|
// NB: FLAGS ABOVE 0x8000 CANNOT BE USED WITH PROPERTY ITERATORS
|
||||||
//
|
//
|
||||||
|
|
||||||
// Property's value is composed from values of child properties.
|
// Property's value is composed from values of child properties.
|
||||||
// This flag cannot be used with property iterators.
|
// This flag cannot be used with property iterators.
|
||||||
wxPG_PROP_COMPOSED_VALUE = 0x00010000,
|
ComposedValue = 0x00010000,
|
||||||
|
|
||||||
// Common value of property is selectable in editor.
|
// Common value of property is selectable in editor.
|
||||||
// This flag cannot be used with property iterators.
|
// This flag cannot be used with property iterators.
|
||||||
wxPG_PROP_USES_COMMON_VALUE = 0x00020000,
|
UsesCommonValue = 0x00020000,
|
||||||
|
|
||||||
// Property can be set to unspecified value via editor.
|
// Property can be set to unspecified value via editor.
|
||||||
// Currently, this applies to following properties:
|
// Currently, this applxPGies to following properties:
|
||||||
// - wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty:
|
// - wxIntProperty, wxUIntProperty, wxFloatProperty, wxEditEnumProperty:
|
||||||
// Clear the text field
|
// Clear the text field
|
||||||
// This flag cannot be used with property iterators.
|
// This flag cannot be used with property iterators.
|
||||||
// See wxPGProperty::SetAutoUnspecified().
|
// See wxPGProperty::SetAutoUnspecified().
|
||||||
wxPG_PROP_AUTO_UNSPECIFIED = 0x00040000,
|
AutoUnspecified = 0x00040000,
|
||||||
|
|
||||||
// For internal use only.
|
// Indicates that the property is being deleted and should be ignored.
|
||||||
wxPG_PROP_RESERVED_1 = 0x00080000,
|
BeingDeleted = 0x00080000,
|
||||||
|
|
||||||
// For internal use only.
|
// If set, full path is shown in wxFileProperty.
|
||||||
wxPG_PROP_RESERVED_2 = 0x00100000,
|
ShowFullFileName = 0x00100000,
|
||||||
|
|
||||||
// Indicates that the property is being deleted and should be ignored.
|
// For internal use only.
|
||||||
wxPG_PROP_BEING_DELETED = 0x00200000,
|
Reserved_1 = 0x10000000,
|
||||||
|
|
||||||
// For internal use only.
|
// For internal use only.
|
||||||
wxPG_PROP_RESERVED_3 = 0x00400000
|
Reserved_2 = 0x20000000,
|
||||||
|
|
||||||
|
// For internal use only.
|
||||||
|
Reserved_3 = 0x40000000,
|
||||||
|
|
||||||
|
// Topmost flag.
|
||||||
|
Max = ShowFullFileName,
|
||||||
|
|
||||||
|
// Property with children must have one of these set, otherwise iterators
|
||||||
|
// will not work correctly.
|
||||||
|
// Code should automatically take care of this, however.
|
||||||
|
ParentalFlags = Aggregate | Category | MiscParent,
|
||||||
|
|
||||||
|
// Combination of flags that can be stored by GetFlagsAsString
|
||||||
|
StringStoredFlags = Disabled | Hidden | NoEditor | Collapsed
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr wxPGPropertyFlags operator|(wxPGPropertyFlags a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropertyFlags>(static_cast<int>(a) | static_cast<int>(b));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline wxPGPropertyFlags operator|=(wxPGPropertyFlags & a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return a = a | b;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr wxPGPropertyFlags operator&(wxPGPropertyFlags a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropertyFlags>(static_cast<int>(a) & static_cast<int>(b));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline wxPGPropertyFlags operator&=(wxPGPropertyFlags & a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return a = a & b;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr wxPGPropertyFlags operator^(wxPGPropertyFlags a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropertyFlags>(static_cast<int>(a) ^ static_cast<int>(b));
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr wxPGPropertyFlags operator~(wxPGPropertyFlags a)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropertyFlags>(~static_cast<int>(a));
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr bool operator!(wxPGPropertyFlags a)
|
||||||
|
{
|
||||||
|
return static_cast<int>(a) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// We need these operators with int arguments for interoperability
|
||||||
|
// with wxPG_ITERATOR_FLAGS as plain enumeration).
|
||||||
|
// =====
|
||||||
|
constexpr int operator<<(wxPGPropertyFlags a, int n)
|
||||||
|
{
|
||||||
|
return static_cast<int>(a) << n;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr int operator|(wxPGPropertyFlags a, int b)
|
||||||
|
{
|
||||||
|
return static_cast<int>(a) | b;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr int operator|(int a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return a | static_cast<int>(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr int operator&(int a, wxPGPropertyFlags b)
|
||||||
|
{
|
||||||
|
return a & static_cast<int>(b);
|
||||||
|
}
|
||||||
|
// =====
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Modified instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_MODIFIED = wxPGPropertyFlags::Modified;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Disabled instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_DISABLED = wxPGPropertyFlags::Disabled;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Hidden instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_HIDDEN = wxPGPropertyFlags::Hidden;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::CustomImage instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_CUSTOMIMAGE = wxPGPropertyFlags::CustomImage;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::NoEditor instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_NOEDITOR = wxPGPropertyFlags::NoEditor;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Collapsed instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_COLLAPSED = wxPGPropertyFlags::Collapsed;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::InvalidValue instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_INVALID_VALUE = wxPGPropertyFlags::InvalidValue;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::WasModified instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_WAS_MODIFIED = wxPGPropertyFlags::WasModified;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Aggregate instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_AGGREGATE = wxPGPropertyFlags::Aggregate;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::ChildrenAreCopies instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_CHILDREN_ARE_COPIES = wxPGPropertyFlags::ChildrenAreCopies;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Property instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_PROPERTY = wxPGPropertyFlags::Property;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Category instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_CATEGORY = wxPGPropertyFlags::Category;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::MiscParent instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_MISC_PARENT = wxPGPropertyFlags::MiscParent;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::ReadOnly instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_READONLY = wxPGPropertyFlags::ReadOnly;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::ComposedValue instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_COMPOSED_VALUE = wxPGPropertyFlags::ComposedValue;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::UsesCommonValue instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_USES_COMMON_VALUE = wxPGPropertyFlags::UsesCommonValue;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::AutoUnspecified instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_AUTO_UNSPECIFIED = wxPGPropertyFlags::AutoUnspecified;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::BeingDeleted instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_BEING_DELETED = wxPGPropertyFlags::BeingDeleted;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::ParentalFlags instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_PARENTAL_FLAGS = wxPGPropertyFlags::ParentalFlags;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::StringStoredFlags instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_STRING_STORED_FLAGS = wxPGPropertyFlags::StringStoredFlags;
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags::Max instead")
|
||||||
|
constexpr wxPGPropertyFlags wxPG_PROP_MAX = wxPGPropertyFlags::Max;
|
||||||
|
|
||||||
// Indicates bits usable by derived properties.
|
// Indicates bits usable by derived properties.
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_1 in intended for internal use only.")
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_1 in intended for internal use only.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_1 = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_1 = wxPGPropertyFlags::Reserved_1;
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_2 in intended for internal use only.")
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_2 in intended for internal use only.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_2 = wxPG_PROP_RESERVED_2;
|
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_2 = wxPGPropertyFlags::Reserved_2;
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_3 in intended for internal use only.")
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_CLASS_SPECIFIC_3 in intended for internal use only.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_3 = wxPG_PROP_RESERVED_3;
|
constexpr wxPGPropertyFlags wxPG_PROP_CLASS_SPECIFIC_3 = wxPGPropertyFlags::Reserved_3;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Topmost flag.
|
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_MAX = wxPG_PROP_AUTO_UNSPECIFIED;
|
|
||||||
|
|
||||||
// Property with children must have one of these set, otherwise iterators
|
|
||||||
// will not work correctly.
|
|
||||||
// Code should automatically take care of this, however.
|
|
||||||
#define wxPG_PROP_PARENTAL_FLAGS \
|
|
||||||
((wxPGPropertyFlags)(wxPG_PROP_AGGREGATE | \
|
|
||||||
wxPG_PROP_CATEGORY | \
|
|
||||||
wxPG_PROP_MISC_PARENT))
|
|
||||||
|
|
||||||
// Combination of flags that can be stored by GetFlagsAsString
|
|
||||||
#define wxPG_STRING_STORED_FLAGS \
|
|
||||||
(wxPG_PROP_DISABLED|wxPG_PROP_HIDDEN|wxPG_PROP_NOEDITOR|wxPG_PROP_COLLAPSED)
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// Helpers to mark macros as deprecated
|
// Helpers to mark macros as deprecated
|
||||||
|
|
@ -729,10 +829,10 @@ public:
|
||||||
|
|
||||||
// Simple interface constructor.
|
// Simple interface constructor.
|
||||||
wxPGChoices( wxPGChoicesData* data )
|
wxPGChoices( wxPGChoicesData* data )
|
||||||
|
: m_data(data)
|
||||||
{
|
{
|
||||||
wxCHECK_RET(data, "Data pointer cannot be null");
|
wxCHECK_RET(data, "Data pointer cannot be null");
|
||||||
m_data = data;
|
m_data->IncRef();
|
||||||
data->IncRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destructor.
|
// Destructor.
|
||||||
|
|
@ -950,7 +1050,12 @@ class WXDLLIMPEXP_PROPGRID wxPGProperty : public wxObject
|
||||||
|
|
||||||
wxDECLARE_ABSTRACT_CLASS(wxPGProperty);
|
wxDECLARE_ABSTRACT_CLASS(wxPGProperty);
|
||||||
public:
|
public:
|
||||||
|
#if WXWIN_COMPATIBILITY_3_0
|
||||||
typedef wxUint32 FlagType;
|
typedef wxUint32 FlagType;
|
||||||
|
#elif WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropertyFlags type instead")
|
||||||
|
typedef wxUint32 FlagType;
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_0, WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Virtual destructor.
|
// Virtual destructor.
|
||||||
// It is customary for derived properties to implement this.
|
// It is customary for derived properties to implement this.
|
||||||
|
|
@ -983,9 +1088,9 @@ public:
|
||||||
// null wxVariant in normal cases). Translated value must be assigned
|
// null wxVariant in normal cases). Translated value must be assigned
|
||||||
// back to it.
|
// back to it.
|
||||||
// text - Text to be translated into variant.
|
// text - Text to be translated into variant.
|
||||||
// argFlags - If wxPG_FULL_VALUE is set, returns complete, storable value instead
|
// flags - If wxPGPropValFormatFlags::FullValue is set, returns complete, storable value instead
|
||||||
// of displayable one (they may be different).
|
// of displayable one (they may be different).
|
||||||
// If wxPG_COMPOSITE_FRAGMENT is set, text is interpreted as a part of
|
// If wxPGPropValFormatFlags::CompositeFragment is set, text is interpreted as a part of
|
||||||
// composite property string value (as generated by ValueToString()
|
// composite property string value (as generated by ValueToString()
|
||||||
// called with this same flag).
|
// called with this same flag).
|
||||||
// Returns true if resulting wxVariant value was different.
|
// Returns true if resulting wxVariant value was different.
|
||||||
|
|
@ -994,9 +1099,19 @@ public:
|
||||||
// You might want to take into account that m_value is Null variant
|
// You might want to take into account that m_value is Null variant
|
||||||
// if property value is unspecified (which is usually only case if
|
// if property value is unspecified (which is usually only case if
|
||||||
// you explicitly enabled that sort behaviour).
|
// you explicitly enabled that sort behaviour).
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
const wxString& text,
|
mutable bool m_oldStringToValueCalled = false;
|
||||||
int argFlags = 0 ) const;
|
bool StringToValueWithCheck(wxVariant& variant, const wxString& text, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue( wxVariant& variant, const wxString& text,
|
||||||
|
int flags ) const
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Converts integer (possibly a choice selection) into wxVariant value
|
// Converts integer (possibly a choice selection) into wxVariant value
|
||||||
// appropriate for this property.
|
// appropriate for this property.
|
||||||
|
|
@ -1004,7 +1119,7 @@ public:
|
||||||
// variant - On function entry this is the old value (should not be null wxVariant
|
// variant - On function entry this is the old value (should not be null wxVariant
|
||||||
// in normal cases). Translated value must be assigned back to it.
|
// in normal cases). Translated value must be assigned back to it.
|
||||||
// number - Integer to be translated into variant.
|
// number - Integer to be translated into variant.
|
||||||
// argFlags - If wxPG_FULL_VALUE is set, returns complete, storable value
|
// flags - If wxPGPropValFormatFlags::FullValue is set, returns complete, storable value
|
||||||
// instead of displayable one.
|
// instead of displayable one.
|
||||||
// Returns true if resulting wxVariant value was different.
|
// Returns true if resulting wxVariant value was different.
|
||||||
// Remarks
|
// Remarks
|
||||||
|
|
@ -1017,36 +1132,69 @@ public:
|
||||||
// - You might want to take into account that m_value is Null variant
|
// - You might want to take into account that m_value is Null variant
|
||||||
// if property value is unspecified (which is usually only case if
|
// if property value is unspecified (which is usually only case if
|
||||||
// you explicitly enabled that sort behaviour).
|
// you explicitly enabled that sort behaviour).
|
||||||
virtual bool IntToValue( wxVariant& value,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int number,
|
mutable bool m_oldIntToValueCalled = false;
|
||||||
int argFlags = 0 ) const;
|
bool IntToValueWithCheck(wxVariant& variant, int number, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool IntToValue(wxVariant& value, int number, int flags) const
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(value, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& value, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Converts property value into a text representation.
|
// Converts property value into a text representation.
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// value - Value to be converted.
|
// value - Value to be converted.
|
||||||
// argFlags - If 0 (default value), then displayed string is returned.
|
// flags - If wxPGPropValFormatFlags::Null (default value), then displayed string is returned.
|
||||||
// If wxPG_FULL_VALUE is set, returns complete, storable string value
|
// If wxPGPropValFormatFlags::FullValue is set, returns complete, storable string value
|
||||||
// instead of displayable. If wxPG_EDITABLE_VALUE is set, returns
|
// instead of displayable. If wxPGPropValFormatFlags::EditableValue is set, returns
|
||||||
// string value that must be editable in textctrl. If
|
// string value that must be editable in textctrl. If
|
||||||
// wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to
|
// wxPGPropValFormatFlags::CompositeFragment is set, returns text that is appropriate to
|
||||||
// display as a part of string property's composite text
|
// display as a part of string property's composite text
|
||||||
// representation.
|
// representation.
|
||||||
// Default implementation calls GenerateComposedValue().
|
// Default implementation calls GenerateComposedValue().
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
mutable bool m_oldValueToStringCalled = false;
|
||||||
|
wxString ValueToStringWithCheck(wxVariant& variant, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Converts string to a value, and if successful, calls SetValue() on it.
|
// Converts string to a value, and if successful, calls SetValue() on it.
|
||||||
// Default behaviour is to do nothing.
|
// Default behaviour is to do nothing.
|
||||||
// Returns true if value was changed.
|
// Returns true if value was changed.
|
||||||
bool SetValueFromString( const wxString& text, int flags = wxPG_PROGRAMMATIC_VALUE );
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use SetValueFromString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
bool SetValueFromString(const wxString& text, int flags)
|
||||||
|
{
|
||||||
|
return SetValueFromString(text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool SetValueFromString(const wxString& text, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::ProgrammaticValue);
|
||||||
|
|
||||||
// Converts integer to a value, and if successful, calls SetValue() on it.
|
// Converts integer to a value, and if successful, calls SetValue() on it.
|
||||||
// Default behaviour is to do nothing.
|
// Default behaviour is to do nothing.
|
||||||
// Parameters:
|
// Parameters:
|
||||||
// value - Int to get the value from.
|
// value - Int to get the value from.
|
||||||
// flags - If has wxPG_FULL_VALUE, then the value given is a actual value
|
// flags - If has wxPGPropValFormatFlags::FullValue, then the value given is a actual value
|
||||||
// and not an index.
|
// and not an index.
|
||||||
// Returns true if value was changed.
|
// Returns true if value was changed.
|
||||||
bool SetValueFromInt( long value, int flags = 0 );
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use SetValueFromInt with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
bool SetValueFromInt(long value, int flags)
|
||||||
|
{
|
||||||
|
return SetValueFromInt(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool SetValueFromInt(long value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null);
|
||||||
|
|
||||||
// Returns size of the custom painted image in front of property.
|
// Returns size of the custom painted image in front of property.
|
||||||
// This method must be overridden to return non-default value if
|
// This method must be overridden to return non-default value if
|
||||||
|
|
@ -1197,7 +1345,7 @@ public:
|
||||||
// values of a font).
|
// values of a font).
|
||||||
bool AreChildrenComponents() const
|
bool AreChildrenComponents() const
|
||||||
{
|
{
|
||||||
return (m_flags & (wxPG_PROP_COMPOSED_VALUE|wxPG_PROP_AGGREGATE)) != 0;
|
return !!(m_flags & (wxPGPropertyFlags::ComposedValue|wxPGPropertyFlags::Aggregate));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Deletes children of the property.
|
// Deletes children of the property.
|
||||||
|
|
@ -1219,7 +1367,7 @@ public:
|
||||||
// Common values are disabled by the default for all properties.
|
// Common values are disabled by the default for all properties.
|
||||||
void EnableCommonValue( bool enable = true )
|
void EnableCommonValue( bool enable = true )
|
||||||
{
|
{
|
||||||
ChangeFlag(wxPG_PROP_USES_COMMON_VALUE, enable);
|
ChangeFlag(wxPGPropertyFlags::UsesCommonValue, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Composes text from values of child properties.
|
// Composes text from values of child properties.
|
||||||
|
|
@ -1277,18 +1425,28 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns text representation of property's value.
|
// Returns text representation of property's value.
|
||||||
// argFlags - If 0 (default value), then displayed string is returned.
|
// flags - If wxPGPropValFormatFlags::Null (default value), then displayed string is returned.
|
||||||
// If wxPG_FULL_VALUE is set, returns complete, storable string value
|
// If wxPGPropValFormatFlags::FullValue is set, returns complete, storable string value
|
||||||
// instead of displayable. If wxPG_EDITABLE_VALUE is set, returns
|
// instead of displayable. If wxPGPropValFormatFlags::EditableValue is set, returns
|
||||||
// string value that must be editable in textctrl. If
|
// string value that must be editable in textctrl. If
|
||||||
// wxPG_COMPOSITE_FRAGMENT is set, returns text that is appropriate to
|
// wxPGPropValFormatFlags::CompositeFragment is set, returns text that is appropriate to
|
||||||
// display as a part of string property's composite text
|
// display as a part of string property's composite text
|
||||||
// representation.
|
// representation.
|
||||||
// In older versions, this function used to be overridden to convert
|
// In older versions, this function used to be overridden to convert
|
||||||
// property's value into a string representation. This function is
|
// property's value into a string representation. This function is
|
||||||
// now handled by ValueToString(), and overriding this function now
|
// now handled by ValueToString(), and overriding this function now
|
||||||
// will result in run-time assertion failure.
|
// will result in run-time assertion failure.
|
||||||
virtual wxString GetValueAsString( int argFlags = 0 ) const;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
mutable bool m_oldGetValueAsString = false;
|
||||||
|
wxString GetValueAsStringWithCheck(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("use GetValueAsString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString GetValueAsString(int flags) const
|
||||||
|
{
|
||||||
|
m_oldGetValueAsString = true;
|
||||||
|
return GetValueAsString(static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString GetValueAsString(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Returns wxPGCell of given column.
|
// Returns wxPGCell of given column.
|
||||||
// Const version of this member function returns 'default'
|
// Const version of this member function returns 'default'
|
||||||
|
|
@ -1311,7 +1469,12 @@ public:
|
||||||
// Returns property's displayed text.
|
// Returns property's displayed text.
|
||||||
wxString GetDisplayedString() const
|
wxString GetDisplayedString() const
|
||||||
{
|
{
|
||||||
return GetValueAsString(0);
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
// Special implementation with check if user-overriden obsolete function is still in use
|
||||||
|
return GetValueAsStringWithCheck(wxPGPropValFormatFlags::Null);
|
||||||
|
#else
|
||||||
|
return GetValueAsString(wxPGPropValFormatFlags::Null);
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2 | !WXWIN_COMPATIBILITY_3_2
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns property's hint text (shown in empty value cell).
|
// Returns property's hint text (shown in empty value cell).
|
||||||
|
|
@ -1348,25 +1511,35 @@ public:
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_3_0
|
#if WXWIN_COMPATIBILITY_3_0
|
||||||
// Returns non-zero if property has given flag set.
|
// Returns non-zero if property has given flag set.
|
||||||
FlagType HasFlag( wxPGPropertyFlags flag ) const
|
wxDEPRECATED_MSG("use HasFlag() with 'flag' argument as wxPGPropertyFlags")
|
||||||
|
FlagType HasFlag( FlagType flag ) const
|
||||||
{
|
{
|
||||||
return ( m_flags & flag );
|
return ( static_cast<FlagType>(m_flags) & flag );
|
||||||
}
|
|
||||||
#else
|
|
||||||
// Returns true if property has given flag set.
|
|
||||||
bool HasFlag(wxPGPropertyFlags flag) const
|
|
||||||
{
|
|
||||||
return (m_flags & flag) != 0;
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// Returns true if property has given flag set.
|
// Returns true if property has given flag set.
|
||||||
bool HasFlag(FlagType flag) const
|
bool HasFlag(wxPGPropertyFlags flag) const
|
||||||
{
|
{
|
||||||
return (m_flags & flag) != 0;
|
return !!(m_flags & flag);
|
||||||
}
|
}
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use HasFlag() with 'flag' argument as wxPGPropertyFlags")
|
||||||
|
// Returns true if property has given flag set.
|
||||||
|
bool HasFlag(int flag) const
|
||||||
|
{
|
||||||
|
return HasFlag(static_cast<wxPGPropertyFlags>(flag));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Returns true if property has all given flags set.
|
// Returns true if property has all given flags set.
|
||||||
bool HasFlagsExact(FlagType flags) const
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use HasFlagExact() with 'flags' argument as wxPGPropertyFlags")
|
||||||
|
bool HasFlagsExact(int flags) const
|
||||||
|
{
|
||||||
|
return HasFlagsExact(static_cast<wxPGPropertyFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool HasFlagsExact(wxPGPropertyFlags flags) const
|
||||||
{
|
{
|
||||||
return (m_flags & flags) == flags;
|
return (m_flags & flags) == flags;
|
||||||
}
|
}
|
||||||
|
|
@ -1385,7 +1558,7 @@ public:
|
||||||
wxDEPRECATED_MSG("Use HasFlag or HasFlagsExact functions instead.")
|
wxDEPRECATED_MSG("Use HasFlag or HasFlagsExact functions instead.")
|
||||||
FlagType GetFlags() const
|
FlagType GetFlags() const
|
||||||
{
|
{
|
||||||
return m_flags;
|
return static_cast<FlagType>(m_flags);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -1425,7 +1598,7 @@ public:
|
||||||
int InsertChoice( const wxString& label, int index, int value = wxPG_INVALID_VALUE );
|
int InsertChoice( const wxString& label, int index, int value = wxPG_INVALID_VALUE );
|
||||||
|
|
||||||
// Returns true if this property is actually a wxPropertyCategory.
|
// Returns true if this property is actually a wxPropertyCategory.
|
||||||
bool IsCategory() const { return (m_flags & wxPG_PROP_CATEGORY) != 0; }
|
bool IsCategory() const { return !!(m_flags & wxPGPropertyFlags::Category); }
|
||||||
|
|
||||||
// Returns true if this property is actually a wxRootProperty.
|
// Returns true if this property is actually a wxRootProperty.
|
||||||
bool IsRoot() const { return (m_parent == nullptr); }
|
bool IsRoot() const { return (m_parent == nullptr); }
|
||||||
|
|
@ -1467,7 +1640,7 @@ public:
|
||||||
// Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
|
// Returns true if containing grid uses wxPG_EX_AUTO_UNSPECIFIED_VALUES.
|
||||||
bool UsesAutoUnspecified() const
|
bool UsesAutoUnspecified() const
|
||||||
{
|
{
|
||||||
return (m_flags & wxPG_PROP_AUTO_UNSPECIFIED) != 0;
|
return !!(m_flags & wxPGPropertyFlags::AutoUnspecified);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns bitmap that appears next to value text. Only returns non-null
|
// Returns bitmap that appears next to value text. Only returns non-null
|
||||||
|
|
@ -1492,9 +1665,16 @@ public:
|
||||||
unsigned int GetDepth() const { return (unsigned int)m_depth; }
|
unsigned int GetDepth() const { return (unsigned int)m_depth; }
|
||||||
|
|
||||||
// Gets flags as a'|' delimited string. Note that flag names are not
|
// Gets flags as a'|' delimited string. Note that flag names are not
|
||||||
// prepended with 'wxPG_PROP_'.
|
// prepended with 'wxPGPropertyFlags'.
|
||||||
// flagmask - String will only be made to include flags combined by this parameter.
|
// flagmask - String will only be made to include flags combined by this parameter.
|
||||||
wxString GetFlagsAsString( FlagType flagsMask ) const;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use GetFlagsAsString() with 'flags' argument as wxPGPropertyFlags")
|
||||||
|
wxString GetFlagsAsString( int flagsMask ) const
|
||||||
|
{
|
||||||
|
return GetFlagsAsString(static_cast<wxPGPropertyFlags>(flagsMask));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxString GetFlagsAsString(wxPGPropertyFlags flagsMask) const;
|
||||||
|
|
||||||
// Returns position in parent's array.
|
// Returns position in parent's array.
|
||||||
unsigned int GetIndexInParent() const
|
unsigned int GetIndexInParent() const
|
||||||
|
|
@ -1517,13 +1697,13 @@ public:
|
||||||
|
|
||||||
// Returns true if property has visible children.
|
// Returns true if property has visible children.
|
||||||
bool IsExpanded() const
|
bool IsExpanded() const
|
||||||
{ return (!(m_flags & wxPG_PROP_COLLAPSED) && HasAnyChild()); }
|
{ return (!(m_flags & wxPGPropertyFlags::Collapsed) && HasAnyChild()); }
|
||||||
|
|
||||||
// Returns true if all parents expanded.
|
// Returns true if all parents expanded.
|
||||||
bool IsVisible() const;
|
bool IsVisible() const;
|
||||||
|
|
||||||
// Returns true if property is enabled.
|
// Returns true if property is enabled.
|
||||||
bool IsEnabled() const { return !(m_flags & wxPG_PROP_DISABLED); }
|
bool IsEnabled() const { return !(m_flags & wxPGPropertyFlags::Disabled); }
|
||||||
|
|
||||||
// If property's editor is created this forces its recreation.
|
// If property's editor is created this forces its recreation.
|
||||||
// Useful in SetAttribute etc. Returns true if actually did anything.
|
// Useful in SetAttribute etc. Returns true if actually did anything.
|
||||||
|
|
@ -1549,7 +1729,7 @@ public:
|
||||||
// by default).
|
// by default).
|
||||||
void SetAutoUnspecified( bool enable = true )
|
void SetAutoUnspecified( bool enable = true )
|
||||||
{
|
{
|
||||||
ChangeFlag(wxPG_PROP_AUTO_UNSPECIFIED, enable);
|
ChangeFlag(wxPGPropertyFlags::AutoUnspecified, enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets property's background colour.
|
// Sets property's background colour.
|
||||||
|
|
@ -1624,13 +1804,13 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets flags from a '|' delimited string. Note that flag names are not
|
// Sets flags from a '|' delimited string. Note that flag names are not
|
||||||
// prepended with 'wxPG_PROP_'.
|
// prepended with 'wxPGPropertyFlags'.
|
||||||
void SetFlagsFromString( const wxString& str );
|
void SetFlagsFromString( const wxString& str );
|
||||||
|
|
||||||
// Sets property's "is it modified?" flag. Affects children recursively.
|
// Sets property's "is it modified?" flag. Affects children recursively.
|
||||||
void SetModifiedStatus( bool modified )
|
void SetModifiedStatus( bool modified )
|
||||||
{
|
{
|
||||||
SetFlagRecursively(wxPG_PROP_MODIFIED, modified);
|
SetFlagRecursively(wxPGPropertyFlags::Modified, modified);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Call in OnEvent(), OnButtonClick() etc. to change the property value
|
// Call in OnEvent(), OnButtonClick() etc. to change the property value
|
||||||
|
|
@ -1671,14 +1851,14 @@ public:
|
||||||
|
|
||||||
void SetExpanded( bool expanded )
|
void SetExpanded( bool expanded )
|
||||||
{
|
{
|
||||||
ChangeFlag(wxPG_PROP_COLLAPSED, !expanded);
|
ChangeFlag(wxPGPropertyFlags::Collapsed, !expanded);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sets or clears given property flag. Mainly for internal use.
|
// Sets or clears given property flag. Mainly for internal use.
|
||||||
// Setting a property flag never has any side-effect, and is
|
// Setting a property flag never has any side-effect, and is
|
||||||
// intended almost exclusively for internal use. So, for
|
// intended almost exclusively for internal use. So, for
|
||||||
// example, if you want to disable a property, call
|
// example, if you want to disable a property, call
|
||||||
// Enable(false) instead of setting wxPG_PROP_DISABLED flag.
|
// Enable(false) instead of setting wxPGPropertyFlags::Disabled flag.
|
||||||
void ChangeFlag( wxPGPropertyFlags flag, bool set )
|
void ChangeFlag( wxPGPropertyFlags flag, bool set )
|
||||||
{
|
{
|
||||||
if ( set )
|
if ( set )
|
||||||
|
|
@ -1707,14 +1887,21 @@ public:
|
||||||
void SetName( const wxString& newName );
|
void SetName( const wxString& newName );
|
||||||
|
|
||||||
// Changes what sort of parent this property is for its children.
|
// Changes what sort of parent this property is for its children.
|
||||||
// flag - Use one of the following values: wxPG_PROP_MISC_PARENT (for
|
// flag - Use one of the following values: wxPGPropertyFlags::MiscParent (for
|
||||||
// generic parents), wxPG_PROP_CATEGORY (for categories), or
|
// generic parents), wxPGPropertyFlags::Category (for categories), or
|
||||||
// wxPG_PROP_AGGREGATE (for derived property classes with private
|
// wxPGPropertyFlags::Aggregate (for derived property classes with private
|
||||||
// children).
|
// children).
|
||||||
// You generally do not need to call this function.
|
// You generally do not need to call this function.
|
||||||
void SetParentalType( int flag )
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use SetParentalType() with 'flag' argument as wxPGPropertyFlags")
|
||||||
|
void SetParentalType(int flag)
|
||||||
{
|
{
|
||||||
m_flags &= ~(wxPG_PROP_PROPERTY|wxPG_PROP_PARENTAL_FLAGS);
|
SetParentalType(static_cast<wxPGPropertyFlags>(flag));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void SetParentalType(wxPGPropertyFlags flag)
|
||||||
|
{
|
||||||
|
m_flags &= ~(wxPGPropertyFlags::Property | wxPGPropertyFlags::ParentalFlags);
|
||||||
m_flags |= flag;
|
m_flags |= flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1781,7 +1968,7 @@ public:
|
||||||
// (i.e. cancel 'true' returned by StringToValue() or IntToValue()).
|
// (i.e. cancel 'true' returned by StringToValue() or IntToValue()).
|
||||||
void SetWasModified( bool set = true )
|
void SetWasModified( bool set = true )
|
||||||
{
|
{
|
||||||
ChangeFlag(wxPG_PROP_WAS_MODIFIED, set);
|
ChangeFlag(wxPGPropertyFlags::WasModified, set);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns property's help or description text.
|
// Returns property's help or description text.
|
||||||
|
|
@ -1801,7 +1988,7 @@ public:
|
||||||
// Adds a private child property. If you use this instead of
|
// Adds a private child property. If you use this instead of
|
||||||
// wxPropertyGridInterface::Insert() or
|
// wxPropertyGridInterface::Insert() or
|
||||||
// wxPropertyGridInterface::AppendIn(), then property's parental
|
// wxPropertyGridInterface::AppendIn(), then property's parental
|
||||||
// type will automatically be set up to wxPG_PROP_AGGREGATE. In other
|
// type will automatically be set up to wxPGPropertyFlags::Aggregate. In other
|
||||||
// words, all properties of this property will become private.
|
// words, all properties of this property will become private.
|
||||||
void AddPrivateChild( wxPGProperty* prop );
|
void AddPrivateChild( wxPGProperty* prop );
|
||||||
|
|
||||||
|
|
@ -1910,17 +2097,38 @@ protected:
|
||||||
// preparedCell.
|
// preparedCell.
|
||||||
// ignoreWithFlags - Properties with any one of these flags are skipped.
|
// ignoreWithFlags - Properties with any one of these flags are skipped.
|
||||||
// recursively - If true, apply this operation recursively in child properties.
|
// recursively - If true, apply this operation recursively in child properties.
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use AdaptiveSetCell() with 'ignoreWithFlags' argument as wxPGPropertyFlags")
|
||||||
void AdaptiveSetCell( unsigned int firstCol,
|
void AdaptiveSetCell( unsigned int firstCol,
|
||||||
unsigned int lastCol,
|
unsigned int lastCol,
|
||||||
const wxPGCell& preparedCell,
|
const wxPGCell& preparedCell,
|
||||||
const wxPGCell& srcData,
|
const wxPGCell& srcData,
|
||||||
wxPGCellData* unmodCellData,
|
wxPGCellData* unmodCellData,
|
||||||
FlagType ignoreWithFlags,
|
int ignoreWithFlags,
|
||||||
bool recursively );
|
bool recursively )
|
||||||
|
{
|
||||||
|
AdaptiveSetCell(firstCol, lastCol, preparedCell, srcData, unmodCellData,
|
||||||
|
static_cast<wxPGPropertyFlags>(ignoreWithFlags), recursively);
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void AdaptiveSetCell(unsigned int firstCol,
|
||||||
|
unsigned int lastCol,
|
||||||
|
const wxPGCell& preparedCell,
|
||||||
|
const wxPGCell& srcData,
|
||||||
|
wxPGCellData* unmodCellData,
|
||||||
|
wxPGPropertyFlags ignoreWithFlags,
|
||||||
|
bool recursively);
|
||||||
|
|
||||||
// Clear cells associated with property.
|
// Clear cells associated with property.
|
||||||
// recursively - If true, apply this operation recursively in child properties.
|
// recursively - If true, apply this operation recursively in child properties.
|
||||||
void ClearCells(FlagType ignoreWithFlags, bool recursively);
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ClearCells() with 'ignoreWithFlags' argument as wxPGPropertyFlags")
|
||||||
|
void ClearCells(int ignoreWithFlags, bool recursively)
|
||||||
|
{
|
||||||
|
ClearCells(static_cast<wxPGPropertyFlags>(ignoreWithFlags), recursively);
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void ClearCells(wxPGPropertyFlags ignoreWithFlags, bool recursively);
|
||||||
|
|
||||||
// Makes sure m_cells has size of column+1 (or more).
|
// Makes sure m_cells has size of column+1 (or more).
|
||||||
void EnsureCells( unsigned int column );
|
void EnsureCells( unsigned int column );
|
||||||
|
|
@ -1937,10 +2145,20 @@ protected:
|
||||||
int index = -1,
|
int index = -1,
|
||||||
bool correct_mode = true );
|
bool correct_mode = true );
|
||||||
|
|
||||||
void DoGenerateComposedValue( wxString& text,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int argFlags = wxPG_VALUE_IS_CURRENT,
|
wxDEPRECATED_MSG("use DoGenerateComposedValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxVariantList* valueOverrides = nullptr,
|
void DoGenerateComposedValue(wxString& text, int flags,
|
||||||
wxPGHashMapS2S* childResults = nullptr ) const;
|
const wxVariantList* valueOverrides,
|
||||||
|
wxPGHashMapS2S* childResults) const
|
||||||
|
{
|
||||||
|
DoGenerateComposedValue(text, static_cast<wxPGPropValFormatFlags>(flags),
|
||||||
|
valueOverrides, childResults);
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void DoGenerateComposedValue(wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::ValueIsCurrent,
|
||||||
|
const wxVariantList* valueOverrides = nullptr,
|
||||||
|
wxPGHashMapS2S* childResults = nullptr) const;
|
||||||
|
|
||||||
bool DoHide( bool hide, wxPGPropertyValuesFlags flags );
|
bool DoHide( bool hide, wxPGPropertyValuesFlags flags );
|
||||||
|
|
||||||
|
|
@ -1989,7 +2207,17 @@ protected:
|
||||||
m_flags |= flag;
|
m_flags |= flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClearFlag( FlagType flag ) { m_flags &= ~(flag); }
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ClearFlag() with 'flag' argument as wxPGPropertyFlags")
|
||||||
|
void ClearFlag( int flag )
|
||||||
|
{
|
||||||
|
ClearFlag(static_cast<wxPGPropertyFlags>(flag));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void ClearFlag(wxPGPropertyFlags flag)
|
||||||
|
{
|
||||||
|
m_flags &= ~(flag);
|
||||||
|
}
|
||||||
|
|
||||||
// Called when the property is being removed from the grid and/or
|
// Called when the property is being removed from the grid and/or
|
||||||
// page state (but *not* when it is also deleted).
|
// page state (but *not* when it is also deleted).
|
||||||
|
|
@ -2041,7 +2269,7 @@ protected:
|
||||||
// If not -1, then overrides m_value
|
// If not -1, then overrides m_value
|
||||||
int m_commonValue;
|
int m_commonValue;
|
||||||
|
|
||||||
FlagType m_flags;
|
wxPGPropertyFlags m_flags;
|
||||||
|
|
||||||
// Maximum length (for string properties). Could be in some sort of
|
// Maximum length (for string properties). Could be in some sort of
|
||||||
// wxBaseStringProperty, but currently, for maximum flexibility and
|
// wxBaseStringProperty, but currently, for maximum flexibility and
|
||||||
|
|
@ -2106,10 +2334,17 @@ public:
|
||||||
wxPGRootProperty( const wxString& name = wxS("<Root>") );
|
wxPGRootProperty( const wxString& name = wxS("<Root>") );
|
||||||
virtual ~wxPGRootProperty() = default;
|
virtual ~wxPGRootProperty() = default;
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
virtual bool StringToValue( wxVariant&, const wxString&, int ) const override
|
virtual bool StringToValue( wxVariant&, const wxString&, int ) const override
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue( wxVariant&, const wxString&, wxPGPropValFormatFlags ) const override
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
|
@ -2132,8 +2367,24 @@ public:
|
||||||
|
|
||||||
int GetTextExtent( const wxWindow* wnd, const wxFont& font ) const;
|
int GetTextExtent( const wxWindow* wnd, const wxFont& font ) const;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual wxString GetValueAsString( int argFlags = 0 ) const override;
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use GetValueAsString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString GetValueAsString(int flags) const override
|
||||||
|
{
|
||||||
|
m_oldGetValueAsString = true;
|
||||||
|
return GetValueAsString(static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString GetValueAsString(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void SetTextColIndex( unsigned int colInd )
|
void SetTextColIndex( unsigned int colInd )
|
||||||
|
|
|
||||||
|
|
@ -250,7 +250,7 @@ wxPG_EX_HELP_AS_TOOLTIPS = 0x00010000,
|
||||||
wxPG_EX_NATIVE_DOUBLE_BUFFERING = 0x00080000,
|
wxPG_EX_NATIVE_DOUBLE_BUFFERING = 0x00080000,
|
||||||
|
|
||||||
// Set this style to let user have ability to set values of properties to
|
// Set this style to let user have ability to set values of properties to
|
||||||
// unspecified state. Same as setting wxPG_PROP_AUTO_UNSPECIFIED for
|
// unspecified state. Same as setting wxPGPropertyFlags::AutoUnspecified for
|
||||||
// all properties.
|
// all properties.
|
||||||
wxPG_EX_AUTO_UNSPECIFIED_VALUES = 0x00200000,
|
wxPG_EX_AUTO_UNSPECIFIED_VALUES = 0x00200000,
|
||||||
|
|
||||||
|
|
@ -438,7 +438,7 @@ private:
|
||||||
|
|
||||||
// These are used with wxPropertyGrid::AddActionTrigger() and
|
// These are used with wxPropertyGrid::AddActionTrigger() and
|
||||||
// wxPropertyGrid::ClearActionTriggers().
|
// wxPropertyGrid::ClearActionTriggers().
|
||||||
enum class wxPGKeyboardActions
|
enum class wxPGKeyboardAction
|
||||||
{
|
{
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
Invalid = 0,
|
Invalid = 0,
|
||||||
|
|
@ -471,22 +471,25 @@ enum class wxPGKeyboardActions
|
||||||
};
|
};
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::Invalid instead")
|
wxDEPRECATED_MSG("use wxPGKeyboardAction type instead")
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_INVALID { wxPGKeyboardActions::Invalid };
|
typedef wxPGKeyboardAction wxPGKeyboardActions;
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::NextProperty instead")
|
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_NEXT_PROPERTY { wxPGKeyboardActions::NextProperty };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::Invalid instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::PrevProperty instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_INVALID { wxPGKeyboardAction::Invalid };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_PREV_PROPERTY { wxPGKeyboardActions::PrevProperty };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::NextProperty instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::ExpandProperty instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_NEXT_PROPERTY { wxPGKeyboardAction::NextProperty };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_EXPAND_PROPERTY { wxPGKeyboardActions::ExpandProperty };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::PrevProperty instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::CollapseProperty instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_PREV_PROPERTY { wxPGKeyboardAction::PrevProperty };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_COLLAPSE_PROPERTY { wxPGKeyboardActions::CollapseProperty };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::ExpandProperty instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::CancelEdit instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_EXPAND_PROPERTY { wxPGKeyboardAction::ExpandProperty };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_CANCEL_EDIT { wxPGKeyboardActions::CancelEdit };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::CollapseProperty instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::Edit instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_COLLAPSE_PROPERTY { wxPGKeyboardAction::CollapseProperty };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_EDIT { wxPGKeyboardActions::Edit };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::CancelEdit instead")
|
||||||
wxDEPRECATED_MSG("use wxPGKeyboardActions::PressButton instead")
|
constexpr wxPGKeyboardAction wxPG_ACTION_CANCEL_EDIT { wxPGKeyboardAction::CancelEdit };
|
||||||
constexpr wxPGKeyboardActions wxPG_ACTION_PRESS_BUTTON { wxPGKeyboardActions::PressButton };
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::Edit instead")
|
||||||
|
constexpr wxPGKeyboardAction wxPG_ACTION_EDIT { wxPGKeyboardAction::Edit };
|
||||||
|
wxDEPRECATED_MSG("use wxPGKeyboardAction::PressButton instead")
|
||||||
|
constexpr wxPGKeyboardAction wxPG_ACTION_PRESS_BUTTON { wxPGKeyboardAction::PressButton };
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
@ -585,20 +588,20 @@ public:
|
||||||
// Adds given key combination to trigger given action.
|
// Adds given key combination to trigger given action.
|
||||||
// Here is a sample code to make Enter key press move focus to
|
// Here is a sample code to make Enter key press move focus to
|
||||||
// the next property.
|
// the next property.
|
||||||
// propGrid->AddActionTrigger(wxPGKeyboardActions::NextProperty, WXK_RETURN);
|
// propGrid->AddActionTrigger(wxPGKeyboardAction::NextProperty, WXK_RETURN);
|
||||||
// propGrid->DedicateKey(WXK_RETURN);
|
// propGrid->DedicateKey(WXK_RETURN);
|
||||||
// action - Which action to trigger. See @ref propgrid_keyboard_actions.
|
// action - Which action to trigger. See @ref propgrid_keyboard_actions.
|
||||||
// keycode - Which keycode triggers the action.
|
// keycode - Which keycode triggers the action.
|
||||||
// modifiers - Which key event modifiers, in addition to keycode, are needed to
|
// modifiers - Which key event modifiers, in addition to keycode, are needed to
|
||||||
// trigger the action.
|
// trigger the action.
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
wxDEPRECATED_MSG("use AddActionTrigger with 'action' argument as wxPGKeyboardActions")
|
wxDEPRECATED_MSG("use AddActionTrigger with 'action' argument as wxPGKeyboardAction")
|
||||||
void AddActionTrigger(int action, int keycode, int modifiers)
|
void AddActionTrigger(int action, int keycode, int modifiers)
|
||||||
{
|
{
|
||||||
AddActionTrigger(static_cast<wxPGKeyboardActions>(action), keycode, modifiers);
|
AddActionTrigger(static_cast<wxPGKeyboardAction>(action), keycode, modifiers);
|
||||||
}
|
}
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
void AddActionTrigger(wxPGKeyboardActions action, int keycode, int modifiers = 0);
|
void AddActionTrigger(wxPGKeyboardAction action, int keycode, int modifiers = 0);
|
||||||
|
|
||||||
// Dedicates a specific keycode to wxPropertyGrid. This means that such
|
// Dedicates a specific keycode to wxPropertyGrid. This means that such
|
||||||
// key presses will not be redirected to editor controls.
|
// key presses will not be redirected to editor controls.
|
||||||
|
|
@ -632,13 +635,13 @@ public:
|
||||||
|
|
||||||
// Clears action triggers for given action.
|
// Clears action triggers for given action.
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
wxDEPRECATED_MSG("use ClearActionTriggers with wxPGKeyboardActions argument")
|
wxDEPRECATED_MSG("use ClearActionTriggers with wxPGKeyboardAction argument")
|
||||||
void ClearActionTriggers(int action)
|
void ClearActionTriggers(int action)
|
||||||
{
|
{
|
||||||
ClearActionTriggers(static_cast<wxPGKeyboardActions>(action));
|
ClearActionTriggers(static_cast<wxPGKeyboardAction>(action));
|
||||||
}
|
}
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
void ClearActionTriggers(wxPGKeyboardActions action);
|
void ClearActionTriggers(wxPGKeyboardAction action);
|
||||||
|
|
||||||
// Forces updating the value of property from the editor control.
|
// Forces updating the value of property from the editor control.
|
||||||
// Note that wxEVT_PG_CHANGING and wxEVT_PG_CHANGED are dispatched using
|
// Note that wxEVT_PG_CHANGING and wxEVT_PG_CHANGED are dispatched using
|
||||||
|
|
@ -1032,8 +1035,15 @@ public:
|
||||||
|
|
||||||
// Returns (visual) text representation of the unspecified
|
// Returns (visual) text representation of the unspecified
|
||||||
// property value.
|
// property value.
|
||||||
// argFlags - For internal use only.
|
// flags - For internal use only.
|
||||||
wxString GetUnspecifiedValueText( int argFlags = 0 ) const;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use GetUnspecifiedValueText with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
wxString GetUnspecifiedValueText(int flags) const
|
||||||
|
{
|
||||||
|
return GetUnspecifiedValueText(static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxString GetUnspecifiedValueText(wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const;
|
||||||
|
|
||||||
// Set virtual width for this particular page. Width -1 indicates that the
|
// Set virtual width for this particular page. Width -1 indicates that the
|
||||||
// virtual width should be disabled.
|
// virtual width should be disabled.
|
||||||
|
|
@ -1300,10 +1310,10 @@ public:
|
||||||
// Called to indicate property and editor has valid value now.
|
// Called to indicate property and editor has valid value now.
|
||||||
void OnValidationFailureReset( wxPGProperty* property )
|
void OnValidationFailureReset( wxPGProperty* property )
|
||||||
{
|
{
|
||||||
if ( property && property->HasFlag(wxPG_PROP_INVALID_VALUE) )
|
if ( property && property->HasFlag(wxPGPropertyFlags::InvalidValue) )
|
||||||
{
|
{
|
||||||
DoOnValidationFailureReset(property);
|
DoOnValidationFailureReset(property);
|
||||||
property->ClearFlag(wxPG_PROP_INVALID_VALUE);
|
property->ClearFlag(wxPGPropertyFlags::InvalidValue);
|
||||||
}
|
}
|
||||||
m_validationInfo.ClearFailureMessage();
|
m_validationInfo.ClearFailureMessage();
|
||||||
}
|
}
|
||||||
|
|
@ -1337,7 +1347,7 @@ public:
|
||||||
wxVariant& invalidValue );
|
wxVariant& invalidValue );
|
||||||
|
|
||||||
// Override to customize resetting of property validation failure status.
|
// Override to customize resetting of property validation failure status.
|
||||||
// Property is guaranteed to have flag wxPG_PROP_INVALID_VALUE set.
|
// Property is guaranteed to have flag wxPGPropertyFlags::InvalidValue set.
|
||||||
virtual void DoOnValidationFailureReset( wxPGProperty* property );
|
virtual void DoOnValidationFailureReset( wxPGProperty* property );
|
||||||
|
|
||||||
int GetSpacingY() const { return m_spacingy; }
|
int GetSpacingY() const { return m_spacingy; }
|
||||||
|
|
@ -1512,7 +1522,7 @@ protected:
|
||||||
wxPGValidationInfo m_validationInfo;
|
wxPGValidationInfo m_validationInfo;
|
||||||
|
|
||||||
// Actions and keys that trigger them.
|
// Actions and keys that trigger them.
|
||||||
std::unordered_map<int, std::pair<wxPGKeyboardActions, wxPGKeyboardActions>> m_actionTriggers;
|
std::unordered_map<int, std::pair<wxPGKeyboardAction, wxPGKeyboardAction>> m_actionTriggers;
|
||||||
|
|
||||||
// Appearance of currently active editor.
|
// Appearance of currently active editor.
|
||||||
wxPGCell m_editorAppearance;
|
wxPGCell m_editorAppearance;
|
||||||
|
|
@ -1768,14 +1778,14 @@ protected:
|
||||||
unsigned int bottomItemY,
|
unsigned int bottomItemY,
|
||||||
const wxRect* itemsRect = nullptr );
|
const wxRect* itemsRect = nullptr );
|
||||||
|
|
||||||
// Translate wxKeyEvent to wxPGKeyboardActions::XXX
|
// Translate wxKeyEvent to wxPGKeyboardAction::XXX
|
||||||
std::pair<wxPGKeyboardActions, wxPGKeyboardActions> KeyEventToActions(const wxKeyEvent& event) const;
|
std::pair<wxPGKeyboardAction, wxPGKeyboardAction> KeyEventToActions(const wxKeyEvent& event) const;
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
wxDEPRECATED_MSG("use single-argument function KeyEventToActions(event)")
|
wxDEPRECATED_MSG("use single-argument function KeyEventToActions(event)")
|
||||||
wxPGKeyboardActions KeyEventToActions(wxKeyEvent &event, wxPGKeyboardActions* pSecond) const;
|
wxPGKeyboardAction KeyEventToActions(wxKeyEvent &event, wxPGKeyboardAction* pSecond) const;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
wxPGKeyboardActions KeyEventToAction(wxKeyEvent& event) const;
|
wxPGKeyboardAction KeyEventToAction(wxKeyEvent& event) const;
|
||||||
|
|
||||||
void ImprovedClientToScreen( int* px, int* py ) const;
|
void ImprovedClientToScreen( int* px, int* py ) const;
|
||||||
|
|
||||||
|
|
@ -1869,7 +1879,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
bool ButtonTriggerKeyTest(wxPGKeyboardActions action, wxKeyEvent& event);
|
bool ButtonTriggerKeyTest(wxPGKeyboardAction action, wxKeyEvent& event);
|
||||||
|
|
||||||
wxDECLARE_EVENT_TABLE();
|
wxDECLARE_EVENT_TABLE();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -212,36 +212,93 @@ constexpr bool operator!=(wxPGPropertyValuesFlags a, int b)
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// Misc. argument flags.
|
// Miscellaneous property value format flags
|
||||||
enum wxPG_MISC_ARG_FLAGS
|
enum class wxPGPropValFormatFlags : int
|
||||||
{
|
{
|
||||||
|
// No flags.
|
||||||
|
Null = 0,
|
||||||
|
|
||||||
// Get/Store full value instead of displayed value.
|
// Get/Store full value instead of displayed value.
|
||||||
wxPG_FULL_VALUE = 0x00000001,
|
FullValue = 0x00000001,
|
||||||
|
|
||||||
// Perform special action in case of unsuccessful conversion.
|
// Perform special action in case of unsuccessful conversion.
|
||||||
wxPG_REPORT_ERROR = 0x00000002,
|
ReportError = 0x00000002,
|
||||||
|
|
||||||
wxPG_PROPERTY_SPECIFIC = 0x00000004,
|
PropertySpecific = 0x00000004,
|
||||||
|
|
||||||
// Get/Store editable value instead of displayed one (should only be
|
// Get/Store editable value instead of displayed one (should only be
|
||||||
// different in the case of common values)
|
// different in the case of common values)
|
||||||
wxPG_EDITABLE_VALUE = 0x00000008,
|
EditableValue = 0x00000008,
|
||||||
|
|
||||||
// Used when dealing with fragments of composite string value
|
// Used when dealing with fragments of composite string value
|
||||||
wxPG_COMPOSITE_FRAGMENT = 0x00000010,
|
CompositeFragment = 0x00000010,
|
||||||
|
|
||||||
// Means property for which final string value is for cannot really be
|
// Means property for which final string value is for cannot really be
|
||||||
// edited.
|
// edited.
|
||||||
wxPG_UNEDITABLE_COMPOSITE_FRAGMENT = 0x00000020,
|
UneditableCompositeFragment = 0x00000020,
|
||||||
|
|
||||||
// ValueToString() called from GetValueAsString()
|
// ValueToString() called from GetValueAsString()
|
||||||
// (guarantees that input wxVariant value is current own value)
|
// (guarantees that input wxVariant value is current own value)
|
||||||
wxPG_VALUE_IS_CURRENT = 0x00000040,
|
ValueIsCurrent = 0x00000040,
|
||||||
|
|
||||||
// Value is being set programmatically (i.e. not by user)
|
// Value is being set programmatically (i.e. not by user)
|
||||||
wxPG_PROGRAMMATIC_VALUE = 0x00000080
|
ProgrammaticValue = 0x00000080
|
||||||
};
|
};
|
||||||
|
|
||||||
|
constexpr wxPGPropValFormatFlags operator&(wxPGPropValFormatFlags a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropValFormatFlags>(static_cast<int>(a) & static_cast<int>(b));
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr wxPGPropValFormatFlags operator|(wxPGPropValFormatFlags a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return static_cast<wxPGPropValFormatFlags>(static_cast<int>(a) | static_cast<int>(b));
|
||||||
|
}
|
||||||
|
|
||||||
|
inline wxPGPropValFormatFlags operator|=(wxPGPropValFormatFlags& a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return a = a | b;
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr bool operator!(wxPGPropValFormatFlags a)
|
||||||
|
{
|
||||||
|
return static_cast<int>(a) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
constexpr int operator&(int a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return a & static_cast<int>(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr int operator|(int a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return a | static_cast<int>(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline int operator|=(int& a, wxPGPropValFormatFlags b)
|
||||||
|
{
|
||||||
|
return a = a | static_cast<int>(b);
|
||||||
|
}
|
||||||
|
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::FullValue instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_FULL_VALUE { wxPGPropValFormatFlags::FullValue };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::ReportError instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_REPORT_ERROR { wxPGPropValFormatFlags::ReportError };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::PropertySpecific instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_PROPERTY_SPECIFIC { wxPGPropValFormatFlags::PropertySpecific };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::EditableValue instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_EDITABLE_VALUE { wxPGPropValFormatFlags::EditableValue };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::CompositeFragment instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_COMPOSITE_FRAGMENT { wxPGPropValFormatFlags::CompositeFragment };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::UneditableCompositeFragment instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_UNEDITABLE_COMPOSITE_FRAGMENT { wxPGPropValFormatFlags::UneditableCompositeFragment };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::ValueIsCurrent instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_VALUE_IS_CURRENT { wxPGPropValFormatFlags::ValueIsCurrent };
|
||||||
|
wxDEPRECATED_MSG("use wxPGPropValFormatFlags::ProgrammaticValue instead")
|
||||||
|
constexpr wxPGPropValFormatFlags wxPG_PROGRAMMATIC_VALUE { wxPGPropValFormatFlags::ProgrammaticValue };
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// wxPGProperty::SetValue() flags
|
// wxPGProperty::SetValue() flags
|
||||||
|
|
|
||||||
|
|
@ -331,7 +331,7 @@ public:
|
||||||
{
|
{
|
||||||
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(wxNullProperty)
|
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(wxNullProperty)
|
||||||
|
|
||||||
if ( !p->HasAnyChild() || p->HasFlag(wxPG_PROP_AGGREGATE) )
|
if ( !p->HasAnyChild() || p->HasFlag(wxPGPropertyFlags::Aggregate) )
|
||||||
return wxNullProperty;
|
return wxNullProperty;
|
||||||
|
|
||||||
return p->Item(0);
|
return p->Item(0);
|
||||||
|
|
@ -410,12 +410,24 @@ public:
|
||||||
// only properties without given flags are stored.
|
// only properties without given flags are stored.
|
||||||
// flags - Property flags to use.
|
// flags - Property flags to use.
|
||||||
// iterFlags - Iterator flags to use. Default is everything expect private children.
|
// iterFlags - Iterator flags to use. Default is everything expect private children.
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use GetPropertiesWithFlag() with 'flags' argument as wxPGPropertyFlags")
|
||||||
void GetPropertiesWithFlag( wxArrayPGProperty* targetArr,
|
void GetPropertiesWithFlag( wxArrayPGProperty* targetArr,
|
||||||
wxPGProperty::FlagType flags,
|
int flags,
|
||||||
bool inverse = false,
|
bool inverse = false,
|
||||||
int iterFlags = wxPG_ITERATE_PROPERTIES |
|
int iterFlags = wxPG_ITERATE_PROPERTIES |
|
||||||
wxPG_ITERATE_HIDDEN |
|
wxPG_ITERATE_HIDDEN |
|
||||||
wxPG_ITERATE_CATEGORIES) const;
|
wxPG_ITERATE_CATEGORIES) const
|
||||||
|
{
|
||||||
|
GetPropertiesWithFlag(targetArr, static_cast<wxPGPropertyFlags>(flags), inverse, iterFlags);
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
void GetPropertiesWithFlag(wxArrayPGProperty* targetArr,
|
||||||
|
wxPGPropertyFlags flags,
|
||||||
|
bool inverse = false,
|
||||||
|
int iterFlags = wxPG_ITERATE_PROPERTIES |
|
||||||
|
wxPG_ITERATE_HIDDEN |
|
||||||
|
wxPG_ITERATE_CATEGORIES) const;
|
||||||
|
|
||||||
// Returns value of given attribute. If none found, returns null wxVariant.
|
// Returns value of given attribute. If none found, returns null wxVariant.
|
||||||
wxVariant GetPropertyAttribute( wxPGPropArg id,
|
wxVariant GetPropertyAttribute( wxPGPropArg id,
|
||||||
|
|
@ -652,7 +664,7 @@ public:
|
||||||
bool IsPropertyEnabled( wxPGPropArg id ) const
|
bool IsPropertyEnabled( wxPGPropArg id ) const
|
||||||
{
|
{
|
||||||
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
||||||
return !p->HasFlag(wxPG_PROP_DISABLED);
|
return !p->HasFlag(wxPGPropertyFlags::Disabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if given property is expanded.
|
// Returns true if given property is expanded.
|
||||||
|
|
@ -664,11 +676,7 @@ public:
|
||||||
bool IsPropertyModified( wxPGPropArg id ) const
|
bool IsPropertyModified( wxPGPropArg id ) const
|
||||||
{
|
{
|
||||||
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
||||||
#if WXWIN_COMPATIBILITY_3_0
|
return p->HasFlag(wxPGPropertyFlags::Modified);
|
||||||
return p->HasFlag(wxPG_PROP_MODIFIED)?true:false;
|
|
||||||
#else
|
|
||||||
return p->HasFlag(wxPG_PROP_MODIFIED);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if property is selected.
|
// Returns true if property is selected.
|
||||||
|
|
@ -683,7 +691,7 @@ public:
|
||||||
bool IsPropertyShown( wxPGPropArg id ) const
|
bool IsPropertyShown( wxPGPropArg id ) const
|
||||||
{
|
{
|
||||||
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
wxPG_PROP_ARG_CALL_PROLOG_RETVAL(false)
|
||||||
return !p->HasFlag(wxPG_PROP_HIDDEN);
|
return !p->HasFlag(wxPGPropertyFlags::Hidden);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if property value is set to unspecified.
|
// Returns true if property value is set to unspecified.
|
||||||
|
|
@ -789,22 +797,22 @@ public:
|
||||||
// Sets an attribute for this property.
|
// Sets an attribute for this property.
|
||||||
// name - Text identifier of attribute. See @ref propgrid_property_attributes.
|
// name - Text identifier of attribute. See @ref propgrid_property_attributes.
|
||||||
// value - Value of attribute.
|
// value - Value of attribute.
|
||||||
// argFlags - Optional. Use wxPGPropertyValuesFlags::Recurse to set the attribute to child
|
// flags - Optional. Use wxPGPropertyValuesFlags::Recurse to set the attribute to child
|
||||||
// properties recursively.
|
// properties recursively.
|
||||||
// Setting attribute's value to null wxVariant will simply remove it
|
// Setting attribute's value to null wxVariant will simply remove it
|
||||||
// from property's set of attributes.
|
// from property's set of attributes.
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
wxDEPRECATED_MSG("use SetPropertyAttribute with argFlags argument as wxPGPropertyValuesFlags")
|
wxDEPRECATED_MSG("use SetPropertyAttribute with 'flags' argument as wxPGPropertyValuesFlags")
|
||||||
void SetPropertyAttribute(wxPGPropArg id, const wxString& attrName,
|
void SetPropertyAttribute(wxPGPropArg id, const wxString& attrName,
|
||||||
wxVariant value, long argFlags)
|
wxVariant value, long flags)
|
||||||
{
|
{
|
||||||
DoSetPropertyAttribute(id, attrName, value, static_cast<wxPGPropertyValuesFlags>(argFlags));
|
DoSetPropertyAttribute(id, attrName, value, static_cast<wxPGPropertyValuesFlags>(flags));
|
||||||
}
|
}
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
void SetPropertyAttribute(wxPGPropArg id, const wxString& attrName, wxVariant value,
|
void SetPropertyAttribute(wxPGPropArg id, const wxString& attrName, wxVariant value,
|
||||||
wxPGPropertyValuesFlags argFlags = wxPGPropertyValuesFlags::DontRecurse)
|
wxPGPropertyValuesFlags flags = wxPGPropertyValuesFlags::DontRecurse)
|
||||||
{
|
{
|
||||||
DoSetPropertyAttribute(id, attrName, value, argFlags);
|
DoSetPropertyAttribute(id, attrName, value, flags);
|
||||||
}
|
}
|
||||||
// Sets property attribute for all applicable properties.
|
// Sets property attribute for all applicable properties.
|
||||||
// Be sure to use this method only after all properties have been
|
// Be sure to use this method only after all properties have been
|
||||||
|
|
@ -1228,7 +1236,7 @@ protected:
|
||||||
// Intermediate version needed due to wxVariant copying inefficiency
|
// Intermediate version needed due to wxVariant copying inefficiency
|
||||||
void DoSetPropertyAttribute( wxPGPropArg id,
|
void DoSetPropertyAttribute( wxPGPropArg id,
|
||||||
const wxString& name,
|
const wxString& name,
|
||||||
wxVariant& value, wxPGPropertyValuesFlags argFlags );
|
wxVariant& value, wxPGPropertyValuesFlags flags );
|
||||||
|
|
||||||
// Empty string object to return from member functions returning const
|
// Empty string object to return from member functions returning const
|
||||||
// wxString&.
|
// wxString&.
|
||||||
|
|
|
||||||
|
|
@ -213,54 +213,54 @@ enum wxPG_ITERATOR_FLAGS
|
||||||
|
|
||||||
// Iterate through 'normal' property items (does not include children of
|
// Iterate through 'normal' property items (does not include children of
|
||||||
// aggregate or hidden items by default).
|
// aggregate or hidden items by default).
|
||||||
wxPG_ITERATE_PROPERTIES = wxPG_PROP_PROPERTY |
|
wxPG_ITERATE_PROPERTIES = wxPGPropertyFlags::Property |
|
||||||
wxPG_PROP_MISC_PARENT |
|
wxPGPropertyFlags::MiscParent |
|
||||||
wxPG_PROP_AGGREGATE |
|
wxPGPropertyFlags::Aggregate |
|
||||||
wxPG_PROP_COLLAPSED |
|
wxPGPropertyFlags::Collapsed |
|
||||||
wxPG_IT_CHILDREN(wxPG_PROP_MISC_PARENT) |
|
wxPG_IT_CHILDREN(wxPGPropertyFlags::MiscParent) |
|
||||||
wxPG_IT_CHILDREN(wxPG_PROP_CATEGORY),
|
wxPG_IT_CHILDREN(wxPGPropertyFlags::Category),
|
||||||
|
|
||||||
// Iterate children of collapsed parents, and individual items that are hidden.
|
// Iterate children of collapsed parents, and individual items that are hidden.
|
||||||
wxPG_ITERATE_HIDDEN = wxPG_PROP_HIDDEN |
|
wxPG_ITERATE_HIDDEN = wxPGPropertyFlags::Hidden |
|
||||||
wxPG_IT_CHILDREN(wxPG_PROP_COLLAPSED),
|
wxPG_IT_CHILDREN(wxPGPropertyFlags::Collapsed),
|
||||||
|
|
||||||
// Iterate children of parent that is an aggregate property (ie has fixed
|
// Iterate children of parent that is an aggregate property (ie has fixed
|
||||||
// children).
|
// children).
|
||||||
wxPG_ITERATE_FIXED_CHILDREN = wxPG_IT_CHILDREN(wxPG_PROP_AGGREGATE) |
|
wxPG_ITERATE_FIXED_CHILDREN = wxPG_IT_CHILDREN(wxPGPropertyFlags::Aggregate) |
|
||||||
wxPG_ITERATE_PROPERTIES,
|
wxPG_ITERATE_PROPERTIES,
|
||||||
|
|
||||||
// Iterate categories.
|
// Iterate categories.
|
||||||
// Note that even without this flag, children of categories are still iterated
|
// Note that even without this flag, children of categories are still iterated
|
||||||
// through.
|
// through.
|
||||||
wxPG_ITERATE_CATEGORIES = wxPG_PROP_CATEGORY |
|
wxPG_ITERATE_CATEGORIES = wxPGPropertyFlags::Category |
|
||||||
wxPG_IT_CHILDREN(wxPG_PROP_CATEGORY) |
|
wxPG_IT_CHILDREN(wxPGPropertyFlags::Category) |
|
||||||
wxPG_PROP_COLLAPSED,
|
wxPGPropertyFlags::Collapsed,
|
||||||
|
|
||||||
wxPG_ITERATE_ALL_PARENTS = wxPG_PROP_MISC_PARENT |
|
wxPG_ITERATE_ALL_PARENTS = static_cast<int>(wxPGPropertyFlags::MiscParent |
|
||||||
wxPG_PROP_AGGREGATE |
|
wxPGPropertyFlags::Aggregate |
|
||||||
wxPG_PROP_CATEGORY,
|
wxPGPropertyFlags::Category),
|
||||||
|
|
||||||
wxPG_ITERATE_ALL_PARENTS_RECURSIVELY = wxPG_ITERATE_ALL_PARENTS |
|
wxPG_ITERATE_ALL_PARENTS_RECURSIVELY = wxPG_ITERATE_ALL_PARENTS |
|
||||||
wxPG_IT_CHILDREN(
|
wxPG_IT_CHILDREN(
|
||||||
wxPG_ITERATE_ALL_PARENTS),
|
wxPG_ITERATE_ALL_PARENTS),
|
||||||
|
|
||||||
wxPG_ITERATOR_FLAGS_ALL = wxPG_PROP_PROPERTY |
|
wxPG_ITERATOR_FLAGS_ALL = static_cast<int>(wxPGPropertyFlags::Property |
|
||||||
wxPG_PROP_MISC_PARENT |
|
wxPGPropertyFlags::MiscParent |
|
||||||
wxPG_PROP_AGGREGATE |
|
wxPGPropertyFlags::Aggregate |
|
||||||
wxPG_PROP_HIDDEN |
|
wxPGPropertyFlags::Hidden |
|
||||||
wxPG_PROP_CATEGORY |
|
wxPGPropertyFlags::Category |
|
||||||
wxPG_PROP_COLLAPSED,
|
wxPGPropertyFlags::Collapsed),
|
||||||
|
|
||||||
wxPG_ITERATOR_MASK_OP_ITEM = wxPG_ITERATOR_FLAGS_ALL,
|
wxPG_ITERATOR_MASK_OP_ITEM = wxPG_ITERATOR_FLAGS_ALL,
|
||||||
|
|
||||||
// (wxPG_PROP_MISC_PARENT|wxPG_PROP_AGGREGATE|wxPG_PROP_CATEGORY)
|
// (wxPGPropertyFlags::MiscParent|wxPGPropertyFlags::Aggregate|wxPGPropertyFlags::Category)
|
||||||
wxPG_ITERATOR_MASK_OP_PARENT = wxPG_ITERATOR_FLAGS_ALL,
|
wxPG_ITERATOR_MASK_OP_PARENT = wxPG_ITERATOR_FLAGS_ALL,
|
||||||
|
|
||||||
// Combines all flags needed to iterate through visible properties
|
// Combines all flags needed to iterate through visible properties
|
||||||
// (ie. hidden properties and children of collapsed parents are skipped).
|
// (ie. hidden properties and children of collapsed parents are skipped).
|
||||||
wxPG_ITERATE_VISIBLE = static_cast<int>(wxPG_ITERATE_PROPERTIES) |
|
wxPG_ITERATE_VISIBLE = wxPG_ITERATE_PROPERTIES |
|
||||||
wxPG_PROP_CATEGORY |
|
wxPGPropertyFlags::Category |
|
||||||
wxPG_IT_CHILDREN(wxPG_PROP_AGGREGATE),
|
wxPG_IT_CHILDREN(wxPGPropertyFlags::Aggregate),
|
||||||
|
|
||||||
// Iterate all items.
|
// Iterate all items.
|
||||||
wxPG_ITERATE_ALL = wxPG_ITERATE_VISIBLE |
|
wxPG_ITERATE_ALL = wxPG_ITERATE_VISIBLE |
|
||||||
|
|
@ -276,21 +276,21 @@ wxPG_ITERATE_DEFAULT = wxPG_ITERATE_NORMAL
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline void wxPGCreateIteratorMasks(int flags, wxPGPropertyFlags& itemExMask, wxPGPropertyFlags& parentExMask)
|
||||||
|
{
|
||||||
|
itemExMask = static_cast<wxPGPropertyFlags>((flags ^ wxPG_ITERATOR_MASK_OP_ITEM) &
|
||||||
|
wxPG_ITERATOR_MASK_OP_ITEM & 0xFFFF);
|
||||||
|
parentExMask = static_cast<wxPGPropertyFlags>(((flags >> 16) ^ wxPG_ITERATOR_MASK_OP_PARENT) &
|
||||||
|
wxPG_ITERATOR_MASK_OP_PARENT & 0xFFFF);
|
||||||
|
}
|
||||||
|
|
||||||
#define wxPG_ITERATOR_CREATE_MASKS(FLAGS, A, B) \
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
A = (FLAGS ^ wxPG_ITERATOR_MASK_OP_ITEM) & \
|
#ifdef wxPG_MUST_DEPRECATE_MACRO_NAME
|
||||||
wxPG_ITERATOR_MASK_OP_ITEM & 0xFFFF; \
|
#pragma deprecated(wxPG_ITERATOR_CREATE_MASKS)
|
||||||
B = ((FLAGS>>16) ^ wxPG_ITERATOR_MASK_OP_PARENT) & \
|
#endif
|
||||||
wxPG_ITERATOR_MASK_OP_PARENT & 0xFFFF;
|
#define wxPG_ITERATOR_CREATE_MASKS wxPG_DEPRECATED_MACRO_VALUE(wxPGCreateIteratorMasks,\
|
||||||
|
"wxPG_ITERATOR_CREATE_MASKS is deprecated. Call wxPGCreateIteratorMasks instead.")
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
// Macro to test if children of PWC should be iterated through
|
|
||||||
#define wxPG_ITERATOR_PARENTEXMASK_TEST(PWC, PARENTMASK) \
|
|
||||||
( \
|
|
||||||
!PWC->HasFlag(PARENTMASK) && \
|
|
||||||
PWC->HasAnyChild() \
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
// Base for wxPropertyGridIterator classes.
|
// Base for wxPropertyGridIterator classes.
|
||||||
class WXDLLIMPEXP_PROPGRID wxPropertyGridIteratorBase
|
class WXDLLIMPEXP_PROPGRID wxPropertyGridIteratorBase
|
||||||
|
|
@ -337,8 +337,8 @@ private:
|
||||||
wxPGProperty* m_baseParent;
|
wxPGProperty* m_baseParent;
|
||||||
|
|
||||||
// Masks are used to quickly exclude items
|
// Masks are used to quickly exclude items
|
||||||
wxPGProperty::FlagType m_itemExMask;
|
wxPGPropertyFlags m_itemExMask;
|
||||||
wxPGProperty::FlagType m_parentExMask;
|
wxPGPropertyFlags m_parentExMask;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename PROPERTY, typename STATE>
|
template <typename PROPERTY, typename STATE>
|
||||||
|
|
@ -640,7 +640,7 @@ protected:
|
||||||
|
|
||||||
void DoLimitPropertyEditing(wxPGProperty* p, bool limit = true)
|
void DoLimitPropertyEditing(wxPGProperty* p, bool limit = true)
|
||||||
{
|
{
|
||||||
p->SetFlagRecursively(wxPG_PROP_NOEDITOR, limit);
|
p->SetFlagRecursively(wxPGPropertyFlags::NoEditor, limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DoSelectProperty(wxPGProperty* p, wxPGSelectPropertyFlags flags = wxPGSelectPropertyFlags::Null);
|
bool DoSelectProperty(wxPGProperty* p, wxPGSelectPropertyFlags flags = wxPGSelectPropertyFlags::Null);
|
||||||
|
|
@ -813,7 +813,6 @@ protected:
|
||||||
bool m_dontCenterSplitter;
|
bool m_dontCenterSplitter;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Only inits arrays, doesn't migrate things or such.
|
|
||||||
void InitNonCatMode();
|
void InitNonCatMode();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -99,10 +99,28 @@ public:
|
||||||
const wxString& value = wxString() );
|
const wxString& value = wxString() );
|
||||||
virtual ~wxStringProperty() = default;
|
virtual ~wxStringProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue( wxVariant& variant, const wxString& text,
|
||||||
|
int flags ) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
|
|
@ -115,18 +133,27 @@ protected:
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
// Constants used with NumericValidation<>().
|
// Constants used with NumericValidation<>().
|
||||||
enum wxPGNumericValidationConstants
|
enum class wxPGNumericValidationMode
|
||||||
{
|
{
|
||||||
// Instead of modifying the value, show an error message.
|
// Instead of modifying the value, show an error message.
|
||||||
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE = 0,
|
ErrorMessage,
|
||||||
|
|
||||||
// Modify value, but stick with the limitations.
|
// Modify value, but stick with the limitations.
|
||||||
wxPG_PROPERTY_VALIDATION_SATURATE = 1,
|
Saturate,
|
||||||
|
|
||||||
// Modify value, wrap around on overflow.
|
// Modify value, wrap around on overflow.
|
||||||
wxPG_PROPERTY_VALIDATION_WRAP = 2
|
Wrap
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use wxPGNumericValidationMode::ErrorMessage instead")
|
||||||
|
constexpr wxPGNumericValidationMode wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE { wxPGNumericValidationMode::ErrorMessage };
|
||||||
|
wxDEPRECATED_MSG("use wxPGNumericValidationMode::Saturate instead")
|
||||||
|
constexpr wxPGNumericValidationMode wxPG_PROPERTY_VALIDATION_SATURATE { wxPGNumericValidationMode::Saturate };
|
||||||
|
wxDEPRECATED_MSG("use wxPGNumericValidationMode::Wrap instead")
|
||||||
|
constexpr wxPGNumericValidationMode wxPG_PROPERTY_VALIDATION_WRAP { wxPGNumericValidationMode::Wrap };
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
||||||
#if wxUSE_VALIDATORS
|
#if wxUSE_VALIDATORS
|
||||||
|
|
@ -135,13 +162,22 @@ enum wxPGNumericValidationConstants
|
||||||
class WXDLLIMPEXP_PROPGRID wxNumericPropertyValidator : public wxTextValidator
|
class WXDLLIMPEXP_PROPGRID wxNumericPropertyValidator : public wxTextValidator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum NumericType
|
enum class NumericType
|
||||||
{
|
{
|
||||||
Signed = 0,
|
Signed,
|
||||||
Unsigned,
|
Unsigned,
|
||||||
Float
|
Float
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use NumericType::Signed instead")
|
||||||
|
static const NumericType Signed = NumericType::Signed;
|
||||||
|
wxDEPRECATED_MSG("use NumericType::Unsigned instead")
|
||||||
|
static const NumericType Unsigned = NumericType::Unsigned;
|
||||||
|
wxDEPRECATED_MSG("use NumericType::Float instead")
|
||||||
|
static const NumericType Float = NumericType::Float;
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
wxNumericPropertyValidator( NumericType numericType, int base = 10 );
|
wxNumericPropertyValidator( NumericType numericType, int base = 10 );
|
||||||
virtual ~wxNumericPropertyValidator() = default;
|
virtual ~wxNumericPropertyValidator() = default;
|
||||||
virtual bool Validate(wxWindow* parent) override;
|
virtual bool Validate(wxWindow* parent) override;
|
||||||
|
|
@ -164,9 +200,16 @@ public:
|
||||||
bool UseSpinMotion() const { return m_spinMotion; }
|
bool UseSpinMotion() const { return m_spinMotion; }
|
||||||
|
|
||||||
// Common validation code - for internal use.
|
// Common validation code - for internal use.
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
wxDEPRECATED_MSG("use DoNumericValidation with 'mode' argument as wxPGNumericValidationMode")
|
||||||
bool DoNumericValidation(T& value, wxPGValidationInfo* pValidationInfo,
|
bool DoNumericValidation(T& value, wxPGValidationInfo* pValidationInfo,
|
||||||
int mode, T defMin, T defMax) const;
|
int mode, T defMin, T defMax) const;
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
bool DoNumericValidation(T& value, wxPGValidationInfo* pValidationInfo,
|
||||||
|
wxPGNumericValidationMode mode, T defMin, T defMax) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxNumericProperty(const wxString& label, const wxString& name);
|
wxNumericProperty(const wxString& label, const wxString& name);
|
||||||
|
|
@ -194,15 +237,39 @@ public:
|
||||||
const wxString& name,
|
const wxString& name,
|
||||||
const wxLongLong& value );
|
const wxLongLong& value );
|
||||||
#endif
|
#endif
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool ValidateValue( wxVariant& value,
|
virtual bool ValidateValue( wxVariant& value,
|
||||||
wxPGValidationInfo& validationInfo ) const override;
|
wxPGValidationInfo& validationInfo ) const override;
|
||||||
virtual bool IntToValue( wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int number,
|
wxDEPRECATED_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
int argFlags = 0 ) const override;
|
virtual bool IntToValue(wxVariant& variant, int number, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(variant, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
static wxValidator* GetClassValidator();
|
static wxValidator* GetClassValidator();
|
||||||
virtual wxValidator* DoGetValidator() const override;
|
virtual wxValidator* DoGetValidator() const override;
|
||||||
virtual wxVariant AddSpinStepValue(long stepScale) const override;
|
virtual wxVariant AddSpinStepValue(long stepScale) const override;
|
||||||
|
|
@ -213,22 +280,12 @@ private:
|
||||||
static bool DoValidation( const wxNumericProperty* property,
|
static bool DoValidation( const wxNumericProperty* property,
|
||||||
wxLongLong& value,
|
wxLongLong& value,
|
||||||
wxPGValidationInfo* pValidationInfo,
|
wxPGValidationInfo* pValidationInfo,
|
||||||
int mode =
|
wxPGNumericValidationMode = wxPGNumericValidationMode::ErrorMessage);
|
||||||
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE );
|
|
||||||
|
|
||||||
#if defined(wxLongLong_t)
|
|
||||||
static bool DoValidation( const wxNumericProperty* property,
|
|
||||||
wxLongLong_t& value,
|
|
||||||
wxPGValidationInfo* pValidationInfo,
|
|
||||||
int mode =
|
|
||||||
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE );
|
|
||||||
#endif // wxLongLong_t
|
|
||||||
#endif // wxUSE_LONGLONG
|
#endif // wxUSE_LONGLONG
|
||||||
static bool DoValidation(const wxNumericProperty* property,
|
static bool DoValidation(const wxNumericProperty* property,
|
||||||
long& value,
|
long& value,
|
||||||
wxPGValidationInfo* pValidationInfo,
|
wxPGValidationInfo* pValidationInfo,
|
||||||
int mode =
|
wxPGNumericValidationMode mode = wxPGNumericValidationMode::ErrorMessage);
|
||||||
wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
@ -248,17 +305,42 @@ public:
|
||||||
const wxString& name,
|
const wxString& name,
|
||||||
const wxULongLong& value );
|
const wxULongLong& value );
|
||||||
#endif
|
#endif
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
virtual bool ValidateValue( wxVariant& value,
|
virtual bool ValidateValue( wxVariant& value,
|
||||||
wxPGValidationInfo& validationInfo ) const override;
|
wxPGValidationInfo& validationInfo ) const override;
|
||||||
virtual wxValidator* DoGetValidator () const override;
|
virtual wxValidator* DoGetValidator () const override;
|
||||||
virtual bool IntToValue( wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int number,
|
wxDEPRECATED_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
int argFlags = 0 ) const override;
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(variant, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual wxVariant AddSpinStepValue(long stepScale) const override;
|
virtual wxVariant AddSpinStepValue(long stepScale) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -273,18 +355,12 @@ private:
|
||||||
static bool DoValidation(const wxNumericProperty* property,
|
static bool DoValidation(const wxNumericProperty* property,
|
||||||
wxULongLong& value,
|
wxULongLong& value,
|
||||||
wxPGValidationInfo* pValidationInfo,
|
wxPGValidationInfo* pValidationInfo,
|
||||||
int mode =wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE);
|
wxPGNumericValidationMode = wxPGNumericValidationMode::ErrorMessage);
|
||||||
#if defined(wxULongLong_t)
|
|
||||||
static bool DoValidation(const wxNumericProperty* property,
|
|
||||||
wxULongLong_t& value,
|
|
||||||
wxPGValidationInfo* pValidationInfo,
|
|
||||||
int mode =wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE);
|
|
||||||
#endif // wxULongLong_t
|
|
||||||
#endif // wxUSE_LONGLONG
|
#endif // wxUSE_LONGLONG
|
||||||
static bool DoValidation(const wxNumericProperty* property,
|
static bool DoValidation(const wxNumericProperty* property,
|
||||||
long& value,
|
long& value,
|
||||||
wxPGValidationInfo* pValidationInfo,
|
wxPGValidationInfo* pValidationInfo,
|
||||||
int mode = wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE);
|
wxPGNumericValidationMode mode = wxPGNumericValidationMode::ErrorMessage);
|
||||||
};
|
};
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
@ -299,10 +375,27 @@ public:
|
||||||
double value = 0.0 );
|
double value = 0.0 );
|
||||||
virtual ~wxFloatProperty() = default;
|
virtual ~wxFloatProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
virtual bool ValidateValue( wxVariant& value,
|
virtual bool ValidateValue( wxVariant& value,
|
||||||
|
|
@ -320,7 +413,7 @@ private:
|
||||||
static bool DoValidation(const wxNumericProperty* property,
|
static bool DoValidation(const wxNumericProperty* property,
|
||||||
double& value,
|
double& value,
|
||||||
wxPGValidationInfo* pValidationInfo,
|
wxPGValidationInfo* pValidationInfo,
|
||||||
int mode = wxPG_PROPERTY_VALIDATION_ERROR_MESSAGE);
|
wxPGNumericValidationMode mode = wxPGNumericValidationMode::ErrorMessage);
|
||||||
};
|
};
|
||||||
|
|
||||||
// -----------------------------------------------------------------------
|
// -----------------------------------------------------------------------
|
||||||
|
|
@ -335,12 +428,37 @@ public:
|
||||||
bool value = false );
|
bool value = false );
|
||||||
virtual ~wxBoolProperty() = default;
|
virtual ~wxBoolProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
virtual bool IntToValue( wxVariant& variant,
|
m_oldValueToStringCalled = true;
|
||||||
int number, int argFlags = 0 ) const override;
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(variant, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -349,8 +467,8 @@ public:
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
// If set, then selection of choices is static and should not be
|
// If set, then selection of choices is static and should not be
|
||||||
// changed (i.e. returns nullptr in GetPropertyChoices).
|
// changed (i.e. returns nullptr in GetPropertyChoices).
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_STATIC_CHOICES is intended for internal use.")
|
wxDEPRECATED_MSG("wxPG_PROP_STATIC_CHOICES is intended for internal use.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_STATIC_CHOICES = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPG_PROP_STATIC_CHOICES = wxPGPropertyFlags::Reserved_1;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Represents a single selection from a list of choices
|
// Represents a single selection from a list of choices
|
||||||
|
|
@ -401,18 +519,41 @@ public:
|
||||||
size_t GetItemCount() const { return m_choices.GetCount(); }
|
size_t GetItemCount() const { return m_choices.GetCount(); }
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool ValidateValue( wxVariant& value,
|
virtual bool ValidateValue( wxVariant& value,
|
||||||
wxPGValidationInfo& validationInfo ) const override;
|
wxPGValidationInfo& validationInfo ) const override;
|
||||||
|
|
||||||
// If wxPG_FULL_VALUE is not set in flags, then the value is interpreted
|
// If wxPGPropValFormatFlags::FullValue is not set in flags, then the value is interpreted
|
||||||
// as index to choices list. Otherwise, it is actual value.
|
// as index to choices list. Otherwise, it is actual value.
|
||||||
virtual bool IntToValue( wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int number,
|
wxDEPRECATED_MSG("use IntToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
int argFlags = 0 ) const override;
|
virtual bool IntToValue(wxVariant& variant, int number, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldIntToValueCalled = true;
|
||||||
|
return IntToValue(variant, number, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool IntToValue(wxVariant& variant, int number,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Additional virtuals
|
// Additional virtuals
|
||||||
|
|
@ -434,25 +575,38 @@ protected:
|
||||||
wxDEPRECATED_MSG("use ValueFromString_(wxVariant&, int*, const wxString&, int) function instead")
|
wxDEPRECATED_MSG("use ValueFromString_(wxVariant&, int*, const wxString&, int) function instead")
|
||||||
bool ValueFromString_( wxVariant& value,
|
bool ValueFromString_( wxVariant& value,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
int argFlags ) const
|
int flags ) const
|
||||||
{
|
{
|
||||||
return ValueFromString_(value, nullptr, text, argFlags);
|
return ValueFromString_(value, nullptr, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
}
|
}
|
||||||
wxDEPRECATED_MSG("use ValueFromInt_(wxVariant&, int*, int, int) function instead")
|
wxDEPRECATED_MSG("use ValueFromInt_(wxVariant&, int*, int, int) function instead")
|
||||||
bool ValueFromInt_( wxVariant& value, int intVal, int argFlags ) const
|
bool ValueFromInt_( wxVariant& value, int intVal, int flags ) const
|
||||||
{
|
{
|
||||||
return ValueFromInt_(value, nullptr, intVal, argFlags);
|
return ValueFromInt_(value, nullptr, intVal, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
}
|
}
|
||||||
wxDEPRECATED_MSG("don't use ResetNextIndex() function")
|
wxDEPRECATED_MSG("don't use ResetNextIndex() function")
|
||||||
static void ResetNextIndex() { }
|
static void ResetNextIndex() { }
|
||||||
#endif
|
#endif
|
||||||
// Converts text to value and returns corresponding index in the collection
|
// Converts text to value and returns corresponding index in the collection
|
||||||
bool ValueFromString_(wxVariant& value,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
int* pIndex,
|
wxDEPRECATED_MSG("use ValueFromString_ with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
bool ValueFromString_(wxVariant& value, int* pIndex,
|
||||||
int argFlags) const;
|
const wxString& text, int flags) const
|
||||||
|
{
|
||||||
|
return ValueFromString_(value, pIndex, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool ValueFromString_(wxVariant& value, int* pIndex,
|
||||||
|
const wxString& text, wxPGPropValFormatFlags flags) const;
|
||||||
// Converts number to value and returns corresponding index in the collection
|
// Converts number to value and returns corresponding index in the collection
|
||||||
bool ValueFromInt_(wxVariant& value, int* pIndex, int intVal, int argFlags) const;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueFromInt_ with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
bool ValueFromInt_(wxVariant& value, int* pIndex, int intVal, int flags) const
|
||||||
|
{
|
||||||
|
return ValueFromInt_(value, pIndex, intVal, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool ValueFromInt_(wxVariant& value, int* pIndex, int intVal, wxPGPropValFormatFlags flags) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// This is private so that classes are guaranteed to use GetIndex
|
// This is private so that classes are guaranteed to use GetIndex
|
||||||
|
|
@ -496,9 +650,17 @@ public:
|
||||||
virtual ~wxEditEnumProperty() = default;
|
virtual ~wxEditEnumProperty() = default;
|
||||||
|
|
||||||
void OnSetValue() override;
|
void OnSetValue() override;
|
||||||
bool StringToValue(wxVariant& variant,
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
const wxString& text,
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
int argFlags = 0) const override;
|
bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
bool ValidateValue(wxVariant& value,
|
bool ValidateValue(wxVariant& value,
|
||||||
wxPGValidationInfo& validationInfo) const override;
|
wxPGValidationInfo& validationInfo) const override;
|
||||||
|
|
||||||
|
|
@ -538,10 +700,27 @@ public:
|
||||||
virtual ~wxFlagsProperty () = default;
|
virtual ~wxFlagsProperty () = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int flags ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags) const override;
|
||||||
virtual wxVariant ChildChanged( wxVariant& thisValue,
|
virtual wxVariant ChildChanged( wxVariant& thisValue,
|
||||||
int childIndex,
|
int childIndex,
|
||||||
wxVariant& childValue ) const override;
|
wxVariant& childValue ) const override;
|
||||||
|
|
@ -595,8 +774,8 @@ protected:
|
||||||
|
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
// Indicates first bit usable by derived properties.
|
// Indicates first bit usable by derived properties.
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_SHOW_FULL_FILENAME is intended for internal use.")
|
wxDEPRECATED_MSG("wxPG_PROP_SHOW_FULL_FILENAME is intended for internal use.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_SHOW_FULL_FILENAME = wxPG_PROP_RESERVED_1;
|
constexpr wxPGPropertyFlags wxPG_PROP_SHOW_FULL_FILENAME = wxPGPropertyFlags::Reserved_1;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Like wxLongStringProperty, but the button triggers file selector instead.
|
// Like wxLongStringProperty, but the button triggers file selector instead.
|
||||||
|
|
@ -611,10 +790,26 @@ public:
|
||||||
virtual ~wxFileProperty() = default;
|
virtual ~wxFileProperty() = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value, wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
static wxValidator* GetClassValidator();
|
static wxValidator* GetClassValidator();
|
||||||
|
|
@ -637,8 +832,8 @@ protected:
|
||||||
#if WXWIN_COMPATIBILITY_3_2
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
// Flag used in wxLongStringProperty to mark that edit button
|
// Flag used in wxLongStringProperty to mark that edit button
|
||||||
// should be enabled even in the read-only mode.
|
// should be enabled even in the read-only mode.
|
||||||
wxDEPRECATED_BUT_USED_INTERNALLY_MSG("wxPG_PROP_ACTIVE_BTN is intended for internal use.")
|
wxDEPRECATED_MSG("wxPG_PROP_ACTIVE_BTN is intended for internal use.")
|
||||||
constexpr wxPGPropertyFlags wxPG_PROP_ACTIVE_BTN = wxPG_PROP_RESERVED_3;
|
constexpr wxPGPropertyFlags wxPG_PROP_ACTIVE_BTN = wxPGPropertyFlags::Reserved_3;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_2
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
|
||||||
// Like wxStringProperty, but has a button that triggers a small text
|
// Like wxStringProperty, but has a button that triggers a small text
|
||||||
|
|
@ -653,10 +848,27 @@ public:
|
||||||
const wxString& value = wxString() );
|
const wxString& value = wxString() );
|
||||||
virtual ~wxLongStringProperty() = default;
|
virtual ~wxLongStringProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool DisplayEditorDialog(wxPropertyGrid* pg, wxVariant& value) override;
|
virtual bool DisplayEditorDialog(wxPropertyGrid* pg, wxVariant& value) override;
|
||||||
|
|
@ -675,9 +887,27 @@ public:
|
||||||
const wxString& value = wxString() );
|
const wxString& value = wxString() );
|
||||||
virtual ~wxDirProperty() = default;
|
virtual ~wxDirProperty() = default;
|
||||||
|
|
||||||
virtual wxString ValueToString(wxVariant& value, int argFlags = 0) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
int argFlags = 0) const override;
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
#if WXWIN_COMPATIBILITY_3_0
|
#if WXWIN_COMPATIBILITY_3_0
|
||||||
virtual bool DoSetAttribute(const wxString& name, wxVariant& value) override;
|
virtual bool DoSetAttribute(const wxString& name, wxVariant& value) override;
|
||||||
#endif // WXWIN_COMPATIBILITY_3_0
|
#endif // WXWIN_COMPATIBILITY_3_0
|
||||||
|
|
@ -700,10 +930,27 @@ public:
|
||||||
virtual ~wxArrayStringProperty() = default;
|
virtual ~wxArrayStringProperty() = default;
|
||||||
|
|
||||||
virtual void OnSetValue() override;
|
virtual void OnSetValue() override;
|
||||||
virtual wxString ValueToString( wxVariant& value, int argFlags = 0 ) const override;
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
virtual bool StringToValue( wxVariant& variant,
|
wxDEPRECATED_MSG("use ValueToString with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
const wxString& text,
|
virtual wxString ValueToString(wxVariant& value, int flags) const override
|
||||||
int argFlags = 0 ) const override;
|
{
|
||||||
|
m_oldValueToStringCalled = true;
|
||||||
|
return ValueToString(value, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual wxString ValueToString(wxVariant& value,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
|
#if WXWIN_COMPATIBILITY_3_2
|
||||||
|
wxDEPRECATED_MSG("use StringToValue with 'flags' argument as wxPGPropValFormatFlags")
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
int flags) const override
|
||||||
|
{
|
||||||
|
m_oldStringToValueCalled = true;
|
||||||
|
return StringToValue(variant, text, static_cast<wxPGPropValFormatFlags>(flags));
|
||||||
|
}
|
||||||
|
#endif // WXWIN_COMPATIBILITY_3_2
|
||||||
|
virtual bool StringToValue(wxVariant& variant, const wxString& text,
|
||||||
|
wxPGPropValFormatFlags flags = wxPGPropValFormatFlags::Null) const override;
|
||||||
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
virtual bool DoSetAttribute( const wxString& name, wxVariant& value ) override;
|
||||||
|
|
||||||
// Implement in derived class for custom array-to-string conversion.
|
// Implement in derived class for custom array-to-string conversion.
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,6 @@ public:
|
||||||
const wxValidator& validator = wxDefaultValidator,
|
const wxValidator& validator = wxDefaultValidator,
|
||||||
const wxString& name = wxASCII_STR(wxControlNameStr));
|
const wxString& name = wxASCII_STR(wxControlNameStr));
|
||||||
|
|
||||||
virtual wxSize DoGetBestSize() const override;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
bool QtCreateControl( wxWindow *parent, wxWindowID id, const wxPoint &pos,
|
|
||||||
const wxSize &size, long style, const wxValidator &validator,
|
|
||||||
const wxString &name );
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxControl);
|
wxDECLARE_DYNAMIC_CLASS(wxControl);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,10 @@ public:
|
||||||
~wxWindowDCImpl();
|
~wxWindowDCImpl();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
wxWindow *m_window;
|
std::unique_ptr<QPicture> m_pict;
|
||||||
|
|
||||||
|
// @true if m_qtPainter is owned by the window, @false otherwise (default).
|
||||||
|
bool m_isWindowPainter = false;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_CLASS(wxWindowDCImpl);
|
wxDECLARE_CLASS(wxWindowDCImpl);
|
||||||
|
|
@ -37,10 +40,10 @@ public:
|
||||||
wxClientDCImpl( wxDC *owner );
|
wxClientDCImpl( wxDC *owner );
|
||||||
wxClientDCImpl( wxDC *owner, wxWindow *win );
|
wxClientDCImpl( wxDC *owner, wxWindow *win );
|
||||||
|
|
||||||
~wxClientDCImpl();
|
static bool
|
||||||
private:
|
CanBeUsedForDrawing(const wxWindow* WXUNUSED(window)) { return false; }
|
||||||
std::unique_ptr<QPicture> m_pict;
|
|
||||||
|
|
||||||
|
private:
|
||||||
wxDECLARE_CLASS(wxClientDCImpl);
|
wxDECLARE_CLASS(wxClientDCImpl);
|
||||||
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
wxDECLARE_NO_COPY_CLASS(wxClientDCImpl);
|
||||||
};
|
};
|
||||||
|
|
@ -51,6 +54,7 @@ class WXDLLIMPEXP_CORE wxPaintDCImpl : public wxWindowDCImpl
|
||||||
public:
|
public:
|
||||||
wxPaintDCImpl( wxDC *owner );
|
wxPaintDCImpl( wxDC *owner );
|
||||||
wxPaintDCImpl( wxDC *owner, wxWindow *win );
|
wxPaintDCImpl( wxDC *owner, wxWindow *win );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_CLASS(wxPaintDCImpl);
|
wxDECLARE_CLASS(wxPaintDCImpl);
|
||||||
wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
|
wxDECLARE_NO_COPY_CLASS(wxPaintDCImpl);
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,6 @@
|
||||||
#include "wx/frame.h"
|
#include "wx/frame.h"
|
||||||
|
|
||||||
class QMainWindow;
|
class QMainWindow;
|
||||||
class QScrollArea;
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
|
class WXDLLIMPEXP_CORE wxFrame : public wxFrameBase
|
||||||
{
|
{
|
||||||
|
|
@ -51,7 +50,6 @@ public:
|
||||||
virtual void RemoveChild( wxWindowBase *child ) override;
|
virtual void RemoveChild( wxWindowBase *child ) override;
|
||||||
|
|
||||||
QMainWindow *GetQMainWindow() const;
|
QMainWindow *GetQMainWindow() const;
|
||||||
virtual QScrollArea *QtGetScrollBarsContainer() const override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual wxPoint GetClientAreaOrigin() const override;
|
virtual wxPoint GetClientAreaOrigin() const override;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@
|
||||||
|
|
||||||
class QListWidget;
|
class QListWidget;
|
||||||
class QModelIndex;
|
class QModelIndex;
|
||||||
class QScrollArea;
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
|
class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
|
||||||
{
|
{
|
||||||
|
|
@ -87,8 +86,6 @@ protected:
|
||||||
|
|
||||||
virtual int DoListHitTest(const wxPoint& point) const override;
|
virtual int DoListHitTest(const wxPoint& point) const override;
|
||||||
|
|
||||||
virtual QScrollArea *QtGetScrollBarsContainer() const override;
|
|
||||||
|
|
||||||
#if wxUSE_CHECKLISTBOX
|
#if wxUSE_CHECKLISTBOX
|
||||||
bool m_hasCheckBoxes;
|
bool m_hasCheckBoxes;
|
||||||
#endif // wxUSE_CHECKLISTBOX
|
#endif // wxUSE_CHECKLISTBOX
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: include/wx/qt/winevent_qt.h
|
// Name: include/wx/qt/private/winevent.h
|
||||||
// Purpose: QWidget to wxWindow event handler
|
// Purpose: QWidget to wxWindow event handler
|
||||||
// Author: Javier Torres, Peter Most
|
// Author: Javier Torres, Peter Most
|
||||||
// Created: 21.06.10
|
// Created: 21.06.10
|
||||||
|
|
@ -371,7 +371,7 @@ protected:
|
||||||
virtual bool winEvent ( MSG * message, long * result ) { }
|
virtual bool winEvent ( MSG * message, long * result ) { }
|
||||||
virtual bool x11Event ( XEvent * event ) { } */
|
virtual bool x11Event ( XEvent * event ) { } */
|
||||||
|
|
||||||
virtual bool event(QEvent *event)
|
virtual bool event(QEvent *event) override
|
||||||
{
|
{
|
||||||
if (event->type() == QEvent::Gesture)
|
if (event->type() == QEvent::Gesture)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,12 @@
|
||||||
|
|
||||||
#include "wx/statusbr.h"
|
#include "wx/statusbr.h"
|
||||||
|
|
||||||
class QLabel;
|
|
||||||
class QStatusBar;
|
class QStatusBar;
|
||||||
|
|
||||||
template < class T > class QList;
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
|
class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxStatusBar();
|
wxStatusBar() = default;
|
||||||
wxStatusBar(wxWindow *parent, wxWindowID winid = wxID_ANY,
|
wxStatusBar(wxWindow *parent, wxWindowID winid = wxID_ANY,
|
||||||
long style = wxSTB_DEFAULT_STYLE,
|
long style = wxSTB_DEFAULT_STYLE,
|
||||||
const wxString& name = wxASCII_STR(wxStatusBarNameStr));
|
const wxString& name = wxASCII_STR(wxStatusBarNameStr));
|
||||||
|
|
@ -27,12 +24,11 @@ public:
|
||||||
long style = wxSTB_DEFAULT_STYLE,
|
long style = wxSTB_DEFAULT_STYLE,
|
||||||
const wxString& name = wxASCII_STR(wxStatusBarNameStr));
|
const wxString& name = wxASCII_STR(wxStatusBarNameStr));
|
||||||
|
|
||||||
|
virtual void SetStatusWidths(int n, const int widths_field[]) override;
|
||||||
virtual bool GetFieldRect(int i, wxRect& rect) const override;
|
virtual bool GetFieldRect(int i, wxRect& rect) const override;
|
||||||
virtual void SetMinHeight(int height) override;
|
virtual void SetMinHeight(int height) override;
|
||||||
virtual int GetBorderX() const override;
|
virtual int GetBorderX() const override;
|
||||||
virtual int GetBorderY() const override;
|
virtual int GetBorderY() const override;
|
||||||
virtual void Refresh( bool eraseBackground = true,
|
|
||||||
const wxRect *rect = nullptr ) override;
|
|
||||||
|
|
||||||
QStatusBar *GetQStatusBar() const { return m_qtStatusBar; }
|
QStatusBar *GetQStatusBar() const { return m_qtStatusBar; }
|
||||||
QWidget *GetHandle() const override;
|
QWidget *GetHandle() const override;
|
||||||
|
|
@ -41,11 +37,10 @@ protected:
|
||||||
virtual void DoUpdateStatusText(int number) override;
|
virtual void DoUpdateStatusText(int number) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init();
|
|
||||||
void UpdateFields();
|
void UpdateFields();
|
||||||
|
|
||||||
QStatusBar *m_qtStatusBar;
|
QStatusBar *m_qtStatusBar = nullptr;
|
||||||
wxVector<QLabel*> m_qtPanes;
|
std::vector<QWidget*> m_qtPanes;
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxStatusBar);
|
wxDECLARE_DYNAMIC_CLASS(wxStatusBar);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@
|
||||||
#ifndef _WX_QT_TEXTCTRL_H_
|
#ifndef _WX_QT_TEXTCTRL_H_
|
||||||
#define _WX_QT_TEXTCTRL_H_
|
#define _WX_QT_TEXTCTRL_H_
|
||||||
|
|
||||||
class QScrollArea;
|
|
||||||
class wxQtEdit;
|
class wxQtEdit;
|
||||||
|
|
||||||
class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase
|
class WXDLLIMPEXP_CORE wxTextCtrl : public wxTextCtrlBase
|
||||||
|
|
@ -93,8 +92,6 @@ protected:
|
||||||
virtual bool DoLoadFile(const wxString& file, int fileType) override;
|
virtual bool DoLoadFile(const wxString& file, int fileType) override;
|
||||||
virtual bool DoSaveFile(const wxString& file, int fileType) override;
|
virtual bool DoSaveFile(const wxString& file, int fileType) override;
|
||||||
|
|
||||||
virtual QScrollArea *QtGetScrollBarsContainer() const override;
|
|
||||||
|
|
||||||
// From wxTextEntry:
|
// From wxTextEntry:
|
||||||
virtual wxWindow *GetEditableWindow() override { return this; }
|
virtual wxWindow *GetEditableWindow() override { return this; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,46 +14,37 @@
|
||||||
class QShortcut;
|
class QShortcut;
|
||||||
template < class T > class QList;
|
template < class T > class QList;
|
||||||
|
|
||||||
class QWidget;
|
class QAbstractScrollArea;
|
||||||
class QScrollArea;
|
|
||||||
class QScrollBar;
|
|
||||||
class QPicture;
|
|
||||||
class QPainter;
|
class QPainter;
|
||||||
|
class QPicture;
|
||||||
|
class QScrollBar;
|
||||||
|
class QWidget;
|
||||||
|
|
||||||
|
class QCloseEvent;
|
||||||
|
class QContextMenuEvent;
|
||||||
|
class QEvent;
|
||||||
|
class QFocusEvent;
|
||||||
|
class QKeyEvent;
|
||||||
class QPaintEvent;
|
class QPaintEvent;
|
||||||
class QResizeEvent;
|
class QResizeEvent;
|
||||||
class QWheelEvent;
|
class QWheelEvent;
|
||||||
class QKeyEvent;
|
|
||||||
class QMouseEvent;
|
class QMouseEvent;
|
||||||
class QEvent;
|
|
||||||
class QMoveEvent;
|
class QMoveEvent;
|
||||||
class QEvent;
|
|
||||||
class QEvent;
|
|
||||||
class QCloseEvent;
|
|
||||||
class QContextMenuEvent;
|
|
||||||
class QFocusEvent;
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxScrollBar;
|
|
||||||
class WXDLLIMPEXP_FWD_CORE wxQtShortcutHandler;
|
class WXDLLIMPEXP_FWD_CORE wxQtShortcutHandler;
|
||||||
|
|
||||||
/* wxQt specific notes:
|
/* wxQt specific notes:
|
||||||
*
|
*
|
||||||
* Remember to implement the Qt object getters on all subclasses:
|
* Remember to implement the Qt object getters on all subclasses:
|
||||||
* - GetHandle() returns the Qt object
|
* - GetHandle() returns the Qt object
|
||||||
* - QtGetScrollBarsContainer() returns the widget where scrollbars are placed
|
|
||||||
* For example, for wxFrame, GetHandle() is the QMainWindow,
|
|
||||||
* QtGetScrollBarsContainer() is the central widget and QtGetContainer() is a widget
|
|
||||||
* in a layout inside the central widget that also contains the scrollbars.
|
|
||||||
* Return 0 from QtGetScrollBarsContainer() to disable SetScrollBar() and friends
|
|
||||||
* for wxWindow subclasses.
|
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* Event handling is achieved by using the template class wxQtEventForwarder
|
* Event handling is achieved by using the template class wxQtEventSignalHandler
|
||||||
* found in winevent_qt.(h|cpp) to send all Qt events here to QtHandleXXXEvent()
|
* found in winevent.h to send all Qt events here to QtHandleXXXEvent() methods.
|
||||||
* methods. All these methods receive the Qt event and the handler. This is
|
* All these methods receive the Qt event and the handler. This is done because
|
||||||
* done because events of the containers (the scrolled part of the window) are
|
* events of the containers (the scrolled part of the window) are sent to the
|
||||||
* sent to the same wxWindow instance, that must be able to differentiate them
|
* same wxWindow instance, that must be able to differentiate them as some events
|
||||||
* as some events need different handling (paintEvent) depending on that.
|
* need different handling (paintEvent) depending on that.
|
||||||
* We pass the QWidget pointer to all event handlers for consistency.
|
* We pass the QWidget pointer to all event handlers for consistency.
|
||||||
*/
|
*/
|
||||||
class WXDLLIMPEXP_CORE wxWindowQt : public wxWindowBase
|
class WXDLLIMPEXP_CORE wxWindowQt : public wxWindowBase
|
||||||
|
|
@ -75,7 +66,8 @@ public:
|
||||||
long style = 0,
|
long style = 0,
|
||||||
const wxString& name = wxASCII_STR(wxPanelNameStr));
|
const wxString& name = wxASCII_STR(wxPanelNameStr));
|
||||||
|
|
||||||
// Used by all window classes in the widget creation process.
|
// Derived classes have to call PostCreation() explicitly if they don't call
|
||||||
|
// our Create() method during widget creation process.
|
||||||
void PostCreation( bool generic = true );
|
void PostCreation( bool generic = true );
|
||||||
|
|
||||||
void AddChild( wxWindowBase *child ) override;
|
void AddChild( wxWindowBase *child ) override;
|
||||||
|
|
@ -136,6 +128,9 @@ public:
|
||||||
virtual bool SetBackgroundColour(const wxColour& colour) override;
|
virtual bool SetBackgroundColour(const wxColour& colour) override;
|
||||||
virtual bool SetForegroundColour(const wxColour& colour) override;
|
virtual bool SetForegroundColour(const wxColour& colour) override;
|
||||||
|
|
||||||
|
virtual void SetDoubleBuffered(bool on) override;
|
||||||
|
virtual bool IsDoubleBuffered() const override;
|
||||||
|
|
||||||
QWidget *GetHandle() const override;
|
QWidget *GetHandle() const override;
|
||||||
|
|
||||||
#if wxUSE_DRAG_AND_DROP
|
#if wxUSE_DRAG_AND_DROP
|
||||||
|
|
@ -152,7 +147,7 @@ public:
|
||||||
|
|
||||||
// wxQt implementation internals:
|
// wxQt implementation internals:
|
||||||
|
|
||||||
// Caller maintains ownership of pict - window will NOT delete it
|
// Takes ownership of pict - window will delete it
|
||||||
void QtSetPicture( QPicture* pict );
|
void QtSetPicture( QPicture* pict );
|
||||||
|
|
||||||
QPainter *QtGetPainter();
|
QPainter *QtGetPainter();
|
||||||
|
|
@ -178,8 +173,6 @@ public:
|
||||||
virtual void QtHandleShortcut ( int command );
|
virtual void QtHandleShortcut ( int command );
|
||||||
#endif // wxUSE_ACCEL
|
#endif // wxUSE_ACCEL
|
||||||
|
|
||||||
virtual QScrollArea *QtGetScrollBarsContainer() const;
|
|
||||||
|
|
||||||
#if wxUSE_TOOLTIPS
|
#if wxUSE_TOOLTIPS
|
||||||
// applies tooltip to the widget.
|
// applies tooltip to the widget.
|
||||||
virtual void QtApplyToolTip(const wxString& text);
|
virtual void QtApplyToolTip(const wxString& text);
|
||||||
|
|
@ -210,6 +203,8 @@ protected:
|
||||||
virtual void DoSetClientSize(int width, int height) override;
|
virtual void DoSetClientSize(int width, int height) override;
|
||||||
virtual void DoGetClientSize(int *width, int *height) const override;
|
virtual void DoGetClientSize(int *width, int *height) const override;
|
||||||
|
|
||||||
|
virtual wxSize DoGetBestSize() const override;
|
||||||
|
|
||||||
virtual void DoMoveWindow(int x, int y, int width, int height) override;
|
virtual void DoMoveWindow(int x, int y, int width, int height) override;
|
||||||
|
|
||||||
#if wxUSE_TOOLTIPS
|
#if wxUSE_TOOLTIPS
|
||||||
|
|
@ -225,14 +220,13 @@ protected:
|
||||||
// itself.
|
// itself.
|
||||||
virtual QWidget* QtGetParentWidget() const { return GetHandle(); }
|
virtual QWidget* QtGetParentWidget() const { return GetHandle(); }
|
||||||
|
|
||||||
QWidget *m_qtWindow;
|
QWidget *m_qtWindow;
|
||||||
|
QAbstractScrollArea *m_qtContainer; // either nullptr or the same as m_qtWindow pointer
|
||||||
|
// if m_qtWindow derives from QAbstractScrollArea,
|
||||||
|
// e.g. QListWidget and QTextEdit.
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Init();
|
void Init();
|
||||||
QScrollArea *m_qtContainer; // either nullptr or the same as m_qtWindow pointer
|
|
||||||
|
|
||||||
QScrollBar *m_horzScrollBar; // owned by m_qtWindow when allocated
|
|
||||||
QScrollBar *m_vertScrollBar; // owned by m_qtWindow when allocated
|
|
||||||
|
|
||||||
// Return the viewport of m_qtContainer, if it's used, or just m_qtWindow.
|
// Return the viewport of m_qtContainer, if it's used, or just m_qtWindow.
|
||||||
//
|
//
|
||||||
|
|
@ -240,11 +234,10 @@ private:
|
||||||
QWidget *QtGetClientWidget() const;
|
QWidget *QtGetClientWidget() const;
|
||||||
|
|
||||||
QScrollBar *QtGetScrollBar( int orientation ) const;
|
QScrollBar *QtGetScrollBar( int orientation ) const;
|
||||||
QScrollBar *QtSetScrollBar( int orientation, QScrollBar *scrollBar=nullptr );
|
|
||||||
|
|
||||||
bool QtSetBackgroundStyle();
|
bool QtSetBackgroundStyle();
|
||||||
|
|
||||||
QPicture *m_qtPicture; // not owned
|
std::unique_ptr<QPicture> m_qtPicture; // owned by this window
|
||||||
std::unique_ptr<QPainter> m_qtPainter; // always allocated
|
std::unique_ptr<QPainter> m_qtPainter; // always allocated
|
||||||
|
|
||||||
bool m_mouseInside;
|
bool m_mouseInside;
|
||||||
|
|
|
||||||
|
|
@ -439,7 +439,7 @@ public:
|
||||||
m_targetWindow = this;
|
m_targetWindow = this;
|
||||||
|
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
this->MacSetClipChildren(true);
|
this->MacSetClipChildren();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// by default, we're scrollable in both directions (but if one of the
|
// by default, we're scrollable in both directions (but if one of the
|
||||||
|
|
|
||||||
|
|
@ -1330,7 +1330,7 @@
|
||||||
|
|
||||||
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
// Setting wxUSE_GLCANVAS to 1 enables OpenGL support. You need to have OpenGL
|
||||||
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
// headers and libraries to be able to compile the library with wxUSE_GLCANVAS
|
||||||
// set to 1 and, under Windows, also to add opengl32.lib and glu32.lib to the
|
// set to 1 and, under Windows, also to add opengl32.lib to the
|
||||||
// list of libraries used to link your application when linking to wxWidgets
|
// list of libraries used to link your application when linking to wxWidgets
|
||||||
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
// statically (although this is done implicitly for Microsoft Visual C++ users).
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -110,6 +110,18 @@ public:
|
||||||
bool unique() const { return (m_ref ? m_ref->m_count == 1 : true); }
|
bool unique() const { return (m_ref ? m_ref->m_count == 1 : true); }
|
||||||
long use_count() const { return (m_ref ? (long)m_ref->m_count : 0); }
|
long use_count() const { return (m_ref ? (long)m_ref->m_count : 0); }
|
||||||
|
|
||||||
|
template <class U>
|
||||||
|
friend bool operator == (wxSharedPtr<T> const &a, wxSharedPtr<U> const &b )
|
||||||
|
{
|
||||||
|
return a.get() == b.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
template <class U>
|
||||||
|
friend bool operator != (wxSharedPtr<T> const &a, wxSharedPtr<U> const &b )
|
||||||
|
{
|
||||||
|
return a.get() != b.get();
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
struct reftype
|
struct reftype
|
||||||
|
|
@ -154,16 +166,4 @@ private:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template <class T, class U>
|
|
||||||
bool operator == (wxSharedPtr<T> const &a, wxSharedPtr<U> const &b )
|
|
||||||
{
|
|
||||||
return a.get() == b.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
template <class T, class U>
|
|
||||||
bool operator != (wxSharedPtr<T> const &a, wxSharedPtr<U> const &b )
|
|
||||||
{
|
|
||||||
return a.get() != b.get();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // _WX_SHAREDPTR_H_
|
#endif // _WX_SHAREDPTR_H_
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@
|
||||||
#include "wx/control.h"
|
#include "wx/control.h"
|
||||||
#include "wx/list.h"
|
#include "wx/list.h"
|
||||||
#include "wx/dynarray.h"
|
#include "wx/dynarray.h"
|
||||||
|
#include "wx/weakref.h"
|
||||||
|
|
||||||
extern WXDLLIMPEXP_DATA_CORE(const char) wxStatusBarNameStr[];
|
extern WXDLLIMPEXP_DATA_CORE(const char) wxStatusBarNameStr[];
|
||||||
|
|
||||||
|
|
@ -84,6 +85,11 @@ public:
|
||||||
// really restored anything
|
// really restored anything
|
||||||
bool PopText();
|
bool PopText();
|
||||||
|
|
||||||
|
// set/get the control (child of the wxStatusBar) that will be shown in
|
||||||
|
// this pane.
|
||||||
|
void SetFieldControl(wxWindow* win) { m_control = win; }
|
||||||
|
wxWindow* GetFieldControl() const { return m_control; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_nStyle;
|
int m_nStyle;
|
||||||
int m_nWidth; // may be negative, indicating a variable-width field
|
int m_nWidth; // may be negative, indicating a variable-width field
|
||||||
|
|
@ -97,6 +103,9 @@ private:
|
||||||
|
|
||||||
// is the currently shown value shown with ellipsis in the status bar?
|
// is the currently shown value shown with ellipsis in the status bar?
|
||||||
bool m_bEllipsized;
|
bool m_bEllipsized;
|
||||||
|
|
||||||
|
// remember the control that will be shown in this pane. Updated by SetFieldControl().
|
||||||
|
wxWindowRef m_control;
|
||||||
};
|
};
|
||||||
|
|
||||||
// This is preserved for compatibility, but is not supposed to be used by the
|
// This is preserved for compatibility, but is not supposed to be used by the
|
||||||
|
|
@ -173,6 +182,14 @@ public:
|
||||||
wxSize GetBorders() const
|
wxSize GetBorders() const
|
||||||
{ return wxSize(GetBorderX(), GetBorderY()); }
|
{ return wxSize(GetBorderX(), GetBorderY()); }
|
||||||
|
|
||||||
|
// controls
|
||||||
|
// --------
|
||||||
|
|
||||||
|
// Add a control (child of the wxStatusBar) to be shown at the specified
|
||||||
|
// field position #n. Note that you must delete the control to remove it
|
||||||
|
// from the status bar, as simply passing _nullptr_ will not do that.
|
||||||
|
bool AddFieldControl(int n, wxWindow* win);
|
||||||
|
|
||||||
// miscellaneous
|
// miscellaneous
|
||||||
// -------------
|
// -------------
|
||||||
|
|
||||||
|
|
@ -192,6 +209,9 @@ protected:
|
||||||
// display
|
// display
|
||||||
virtual void DoUpdateStatusText(int number) = 0;
|
virtual void DoUpdateStatusText(int number) = 0;
|
||||||
|
|
||||||
|
// Position the added controls (added by AddFieldControl()), if any, in
|
||||||
|
// their corresponding destination.
|
||||||
|
void OnSize(wxSizeEvent& event);
|
||||||
|
|
||||||
// wxWindow overrides:
|
// wxWindow overrides:
|
||||||
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue