288d26598c
Optimize generic wxDataViewCtrl performance with variable line heights. Closes https://github.com/wxWidgets/wxWidgets/pull/1053
386 lines
13 KiB
XML
386 lines
13 KiB
XML
<?xml version="1.0" ?>
|
|
|
|
<makefile>
|
|
<!--
|
|
The use of PCH is disabled for samples by default but we do want to use
|
|
them for the test as this dramatically speeds up its compilation.
|
|
-->
|
|
<set var="WX_ENABLE_PRECOMP_HEADERS">1</set>
|
|
|
|
<include file="../build/bakefiles/common_samples.bkl"/>
|
|
|
|
<template id="wx_test">
|
|
<include>$(TOP_SRCDIR)3rdparty/catch/include</include>
|
|
|
|
<if cond="WX_DISABLE_PRECOMP_HEADERS=='0'">
|
|
<if cond="FORMAT!='autoconf' and PLATFORM_WIN32=='1'">
|
|
<sources>dummy.cpp</sources>
|
|
<precomp-headers-gen>dummy.cpp</precomp-headers-gen>
|
|
</if>
|
|
<precomp-headers-header>testprec.h</precomp-headers-header>
|
|
<precomp-headers>on</precomp-headers>
|
|
<precomp-headers-file>testprec_$(id)</precomp-headers-file>
|
|
</if>
|
|
</template>
|
|
|
|
<exe id="test" template="wx_sample_console,wx_test"
|
|
template_append="wx_append_base">
|
|
<sources>
|
|
test.cpp
|
|
any/anytest.cpp
|
|
archive/archivetest.cpp
|
|
archive/ziptest.cpp
|
|
archive/tartest.cpp
|
|
arrays/arrays.cpp
|
|
base64/base64.cpp
|
|
cmdline/cmdlinetest.cpp
|
|
config/fileconf.cpp
|
|
config/regconf.cpp
|
|
datetime/datetimetest.cpp
|
|
events/evthandler.cpp
|
|
events/evtlooptest.cpp
|
|
events/evtsource.cpp
|
|
events/stopwatch.cpp
|
|
events/timertest.cpp
|
|
exec/exec.cpp
|
|
file/dir.cpp
|
|
file/filefn.cpp
|
|
file/filetest.cpp
|
|
filekind/filekind.cpp
|
|
filename/filenametest.cpp
|
|
filesys/filesystest.cpp
|
|
fontmap/fontmaptest.cpp
|
|
formatconverter/formatconvertertest.cpp
|
|
fswatcher/fswatchertest.cpp
|
|
hashes/hashes.cpp
|
|
interactive/output.cpp
|
|
interactive/input.cpp
|
|
intl/intltest.cpp
|
|
lists/lists.cpp
|
|
log/logtest.cpp
|
|
longlong/longlongtest.cpp
|
|
mbconv/convautotest.cpp
|
|
mbconv/mbconvtest.cpp
|
|
misc/dynamiclib.cpp
|
|
misc/environ.cpp
|
|
misc/metatest.cpp
|
|
misc/misctests.cpp
|
|
misc/module.cpp
|
|
misc/pathlist.cpp
|
|
misc/typeinfotest.cpp
|
|
net/ipc.cpp
|
|
net/socket.cpp
|
|
regex/regextest.cpp
|
|
regex/wxregextest.cpp
|
|
scopeguard/scopeguardtest.cpp
|
|
strings/iostream.cpp
|
|
strings/numformatter.cpp
|
|
strings/strings.cpp
|
|
strings/stdstrings.cpp
|
|
strings/tokenizer.cpp
|
|
strings/unichar.cpp
|
|
strings/unicode.cpp
|
|
strings/vararg.cpp
|
|
strings/crt.cpp
|
|
strings/vsnprintf.cpp
|
|
strings/hexconv.cpp
|
|
streams/datastreamtest.cpp
|
|
streams/ffilestream.cpp
|
|
streams/fileback.cpp
|
|
streams/filestream.cpp
|
|
streams/iostreams.cpp
|
|
streams/largefile.cpp
|
|
streams/lzmastream.cpp
|
|
streams/memstream.cpp
|
|
streams/socketstream.cpp
|
|
streams/sstream.cpp
|
|
streams/stdstream.cpp
|
|
streams/tempfile.cpp
|
|
streams/textstreamtest.cpp
|
|
streams/zlibstream.cpp
|
|
textfile/textfiletest.cpp
|
|
thread/atomic.cpp
|
|
thread/misc.cpp
|
|
thread/queue.cpp
|
|
thread/tls.cpp
|
|
uris/ftp.cpp
|
|
uris/uris.cpp
|
|
uris/url.cpp
|
|
vectors/vectors.cpp
|
|
weakref/evtconnection.cpp
|
|
weakref/weakref.cpp
|
|
xlocale/xlocale.cpp
|
|
xml/xmltest.cpp
|
|
</sources>
|
|
<wx-lib>net</wx-lib>
|
|
<wx-lib>xml</wx-lib>
|
|
<wx-lib>base</wx-lib>
|
|
</exe>
|
|
|
|
<!--
|
|
This test program is targeted to "headless GUI" tests, tests which are
|
|
typically tied to the "core" component but that should run nicely in a
|
|
console only program. This program should be executable from a console
|
|
only Unix session (such as telnet or ssh) although it uses graphics
|
|
contexts, so if you modify this project, please check that it can still
|
|
be ran in such configuration and doesn't require an X server connection.
|
|
-->
|
|
<exe id="test_drawing" template="wx_sample_console,wx_test"
|
|
template_append="wx_append"
|
|
cond="USE_GUI=='1'">
|
|
<sources>
|
|
test.cpp
|
|
drawing/drawing.cpp
|
|
drawing/plugindriver.cpp
|
|
drawing/basictest.cpp
|
|
drawing/fonttest.cpp
|
|
</sources>
|
|
<wx-lib>core</wx-lib>
|
|
<wx-lib>net</wx-lib>
|
|
<wx-lib>base</wx-lib>
|
|
</exe>
|
|
|
|
<!--
|
|
This is a sample plugin, it simply uses a wxImage based
|
|
wxGraphicsContext. It should render the same as the built-in test. Use
|
|
the WX_TEST_SUITE_GC_DRAWING_PLUGINS variable to specify the location of
|
|
the produced DLL/so to get it loaded and tested. To make your own plugin,
|
|
you can copy this sample and link toward your own implementation of
|
|
wxGraphicsContext interface, building the appropriate DrawingTestGCFactory
|
|
-->
|
|
<module id="test_drawingplugin" template="wx"
|
|
template_append="wx_append"
|
|
cond="USE_GUI=='1' and SHARED=='1'">
|
|
<define>$(DLLFLAG)</define>
|
|
<sources>
|
|
drawing/pluginsample.cpp
|
|
</sources>
|
|
<wx-lib>core</wx-lib>
|
|
<wx-lib>base</wx-lib>
|
|
</module>
|
|
|
|
<exe id="test_gui" template="wx_sample,wx_test"
|
|
template_append="wx_append"
|
|
cond="USE_GUI=='1'">
|
|
|
|
<!-- link against GUI libraries, but be a console app: -->
|
|
<app-type>console</app-type>
|
|
|
|
<sources>
|
|
asserthelper.cpp
|
|
test.cpp
|
|
testableframe.cpp
|
|
geometry/rect.cpp
|
|
geometry/size.cpp
|
|
geometry/point.cpp
|
|
geometry/region.cpp
|
|
graphics/bitmap.cpp
|
|
graphics/colour.cpp
|
|
graphics/ellipsization.cpp
|
|
graphics/measuring.cpp
|
|
graphics/affinematrix.cpp
|
|
graphics/boundingbox.cpp
|
|
graphics/clippingbox.cpp
|
|
graphics/graphmatrix.cpp
|
|
graphics/graphpath.cpp
|
|
config/config.cpp
|
|
controls/auitest.cpp
|
|
controls/bitmapcomboboxtest.cpp
|
|
controls/bitmaptogglebuttontest.cpp
|
|
controls/bookctrlbasetest.cpp
|
|
controls/buttontest.cpp
|
|
controls/checkboxtest.cpp
|
|
controls/checklistboxtest.cpp
|
|
controls/choicebooktest.cpp
|
|
controls/choicetest.cpp
|
|
controls/comboboxtest.cpp
|
|
controls/dataviewctrltest.cpp
|
|
controls/datepickerctrltest.cpp
|
|
controls/frametest.cpp
|
|
controls/gaugetest.cpp
|
|
controls/gridtest.cpp
|
|
controls/headerctrltest.cpp
|
|
controls/htmllboxtest.cpp
|
|
controls/hyperlinkctrltest.cpp
|
|
controls/itemcontainertest.cpp
|
|
controls/label.cpp
|
|
controls/listbasetest.cpp
|
|
controls/listbooktest.cpp
|
|
controls/listboxtest.cpp
|
|
controls/listctrltest.cpp
|
|
controls/listviewtest.cpp
|
|
controls/markuptest.cpp
|
|
controls/notebooktest.cpp
|
|
controls/ownerdrawncomboboxtest.cpp
|
|
controls/pickerbasetest.cpp
|
|
controls/pickertest.cpp
|
|
controls/radioboxtest.cpp
|
|
controls/radiobuttontest.cpp
|
|
controls/rearrangelisttest.cpp
|
|
controls/richtextctrltest.cpp
|
|
controls/searchctrltest.cpp
|
|
controls/simplebooktest.cpp
|
|
controls/slidertest.cpp
|
|
controls/spinctrldbltest.cpp
|
|
controls/spinctrltest.cpp
|
|
controls/textctrltest.cpp
|
|
controls/textentrytest.cpp
|
|
controls/togglebuttontest.cpp
|
|
controls/toolbooktest.cpp
|
|
controls/treebooktest.cpp
|
|
controls/treectrltest.cpp
|
|
controls/treelistctrltest.cpp
|
|
controls/virtlistctrltest.cpp
|
|
controls/webtest.cpp
|
|
controls/windowtest.cpp
|
|
controls/dialogtest.cpp
|
|
events/clone.cpp
|
|
<!--
|
|
Duplicate this file here to test GUI event loops too.
|
|
-->
|
|
events/evtlooptest.cpp
|
|
events/propagation.cpp
|
|
events/keyboard.cpp
|
|
<!--
|
|
And duplicate this one too as wxExecute behaves differently in
|
|
console and GUI applications.
|
|
-->
|
|
exec/exec.cpp
|
|
font/fonttest.cpp
|
|
image/image.cpp
|
|
image/rawbmp.cpp
|
|
html/htmlparser.cpp
|
|
html/htmlwindow.cpp
|
|
html/htmprint.cpp
|
|
menu/accelentry.cpp
|
|
menu/menu.cpp
|
|
misc/guifuncs.cpp
|
|
misc/selstoretest.cpp
|
|
misc/garbage.cpp
|
|
misc/safearrayconverttest.cpp
|
|
misc/settings.cpp
|
|
<!--
|
|
This one is intentionally duplicated here (it is also part of
|
|
non-GUI test) as sockets behave differently in console and GUI
|
|
applications.
|
|
-->
|
|
net/socket.cpp
|
|
persistence/tlw.cpp
|
|
persistence/dataview.cpp
|
|
rowheightcache/rowheightcachetest.cpp
|
|
sizers/boxsizer.cpp
|
|
sizers/gridsizer.cpp
|
|
sizers/wrapsizer.cpp
|
|
toplevel/toplevel.cpp
|
|
validators/valnum.cpp
|
|
validators/valtext.cpp
|
|
window/clientsize.cpp
|
|
window/setsize.cpp
|
|
xml/xrctest.cpp
|
|
</sources>
|
|
<!--
|
|
Can't use <wx-lib> here as it doesn't work with conditionally
|
|
defined variables, so fall back <sys-lib> as we must not link with
|
|
inexisting webview library to be able to run tests even if
|
|
wxWebView is not available.
|
|
-->
|
|
<sys-lib>$(WXLIB_WEBVIEW)</sys-lib>
|
|
<wx-lib>aui</wx-lib>
|
|
<wx-lib>richtext</wx-lib>
|
|
<wx-lib>media</wx-lib>
|
|
<wx-lib>xrc</wx-lib>
|
|
<wx-lib>xml</wx-lib>
|
|
<wx-lib>html</wx-lib>
|
|
<wx-lib>core</wx-lib>
|
|
<wx-lib>net</wx-lib>
|
|
<wx-lib>base</wx-lib>
|
|
</exe>
|
|
|
|
|
|
<wx-data id="data">
|
|
<files>testdata.fc</files>
|
|
|
|
<!-- test data for image/image.cpp test unit: -->
|
|
<files>horse.ani horse.bmp horse.cur horse.gif horse.ico horse.jpg
|
|
horse.pcx horse.png horse.pnm horse.tga horse.tif horse.xpm</files>
|
|
</wx-data>
|
|
|
|
<wx-data id="data-images">
|
|
<srcdir>$(SRCDIR)/image</srcdir>
|
|
<dstdir>image</dstdir>
|
|
<files>
|
|
horse_grey.bmp horse_grey_flipped.bmp
|
|
horse_rle4.bmp horse_rle4_flipped.bmp
|
|
horse_rle8.bmp horse_rle8_flipped.bmp
|
|
|
|
horse_bicubic_50x50.png
|
|
horse_bicubic_100x100.png
|
|
horse_bicubic_150x150.png
|
|
horse_bicubic_300x300.png
|
|
|
|
horse_bilinear_50x50.png
|
|
horse_bilinear_100x100.png
|
|
horse_bilinear_150x150.png
|
|
horse_bilinear_300x300.png
|
|
|
|
horse_box_average_50x50.png
|
|
horse_box_average_100x100.png
|
|
horse_box_average_150x150.png
|
|
horse_box_average_300x300.png
|
|
|
|
cross_bicubic_256x256.png
|
|
cross_bilinear_256x256.png
|
|
cross_box_average_256x256.png
|
|
cross_nearest_neighb_256x256.png
|
|
</files>
|
|
</wx-data>
|
|
|
|
<template id="catalog">
|
|
<dstdir>$(BUILDDIR)/intl/$(id)</dstdir>
|
|
<srcdir>$(SRCDIR)/intl/$(id)</srcdir>
|
|
<files>internat.po internat.mo</files>
|
|
</template>
|
|
|
|
<wx-data id="fr" template="catalog"/>
|
|
<wx-data id="ja" template="catalog"/>
|
|
|
|
|
|
<fragment format="autoconf">
|
|
# notice the ugly hack with using CXXWARNINGS: we can't use CPPFLAGS as
|
|
# currently the value in the makefile would be ignored if we did, but
|
|
# warnings don't matter when we expect compilation to fail anyhow so we can
|
|
# use this variable to enable the compilation of code which is supposed to
|
|
# fail
|
|
failtest: failtest_combobox failtest_evthandler failtest_weakref
|
|
|
|
failtest_combobox:
|
|
@$(RM) test_gui_comboboxtest.o
|
|
if $(MAKE) CXXWARNINGS=-DTEST_INVALID_COMBOBOX_ISEMPTY test_gui_comboboxtest.o 2>/dev/null; then \
|
|
echo "*** Compilation with TEST_INVALID_COMBOBOX_ISEMPTY unexpectedly succeeded.">&2; \
|
|
exit 1; \
|
|
fi; \
|
|
exit 0
|
|
|
|
failtest_evthandler:
|
|
@$(RM) test_evthandler.o
|
|
@for d in GLOBAL STATIC METHOD FUNCTOR NO_HANDLER DERIVED WRONG_CLASS; do \
|
|
if $(MAKE) CXXWARNINGS=-DTEST_INVALID_BIND_$$d test_evthandler.o 2>/dev/null; then \
|
|
echo "*** Compilation with TEST_INVALID_BIND_$$d unexpectedly succeeded.">&2; \
|
|
exit 1; \
|
|
fi; \
|
|
done; \
|
|
exit 0
|
|
|
|
failtest_weakref:
|
|
@$(RM) test_weakref.o
|
|
if $(MAKE) CXXWARNINGS=-DTEST_INVALID_INCOMPLETE_WEAKREF test_weakref.o 2>/dev/null; then \
|
|
echo "*** Compilation with TEST_INVALID_INCOMPLETE_WEAKREF unexpectedly succeeded.">&2; \
|
|
exit 1; \
|
|
fi; \
|
|
exit 0
|
|
|
|
.PHONY: failtest
|
|
</fragment>
|
|
|
|
</makefile>
|