diff --git a/.gitattributes b/.gitattributes index 3fcb177978..fd833611ca 100644 --- a/.gitattributes +++ b/.gitattributes @@ -27,8 +27,12 @@ configure.in eol=lf Makefile.am eol=lf Makefile.in eol=lf +makefile.unx eol=lf config.guess eol=lf config.sub eol=lf configure eol=lf configure.in eol=lf + +# Ignore changes in the generated files. +build/upmake -diff diff --git a/.gitignore b/.gitignore index 7984942842..3916a1fbc3 100644 --- a/.gitignore +++ b/.gitignore @@ -9,7 +9,6 @@ /Makefile /setup.h /*tags -/.DS_Store /autom4te.cache # /build/ @@ -18,9 +17,10 @@ /build/autoconf_prepend-include/autoconf/autoconf.m4f # /build/bakefiles/ -/build/bakefiles/wxwin.pyc /build/bakefiles/.bakefile_gen.state /build/bakefiles/Bakefiles.local.bkgen +/build/bakefiles/wxwin.pyc +/build/bakefiles/wxpresets/presets/wx_presets.pyc # /build/msw/ /build/msw/.m* @@ -54,55 +54,65 @@ /build/msw/wx_vc12.sdf /build/msw/*.suo +# /demos/ +/demos/*/*.sln +/demos/*/*.dsw +/demos/*/vc_msw +/demos/*/vc_msw_x64 +/demos/*/vc_mswd +/demos/*/vc_mswd_x64 +/demos/*/vc_mswu +/demos/*/vc_mswu_x64 +/demos/*/vc_mswud +/demos/*/vc_mswud_x64 +/demos/*/vc_mswdll +/demos/*/vc_mswdll_x64 +/demos/*/vc_mswddll +/demos/*/vc_mswddll_x64 +/demos/*/vc_mswudll +/demos/*/vc_mswudll_x64 +/demos/*/vc_mswuddll +/demos/*/vc_mswuddll_x64 +/demos/*/vc_mswuniv +/demos/*/vc_mswuniv_x64 +/demos/*/vc_mswunivd +/demos/*/vc_mswunivd_x64 +/demos/*/vc_mswunivu +/demos/*/vc_mswunivu_x64 +/demos/*/vc_mswunivud +/demos/*/vc_mswunivud_x64 +/demos/*/vc_mswunivdll +/demos/*/vc_mswunivdll_x64 +/demos/*/vc_mswunivddll +/demos/*/vc_mswunivddll_x64 +/demos/*/vc_mswunivudll +/demos/*/vc_mswunivudll_x64 +/demos/*/vc_mswunivuddll +/demos/*/vc_mswunivuddll_x64 +/demos/*/*Classic?Debug* +/demos/*/*Classic?Release* +/demos/*/*Carbon?Debug* +/demos/*/*Carbon?Release* + # /demos/bombs/ -/demos/bombs/*.sln -/demos/bombs/*.dsw /demos/bombs/bombsM5.mcp /demos/bombs/bombsM*Data -/demos/bombs/*Classic?Debug* -/demos/bombs/*Classic?Release* -/demos/bombs/*Carbon?Debug* -/demos/bombs/*Carbon?Release* # /demos/forty/ -/demos/forty/*.sln -/demos/forty/*.dsw /demos/forty/fortyM5.mcp /demos/forty/fortyM*Data -/demos/forty/*Classic?Debug* -/demos/forty/*Classic?Release* -/demos/forty/*Carbon?Debug* -/demos/forty/*Carbon?Release* # /demos/fractal/ -/demos/fractal/*.sln -/demos/fractal/*.dsw /demos/fractal/fractalM5.mcp /demos/fractal/fractalM*Data -/demos/fractal/*Classic?Debug* -/demos/fractal/*Classic?Release* -/demos/fractal/*Carbon?Debug* -/demos/fractal/*Carbon?Release* # /demos/life/ -/demos/life/*.sln -/demos/life/*.dsw /demos/life/lifeM5.mcp /demos/life/lifeM*Data -/demos/life/*Classic?Debug* -/demos/life/*Classic?Release* -/demos/life/*Carbon?Debug* -/demos/life/*Carbon?Release* # /demos/poem/ -/demos/poem/*.sln -/demos/poem/*.dsw /demos/poem/poemM5.mcp /demos/poem/poemM*Data -/demos/poem/*Classic?Debug* -/demos/poem/*Classic?Release* -/demos/poem/*Carbon?Debug* -/demos/poem/*Carbon?Release* # /docs/doxygen/ /docs/doxygen/doxygen.log @@ -150,39 +160,51 @@ /include/wx/unix/Makefile.in # /lib/ -/lib/bcc_lib -/lib/dmc_lib -/lib/evc_armv4_lib -/lib/evc_emulator_lib -/lib/gcc_lib -/lib/vc*_lib -/lib/vc*_dll -/lib/wat_lib -/lib/Linux -/lib/linux-gnu -/lib/linux /lib/base /lib/based /lib/basedll /lib/basedlld -/lib/baseu -/lib/baseud /lib/basedllu /lib/basedllud +/lib/baseu +/lib/baseud +/lib/bcc_lib +/lib/cdef*.res +/lib/dmc_lib +/lib/evc_armv4_lib +/lib/evc_emulator_lib +/lib/expat*.lib +/lib/gcc_lib +/lib/gcc_lib32 +/lib/gcc_lib64 +/lib/jpeg*.lib +/lib/ldef*.res +/lib/Linux +/lib/linux +/lib/linux-gnu /lib/msw /lib/mswd /lib/mswdll /lib/mswdlld -/lib/mswu -/lib/mswud /lib/mswdllu /lib/mswdllud +/lib/mswu +/lib/mswud +/lib/png*.lib +/lib/regex*.lib +/lib/shell32_sc.lib +/lib/tiff*.lib /lib/univ /lib/univd /lib/univdll /lib/univdlld -/lib/cdef*.res -/lib/ldef*.res +/lib/vc_dll +/lib/vc_lib +/lib/vc_x64_dll +/lib/vc_x64_lib +/lib/wat_lib +/lib/winmm32_sc.lib +/lib/wsock32_sc.lib /lib/wx_*.rsrc /lib/wxbase*.dll /lib/wxbase*.exp @@ -192,16 +214,7 @@ /lib/wxmsw*.exp /lib/wxmsw*.ilk /lib/wxmsw*.lib -/lib/expat*.lib -/lib/jpeg*.lib -/lib/png*.lib -/lib/regex*.lib -/lib/shell32_sc.lib -/lib/winmm32_sc.lib -/lib/wsock32_sc.lib -/lib/tiff*.lib /lib/zlib*.lib -/lib/.DS_Store # /locale/ /locale/*.mo @@ -244,2209 +257,45 @@ /misc/libtool # /samples/ -/samples/*.dsw - -# /samples/access/ -/samples/access/*.sln -/samples/access/*.dsw -/samples/access/vc_msw -/samples/access/vc_mswd -/samples/access/vc_mswu -/samples/access/vc_mswud -/samples/access/vc_mswdll -/samples/access/vc_mswddll -/samples/access/vc_mswudll -/samples/access/vc_mswuddll -/samples/access/vc_mswuniv -/samples/access/vc_mswunivd -/samples/access/vc_mswunivu -/samples/access/vc_mswunivud -/samples/access/vc_mswunivdll -/samples/access/vc_mswunivddll -/samples/access/vc_mswunivudll -/samples/access/vc_mswunivuddll - -# /samples/animate/ -/samples/animate/*.sln -/samples/animate/*.dsw -/samples/animate/vc_msw -/samples/animate/vc_mswd -/samples/animate/vc_mswu -/samples/animate/vc_mswud -/samples/animate/vc_mswdll -/samples/animate/vc_mswddll -/samples/animate/vc_mswudll -/samples/animate/vc_mswuddll -/samples/animate/vc_mswuniv -/samples/animate/vc_mswunivd -/samples/animate/vc_mswunivu -/samples/animate/vc_mswunivud -/samples/animate/vc_mswunivdll -/samples/animate/vc_mswunivddll -/samples/animate/vc_mswunivudll -/samples/animate/vc_mswunivuddll - -# /samples/artprov/ -/samples/artprov/*.sln -/samples/artprov/*.dsw -/samples/artprov/vc_msw -/samples/artprov/vc_mswd -/samples/artprov/vc_mswu -/samples/artprov/vc_mswud -/samples/artprov/vc_mswdll -/samples/artprov/vc_mswddll -/samples/artprov/vc_mswudll -/samples/artprov/vc_mswuddll -/samples/artprov/vc_mswuniv -/samples/artprov/vc_mswunivd -/samples/artprov/vc_mswunivu -/samples/artprov/vc_mswunivud -/samples/artprov/vc_mswunivdll -/samples/artprov/vc_mswunivddll -/samples/artprov/vc_mswunivudll -/samples/artprov/vc_mswunivuddll - -# /samples/aui/ -/samples/aui/*.sln -/samples/aui/*.dsw -/samples/aui/vc_msw -/samples/aui/vc_mswd -/samples/aui/vc_mswu -/samples/aui/vc_mswud -/samples/aui/vc_mswdll -/samples/aui/vc_mswddll -/samples/aui/vc_mswudll -/samples/aui/vc_mswuddll -/samples/aui/vc_mswuniv -/samples/aui/vc_mswunivd -/samples/aui/vc_mswunivu -/samples/aui/vc_mswunivud -/samples/aui/vc_mswunivdll -/samples/aui/vc_mswunivddll -/samples/aui/vc_mswunivudll -/samples/aui/vc_mswunivuddll - -# /samples/calendar/ -/samples/calendar/*.sln -/samples/calendar/*.dsw -/samples/calendar/vc_msw -/samples/calendar/vc_mswd -/samples/calendar/vc_mswu -/samples/calendar/vc_mswud -/samples/calendar/vc_mswdll -/samples/calendar/vc_mswddll -/samples/calendar/vc_mswudll -/samples/calendar/vc_mswuddll -/samples/calendar/vc_mswuniv -/samples/calendar/vc_mswunivd -/samples/calendar/vc_mswunivu -/samples/calendar/vc_mswunivud -/samples/calendar/vc_mswunivdll -/samples/calendar/vc_mswunivddll -/samples/calendar/vc_mswunivudll -/samples/calendar/vc_mswunivuddll - -# /samples/caret/ -/samples/caret/*.sln -/samples/caret/*.dsw -/samples/caret/vc_msw -/samples/caret/vc_mswd -/samples/caret/vc_mswu -/samples/caret/vc_mswud -/samples/caret/vc_mswdll -/samples/caret/vc_mswddll -/samples/caret/vc_mswudll -/samples/caret/vc_mswuddll -/samples/caret/vc_mswuniv -/samples/caret/vc_mswunivd -/samples/caret/vc_mswunivu -/samples/caret/vc_mswunivud -/samples/caret/vc_mswunivdll -/samples/caret/vc_mswunivddll -/samples/caret/vc_mswunivudll -/samples/caret/vc_mswunivuddll - -# /samples/clipboard/ -/samples/clipboard/*.sln -/samples/clipboard/*.dsw - -# /samples/collpane/ -/samples/collpane/*.sln -/samples/collpane/*.dsw -/samples/collpane/vc_msw -/samples/collpane/vc_mswd -/samples/collpane/vc_mswu -/samples/collpane/vc_mswud -/samples/collpane/vc_mswdll -/samples/collpane/vc_mswddll -/samples/collpane/vc_mswudll -/samples/collpane/vc_mswuddll -/samples/collpane/vc_mswuniv -/samples/collpane/vc_mswunivd -/samples/collpane/vc_mswunivu -/samples/collpane/vc_mswunivud -/samples/collpane/vc_mswunivdll -/samples/collpane/vc_mswunivddll -/samples/collpane/vc_mswunivudll -/samples/collpane/vc_mswunivuddll - -# /samples/combo/ -/samples/combo/*.sln -/samples/combo/*.dsw -/samples/combo/vc_msw -/samples/combo/vc_mswd -/samples/combo/vc_mswu -/samples/combo/vc_mswud -/samples/combo/vc_mswdll -/samples/combo/vc_mswddll -/samples/combo/vc_mswudll -/samples/combo/vc_mswuddll -/samples/combo/vc_mswuniv -/samples/combo/vc_mswunivd -/samples/combo/vc_mswunivu -/samples/combo/vc_mswunivud -/samples/combo/vc_mswunivdll -/samples/combo/vc_mswunivddll -/samples/combo/vc_mswunivudll -/samples/combo/vc_mswunivuddll - -# /samples/config/ -/samples/config/*.sln -/samples/config/*.dsw -/samples/config/vc_msw -/samples/config/vc_mswd -/samples/config/vc_mswu -/samples/config/vc_mswud -/samples/config/vc_mswdll -/samples/config/vc_mswddll -/samples/config/vc_mswudll -/samples/config/vc_mswuddll -/samples/config/vc_mswuniv -/samples/config/vc_mswunivd -/samples/config/vc_mswunivu -/samples/config/vc_mswunivud -/samples/config/vc_mswunivdll -/samples/config/vc_mswunivddll -/samples/config/vc_mswunivudll -/samples/config/vc_mswunivuddll - -# /samples/console/ -/samples/console/*.sln -/samples/console/*.dsw -/samples/console/vc_msw -/samples/console/vc_mswd -/samples/console/vc_mswu -/samples/console/vc_mswud -/samples/console/vc_mswdll -/samples/console/vc_mswddll -/samples/console/vc_mswudll -/samples/console/vc_mswuddll -/samples/console/vc_mswuniv -/samples/console/vc_mswunivd -/samples/console/vc_mswunivu -/samples/console/vc_mswunivud -/samples/console/vc_mswunivdll -/samples/console/vc_mswunivddll -/samples/console/vc_mswunivudll -/samples/console/vc_mswunivuddll - -# /samples/controls/ -/samples/controls/*.sln -/samples/controls/*.dsw -/samples/controls/vc_msw -/samples/controls/vc_mswd -/samples/controls/vc_mswu -/samples/controls/vc_mswud -/samples/controls/vc_mswdll -/samples/controls/vc_mswddll -/samples/controls/vc_mswudll -/samples/controls/vc_mswuddll -/samples/controls/vc_mswuniv -/samples/controls/vc_mswunivd -/samples/controls/vc_mswunivu -/samples/controls/vc_mswunivud -/samples/controls/vc_mswunivdll -/samples/controls/vc_mswunivddll -/samples/controls/vc_mswunivudll -/samples/controls/vc_mswunivuddll - -# /samples/controls/icons/ -/samples/controls/icons/*.vcproj -/samples/controls/icons/*.sln -/samples/controls/icons/vc_msw -/samples/controls/icons/vc_mswd -/samples/controls/icons/vc_mswu -/samples/controls/icons/vc_mswud -/samples/controls/icons/vc_mswdll -/samples/controls/icons/vc_mswddll -/samples/controls/icons/vc_mswudll -/samples/controls/icons/vc_mswuddll -/samples/controls/icons/vc_mswuniv -/samples/controls/icons/vc_mswunivd -/samples/controls/icons/vc_mswunivu -/samples/controls/icons/vc_mswunivud -/samples/controls/icons/vc_mswunivdll -/samples/controls/icons/vc_mswunivddll -/samples/controls/icons/vc_mswunivudll -/samples/controls/icons/vc_mswunivuddll - -# /samples/dataview/ -/samples/dataview/*.sln -/samples/dataview/*.dsw -/samples/dataview/vc_msw -/samples/dataview/vc_mswd -/samples/dataview/vc_mswu -/samples/dataview/vc_mswud -/samples/dataview/vc_mswdll -/samples/dataview/vc_mswddll -/samples/dataview/vc_mswudll -/samples/dataview/vc_mswuddll -/samples/dataview/vc_mswuniv -/samples/dataview/vc_mswunivd -/samples/dataview/vc_mswunivu -/samples/dataview/vc_mswunivud -/samples/dataview/vc_mswunivdll -/samples/dataview/vc_mswunivddll -/samples/dataview/vc_mswunivudll -/samples/dataview/vc_mswunivuddll - -# /samples/debugrpt/ -/samples/debugrpt/*.sln -/samples/debugrpt/*.dsw -/samples/debugrpt/vc_msw -/samples/debugrpt/vc_mswd -/samples/debugrpt/vc_mswu -/samples/debugrpt/vc_mswud -/samples/debugrpt/vc_mswdll -/samples/debugrpt/vc_mswddll -/samples/debugrpt/vc_mswudll -/samples/debugrpt/vc_mswuddll -/samples/debugrpt/vc_mswuniv -/samples/debugrpt/vc_mswunivd -/samples/debugrpt/vc_mswunivu -/samples/debugrpt/vc_mswunivud -/samples/debugrpt/vc_mswunivdll -/samples/debugrpt/vc_mswunivddll -/samples/debugrpt/vc_mswunivudll -/samples/debugrpt/vc_mswunivuddll - -# /samples/dialogs/ -/samples/dialogs/*.sln -/samples/dialogs/*.dsw -/samples/dialogs/vc_msw -/samples/dialogs/vc_mswd -/samples/dialogs/vc_mswu -/samples/dialogs/vc_mswud -/samples/dialogs/vc_mswdll -/samples/dialogs/vc_mswddll -/samples/dialogs/vc_mswudll -/samples/dialogs/vc_mswuddll -/samples/dialogs/vc_mswuniv -/samples/dialogs/vc_mswunivd -/samples/dialogs/vc_mswunivu -/samples/dialogs/vc_mswunivud -/samples/dialogs/vc_mswunivdll -/samples/dialogs/vc_mswunivddll -/samples/dialogs/vc_mswunivudll -/samples/dialogs/vc_mswunivuddll - -# /samples/dialup/ -/samples/dialup/*.sln -/samples/dialup/*.dsw -/samples/dialup/vc_msw -/samples/dialup/vc_mswd -/samples/dialup/vc_mswu -/samples/dialup/vc_mswud -/samples/dialup/vc_mswdll -/samples/dialup/vc_mswddll -/samples/dialup/vc_mswudll -/samples/dialup/vc_mswuddll -/samples/dialup/vc_mswuniv -/samples/dialup/vc_mswunivd -/samples/dialup/vc_mswunivu -/samples/dialup/vc_mswunivud -/samples/dialup/vc_mswunivdll -/samples/dialup/vc_mswunivddll -/samples/dialup/vc_mswunivudll -/samples/dialup/vc_mswunivuddll - -# /samples/display/ -/samples/display/*.sln -/samples/display/*.dsw -/samples/display/vc_msw -/samples/display/vc_mswd -/samples/display/vc_mswu -/samples/display/vc_mswud -/samples/display/vc_mswdll -/samples/display/vc_mswddll -/samples/display/vc_mswudll -/samples/display/vc_mswuddll -/samples/display/vc_mswuniv -/samples/display/vc_mswunivd -/samples/display/vc_mswunivu -/samples/display/vc_mswunivud -/samples/display/vc_mswunivdll -/samples/display/vc_mswunivddll -/samples/display/vc_mswunivudll -/samples/display/vc_mswunivuddll - -# /samples/dnd/ -/samples/dnd/*.sln -/samples/dnd/*.dsw -/samples/dnd/vc_msw -/samples/dnd/vc_mswd -/samples/dnd/vc_mswu -/samples/dnd/vc_mswud -/samples/dnd/vc_mswdll -/samples/dnd/vc_mswddll -/samples/dnd/vc_mswudll -/samples/dnd/vc_mswuddll -/samples/dnd/vc_mswuniv -/samples/dnd/vc_mswunivd -/samples/dnd/vc_mswunivu -/samples/dnd/vc_mswunivud -/samples/dnd/vc_mswunivdll -/samples/dnd/vc_mswunivddll -/samples/dnd/vc_mswunivudll -/samples/dnd/vc_mswunivuddll - -# /samples/docview/ -/samples/docview/*.sln -/samples/docview/*.dsw -/samples/docview/vc_msw -/samples/docview/vc_mswd -/samples/docview/vc_mswu -/samples/docview/vc_mswud -/samples/docview/vc_mswdll -/samples/docview/vc_mswddll -/samples/docview/vc_mswudll -/samples/docview/vc_mswuddll -/samples/docview/vc_mswuniv -/samples/docview/vc_mswunivd -/samples/docview/vc_mswunivu -/samples/docview/vc_mswunivud -/samples/docview/vc_mswunivdll -/samples/docview/vc_mswunivddll -/samples/docview/vc_mswunivudll -/samples/docview/vc_mswunivuddll - -# /samples/dragimag/ -/samples/dragimag/*.sln -/samples/dragimag/*.dsw -/samples/dragimag/vc_msw -/samples/dragimag/vc_mswd -/samples/dragimag/vc_mswu -/samples/dragimag/vc_mswud -/samples/dragimag/vc_mswdll -/samples/dragimag/vc_mswddll -/samples/dragimag/vc_mswudll -/samples/dragimag/vc_mswuddll -/samples/dragimag/vc_mswuniv -/samples/dragimag/vc_mswunivd -/samples/dragimag/vc_mswunivu -/samples/dragimag/vc_mswunivud -/samples/dragimag/vc_mswunivdll -/samples/dragimag/vc_mswunivddll -/samples/dragimag/vc_mswunivudll -/samples/dragimag/vc_mswunivuddll - -# /samples/drawing/ -/samples/drawing/*.sln -/samples/drawing/*.dsw -/samples/drawing/vc_msw -/samples/drawing/vc_mswd -/samples/drawing/vc_mswu -/samples/drawing/vc_mswud -/samples/drawing/vc_mswdll -/samples/drawing/vc_mswddll -/samples/drawing/vc_mswudll -/samples/drawing/vc_mswuddll -/samples/drawing/vc_mswuniv -/samples/drawing/vc_mswunivd -/samples/drawing/vc_mswunivu -/samples/drawing/vc_mswunivud -/samples/drawing/vc_mswunivdll -/samples/drawing/vc_mswunivddll -/samples/drawing/vc_mswunivudll -/samples/drawing/vc_mswunivuddll - -# /samples/erase/ -/samples/erase/*.sln -/samples/erase/*.dsw -/samples/erase/vc_msw -/samples/erase/vc_mswd -/samples/erase/vc_mswu -/samples/erase/vc_mswud -/samples/erase/vc_mswdll -/samples/erase/vc_mswddll -/samples/erase/vc_mswudll -/samples/erase/vc_mswuddll -/samples/erase/vc_mswuniv -/samples/erase/vc_mswunivd -/samples/erase/vc_mswunivu -/samples/erase/vc_mswunivud -/samples/erase/vc_mswunivdll -/samples/erase/vc_mswunivddll -/samples/erase/vc_mswunivudll -/samples/erase/vc_mswunivuddll - -# /samples/event/ -/samples/event/*.sln -/samples/event/*.dsw -/samples/event/vc_msw -/samples/event/vc_mswd -/samples/event/vc_mswu -/samples/event/vc_mswud -/samples/event/vc_mswdll -/samples/event/vc_mswddll -/samples/event/vc_mswudll -/samples/event/vc_mswuddll -/samples/event/vc_mswuniv -/samples/event/vc_mswunivd -/samples/event/vc_mswunivu -/samples/event/vc_mswunivud -/samples/event/vc_mswunivdll -/samples/event/vc_mswunivddll -/samples/event/vc_mswunivudll -/samples/event/vc_mswunivuddll - -# /samples/except/ -/samples/except/*.sln -/samples/except/*.dsw -/samples/except/vc_msw -/samples/except/vc_mswd -/samples/except/vc_mswu -/samples/except/vc_mswud -/samples/except/vc_mswdll -/samples/except/vc_mswddll -/samples/except/vc_mswudll -/samples/except/vc_mswuddll -/samples/except/vc_mswuniv -/samples/except/vc_mswunivd -/samples/except/vc_mswunivu -/samples/except/vc_mswunivud -/samples/except/vc_mswunivdll -/samples/except/vc_mswunivddll -/samples/except/vc_mswunivudll -/samples/except/vc_mswunivuddll - -# /samples/exec/ -/samples/exec/*.sln -/samples/exec/*.dsw -/samples/exec/vc_msw -/samples/exec/vc_mswd -/samples/exec/vc_mswu -/samples/exec/vc_mswud -/samples/exec/vc_mswdll -/samples/exec/vc_mswddll -/samples/exec/vc_mswudll -/samples/exec/vc_mswuddll -/samples/exec/vc_mswuniv -/samples/exec/vc_mswunivd -/samples/exec/vc_mswunivu -/samples/exec/vc_mswunivud -/samples/exec/vc_mswunivdll -/samples/exec/vc_mswunivddll -/samples/exec/vc_mswunivudll -/samples/exec/vc_mswunivuddll - -# /samples/flash/ -/samples/flash/*.dsw -/samples/flash/*.sln -/samples/flash/vc_msw* - -# /samples/font/ -/samples/font/*.sln -/samples/font/*.dsw -/samples/font/vc_msw -/samples/font/vc_mswd -/samples/font/vc_mswu -/samples/font/vc_mswud -/samples/font/vc_mswdll -/samples/font/vc_mswddll -/samples/font/vc_mswudll -/samples/font/vc_mswuddll -/samples/font/vc_mswuniv -/samples/font/vc_mswunivd -/samples/font/vc_mswunivu -/samples/font/vc_mswunivud -/samples/font/vc_mswunivdll -/samples/font/vc_mswunivddll -/samples/font/vc_mswunivudll -/samples/font/vc_mswunivuddll - -# /samples/grid/ -/samples/grid/*.sln -/samples/grid/*.dsw -/samples/grid/vc_msw -/samples/grid/vc_mswd -/samples/grid/vc_mswu -/samples/grid/vc_mswud -/samples/grid/vc_mswdll -/samples/grid/vc_mswddll -/samples/grid/vc_mswudll -/samples/grid/vc_mswuddll -/samples/grid/vc_mswuniv -/samples/grid/vc_mswunivd -/samples/grid/vc_mswunivu -/samples/grid/vc_mswunivud -/samples/grid/vc_mswunivdll -/samples/grid/vc_mswunivddll -/samples/grid/vc_mswunivudll -/samples/grid/vc_mswunivuddll - -# /samples/help/ -/samples/help/*.sln -/samples/help/*.dsw -/samples/help/vc_msw -/samples/help/vc_mswd -/samples/help/vc_mswu -/samples/help/vc_mswud -/samples/help/vc_mswdll -/samples/help/vc_mswddll -/samples/help/vc_mswudll -/samples/help/vc_mswuddll -/samples/help/vc_mswuniv -/samples/help/vc_mswunivd -/samples/help/vc_mswunivu -/samples/help/vc_mswunivud -/samples/help/vc_mswunivdll -/samples/help/vc_mswunivddll -/samples/help/vc_mswunivudll -/samples/help/vc_mswunivuddll - -# /samples/help/doc/ -/samples/help/doc/*.vcproj -/samples/help/doc/*.sln -/samples/help/doc/vc_msw -/samples/help/doc/vc_mswd -/samples/help/doc/vc_mswu -/samples/help/doc/vc_mswud -/samples/help/doc/vc_mswdll -/samples/help/doc/vc_mswddll -/samples/help/doc/vc_mswudll -/samples/help/doc/vc_mswuddll -/samples/help/doc/vc_mswuniv -/samples/help/doc/vc_mswunivd -/samples/help/doc/vc_mswunivu -/samples/help/doc/vc_mswunivud -/samples/help/doc/vc_mswunivdll -/samples/help/doc/vc_mswunivddll -/samples/help/doc/vc_mswunivudll -/samples/help/doc/vc_mswunivuddll - -# /samples/htlbox/ -/samples/htlbox/*.sln -/samples/htlbox/*.dsw -/samples/htlbox/vc_msw -/samples/htlbox/vc_mswd -/samples/htlbox/vc_mswu -/samples/htlbox/vc_mswud -/samples/htlbox/vc_mswdll -/samples/htlbox/vc_mswddll -/samples/htlbox/vc_mswudll -/samples/htlbox/vc_mswuddll -/samples/htlbox/vc_mswuniv -/samples/htlbox/vc_mswunivd -/samples/htlbox/vc_mswunivu -/samples/htlbox/vc_mswunivud -/samples/htlbox/vc_mswunivdll -/samples/htlbox/vc_mswunivddll -/samples/htlbox/vc_mswunivudll -/samples/htlbox/vc_mswunivuddll - -# /samples/html/ -/samples/html/*.vcproj -/samples/html/*.sln -/samples/html/vc_msw -/samples/html/vc_mswd -/samples/html/vc_mswu -/samples/html/vc_mswud -/samples/html/vc_mswdll -/samples/html/vc_mswddll -/samples/html/vc_mswudll -/samples/html/vc_mswuddll -/samples/html/vc_mswuniv -/samples/html/vc_mswunivd -/samples/html/vc_mswunivu -/samples/html/vc_mswunivud -/samples/html/vc_mswunivdll -/samples/html/vc_mswunivddll -/samples/html/vc_mswunivudll -/samples/html/vc_mswunivuddll - -# /samples/html/about/ -/samples/html/about/*.sln -/samples/html/about/*.dsw -/samples/html/about/vc_msw -/samples/html/about/vc_mswd -/samples/html/about/vc_mswu -/samples/html/about/vc_mswud -/samples/html/about/vc_mswdll -/samples/html/about/vc_mswddll -/samples/html/about/vc_mswudll -/samples/html/about/vc_mswuddll -/samples/html/about/vc_mswuniv -/samples/html/about/vc_mswunivd -/samples/html/about/vc_mswunivu -/samples/html/about/vc_mswunivud -/samples/html/about/vc_mswunivdll -/samples/html/about/vc_mswunivddll -/samples/html/about/vc_mswunivudll -/samples/html/about/vc_mswunivuddll - -# /samples/html/about/data/ -/samples/html/about/data/*.vcproj -/samples/html/about/data/*.sln -/samples/html/about/data/vc_msw -/samples/html/about/data/vc_mswd -/samples/html/about/data/vc_mswu -/samples/html/about/data/vc_mswud -/samples/html/about/data/vc_mswdll -/samples/html/about/data/vc_mswddll -/samples/html/about/data/vc_mswudll -/samples/html/about/data/vc_mswuddll -/samples/html/about/data/vc_mswuniv -/samples/html/about/data/vc_mswunivd -/samples/html/about/data/vc_mswunivu -/samples/html/about/data/vc_mswunivud -/samples/html/about/data/vc_mswunivdll -/samples/html/about/data/vc_mswunivddll -/samples/html/about/data/vc_mswunivudll -/samples/html/about/data/vc_mswunivuddll - -# /samples/html/help/ -/samples/html/help/*.sln -/samples/html/help/*.dsw -/samples/html/help/vc_msw -/samples/html/help/vc_mswd -/samples/html/help/vc_mswu -/samples/html/help/vc_mswud -/samples/html/help/vc_mswdll -/samples/html/help/vc_mswddll -/samples/html/help/vc_mswudll -/samples/html/help/vc_mswuddll -/samples/html/help/vc_mswuniv -/samples/html/help/vc_mswunivd -/samples/html/help/vc_mswunivu -/samples/html/help/vc_mswunivud -/samples/html/help/vc_mswunivdll -/samples/html/help/vc_mswunivddll -/samples/html/help/vc_mswunivudll -/samples/html/help/vc_mswunivuddll - -# /samples/html/help/helpfiles/ -/samples/html/help/helpfiles/*.vcproj -/samples/html/help/helpfiles/*.sln -/samples/html/help/helpfiles/vc_msw -/samples/html/help/helpfiles/vc_mswd -/samples/html/help/helpfiles/vc_mswu -/samples/html/help/helpfiles/vc_mswud -/samples/html/help/helpfiles/vc_mswdll -/samples/html/help/helpfiles/vc_mswddll -/samples/html/help/helpfiles/vc_mswudll -/samples/html/help/helpfiles/vc_mswuddll -/samples/html/help/helpfiles/vc_mswuniv -/samples/html/help/helpfiles/vc_mswunivd -/samples/html/help/helpfiles/vc_mswunivu -/samples/html/help/helpfiles/vc_mswunivud -/samples/html/help/helpfiles/vc_mswunivdll -/samples/html/help/helpfiles/vc_mswunivddll -/samples/html/help/helpfiles/vc_mswunivudll -/samples/html/help/helpfiles/vc_mswunivuddll - -# /samples/html/helpview/ -/samples/html/helpview/*.sln -/samples/html/helpview/*.dsw -/samples/html/helpview/vc_msw -/samples/html/helpview/vc_mswd -/samples/html/helpview/vc_mswu -/samples/html/helpview/vc_mswud -/samples/html/helpview/vc_mswdll -/samples/html/helpview/vc_mswddll -/samples/html/helpview/vc_mswudll -/samples/html/helpview/vc_mswuddll -/samples/html/helpview/vc_mswuniv -/samples/html/helpview/vc_mswunivd -/samples/html/helpview/vc_mswunivu -/samples/html/helpview/vc_mswunivud -/samples/html/helpview/vc_mswunivdll -/samples/html/helpview/vc_mswunivddll -/samples/html/helpview/vc_mswunivudll -/samples/html/helpview/vc_mswunivuddll - -# /samples/html/htmlctrl/ -/samples/html/htmlctrl/*.vcproj -/samples/html/htmlctrl/*.sln -/samples/html/htmlctrl/vc_msw -/samples/html/htmlctrl/vc_mswd -/samples/html/htmlctrl/vc_mswu -/samples/html/htmlctrl/vc_mswud -/samples/html/htmlctrl/vc_mswdll -/samples/html/htmlctrl/vc_mswddll -/samples/html/htmlctrl/vc_mswudll -/samples/html/htmlctrl/vc_mswuddll -/samples/html/htmlctrl/vc_mswuniv -/samples/html/htmlctrl/vc_mswunivd -/samples/html/htmlctrl/vc_mswunivu -/samples/html/htmlctrl/vc_mswunivud -/samples/html/htmlctrl/vc_mswunivdll -/samples/html/htmlctrl/vc_mswunivddll -/samples/html/htmlctrl/vc_mswunivudll -/samples/html/htmlctrl/vc_mswunivuddll - -# /samples/html/printing/ -/samples/html/printing/*.sln -/samples/html/printing/*.dsw -/samples/html/printing/vc_msw -/samples/html/printing/vc_mswd -/samples/html/printing/vc_mswu -/samples/html/printing/vc_mswud -/samples/html/printing/vc_mswdll -/samples/html/printing/vc_mswddll -/samples/html/printing/vc_mswudll -/samples/html/printing/vc_mswuddll -/samples/html/printing/vc_mswuniv -/samples/html/printing/vc_mswunivd -/samples/html/printing/vc_mswunivu -/samples/html/printing/vc_mswunivud -/samples/html/printing/vc_mswunivdll -/samples/html/printing/vc_mswunivddll -/samples/html/printing/vc_mswunivudll -/samples/html/printing/vc_mswunivuddll - -# /samples/html/test/ -/samples/html/test/*.sln -/samples/html/test/*.dsw -/samples/html/test/vc_msw -/samples/html/test/vc_mswd -/samples/html/test/vc_mswu -/samples/html/test/vc_mswud -/samples/html/test/vc_mswdll -/samples/html/test/vc_mswddll -/samples/html/test/vc_mswudll -/samples/html/test/vc_mswuddll -/samples/html/test/vc_mswuniv -/samples/html/test/vc_mswunivd -/samples/html/test/vc_mswunivu -/samples/html/test/vc_mswunivud -/samples/html/test/vc_mswunivdll -/samples/html/test/vc_mswunivddll -/samples/html/test/vc_mswunivudll -/samples/html/test/vc_mswunivuddll - -# /samples/html/virtual/ -/samples/html/virtual/*.sln -/samples/html/virtual/*.dsw -/samples/html/virtual/vc_msw -/samples/html/virtual/vc_mswd -/samples/html/virtual/vc_mswu -/samples/html/virtual/vc_mswud -/samples/html/virtual/vc_mswdll -/samples/html/virtual/vc_mswddll -/samples/html/virtual/vc_mswudll -/samples/html/virtual/vc_mswuddll -/samples/html/virtual/vc_mswuniv -/samples/html/virtual/vc_mswunivd -/samples/html/virtual/vc_mswunivu -/samples/html/virtual/vc_mswunivud -/samples/html/virtual/vc_mswunivdll -/samples/html/virtual/vc_mswunivddll -/samples/html/virtual/vc_mswunivudll -/samples/html/virtual/vc_mswunivuddll - -# /samples/html/widget/ -/samples/html/widget/*.sln -/samples/html/widget/*.dsw -/samples/html/widget/vc_msw -/samples/html/widget/vc_mswd -/samples/html/widget/vc_mswu -/samples/html/widget/vc_mswud -/samples/html/widget/vc_mswdll -/samples/html/widget/vc_mswddll -/samples/html/widget/vc_mswudll -/samples/html/widget/vc_mswuddll -/samples/html/widget/vc_mswuniv -/samples/html/widget/vc_mswunivd -/samples/html/widget/vc_mswunivu -/samples/html/widget/vc_mswunivud -/samples/html/widget/vc_mswunivdll -/samples/html/widget/vc_mswunivddll -/samples/html/widget/vc_mswunivudll -/samples/html/widget/vc_mswunivuddll - -# /samples/html/zip/ -/samples/html/zip/*.sln -/samples/html/zip/*.dsw -/samples/html/zip/vc_msw -/samples/html/zip/vc_mswd -/samples/html/zip/vc_mswu -/samples/html/zip/vc_mswud -/samples/html/zip/vc_mswdll -/samples/html/zip/vc_mswddll -/samples/html/zip/vc_mswudll -/samples/html/zip/vc_mswuddll -/samples/html/zip/vc_mswuniv -/samples/html/zip/vc_mswunivd -/samples/html/zip/vc_mswunivu -/samples/html/zip/vc_mswunivud -/samples/html/zip/vc_mswunivdll -/samples/html/zip/vc_mswunivddll -/samples/html/zip/vc_mswunivudll -/samples/html/zip/vc_mswunivuddll +/samples/**/*.sln +/samples/**/*.dsw +/samples/**/vc_msw +/samples/**/vc_msw_x64 +/samples/**/vc_mswd +/samples/**/vc_mswd_x64 +/samples/**/vc_mswu +/samples/**/vc_mswu_x64 +/samples/**/vc_mswud +/samples/**/vc_mswud_x64 +/samples/**/vc_mswdll +/samples/**/vc_mswdll_x64 +/samples/**/vc_mswddll +/samples/**/vc_mswddll_x64 +/samples/**/vc_mswudll +/samples/**/vc_mswudll_x64 +/samples/**/vc_mswuddll +/samples/**/vc_mswuddll_x64 +/samples/**/vc_mswuniv +/samples/**/vc_mswuniv_x64 +/samples/**/vc_mswunivd +/samples/**/vc_mswunivd_x64 +/samples/**/vc_mswunivu +/samples/**/vc_mswunivu_x64 +/samples/**/vc_mswunivud +/samples/**/vc_mswunivud_x64 +/samples/**/vc_mswunivdll +/samples/**/vc_mswunivdll_x64 +/samples/**/vc_mswunivddll +/samples/**/vc_mswunivddll_x64 +/samples/**/vc_mswunivudll +/samples/**/vc_mswunivudll_x64 +/samples/**/vc_mswunivuddll +/samples/**/vc_mswunivuddll_x64 # /samples/image/ /samples/image/saved.xpm /samples/image/test.png /samples/image/test.xpm -/samples/image/*.sln -/samples/image/*.dsw -/samples/image/vc_msw -/samples/image/vc_mswd -/samples/image/vc_mswu -/samples/image/vc_mswud -/samples/image/vc_mswdll -/samples/image/vc_mswddll -/samples/image/vc_mswudll -/samples/image/vc_mswuddll -/samples/image/vc_mswuniv -/samples/image/vc_mswunivd -/samples/image/vc_mswunivu -/samples/image/vc_mswunivud -/samples/image/vc_mswunivdll -/samples/image/vc_mswunivddll -/samples/image/vc_mswunivudll -/samples/image/vc_mswunivuddll - -# /samples/internat/ -/samples/internat/*.sln -/samples/internat/*.dsw -/samples/internat/vc_msw -/samples/internat/vc_mswd -/samples/internat/vc_mswu -/samples/internat/vc_mswud -/samples/internat/vc_mswdll -/samples/internat/vc_mswddll -/samples/internat/vc_mswudll -/samples/internat/vc_mswuddll -/samples/internat/vc_mswuniv -/samples/internat/vc_mswunivd -/samples/internat/vc_mswunivu -/samples/internat/vc_mswunivud -/samples/internat/vc_mswunivdll -/samples/internat/vc_mswunivddll -/samples/internat/vc_mswunivudll -/samples/internat/vc_mswunivuddll - -# /samples/internat/ar/ -/samples/internat/ar/*.vcproj -/samples/internat/ar/*.sln -/samples/internat/ar/vc_msw -/samples/internat/ar/vc_mswd -/samples/internat/ar/vc_mswu -/samples/internat/ar/vc_mswud -/samples/internat/ar/vc_mswdll -/samples/internat/ar/vc_mswddll -/samples/internat/ar/vc_mswudll -/samples/internat/ar/vc_mswuddll -/samples/internat/ar/vc_mswuniv -/samples/internat/ar/vc_mswunivd -/samples/internat/ar/vc_mswunivu -/samples/internat/ar/vc_mswunivud -/samples/internat/ar/vc_mswunivdll -/samples/internat/ar/vc_mswunivddll -/samples/internat/ar/vc_mswunivudll -/samples/internat/ar/vc_mswunivuddll - -# /samples/internat/bg/ -/samples/internat/bg/*.vcproj -/samples/internat/bg/*.sln -/samples/internat/bg/vc_msw -/samples/internat/bg/vc_mswd -/samples/internat/bg/vc_mswu -/samples/internat/bg/vc_mswud -/samples/internat/bg/vc_mswdll -/samples/internat/bg/vc_mswddll -/samples/internat/bg/vc_mswudll -/samples/internat/bg/vc_mswuddll -/samples/internat/bg/vc_mswuniv -/samples/internat/bg/vc_mswunivd -/samples/internat/bg/vc_mswunivu -/samples/internat/bg/vc_mswunivud -/samples/internat/bg/vc_mswunivdll -/samples/internat/bg/vc_mswunivddll -/samples/internat/bg/vc_mswunivudll -/samples/internat/bg/vc_mswunivuddll - -# /samples/internat/cs/ -/samples/internat/cs/*.vcproj -/samples/internat/cs/*.sln -/samples/internat/cs/vc_msw -/samples/internat/cs/vc_mswd -/samples/internat/cs/vc_mswu -/samples/internat/cs/vc_mswud -/samples/internat/cs/vc_mswdll -/samples/internat/cs/vc_mswddll -/samples/internat/cs/vc_mswudll -/samples/internat/cs/vc_mswuddll -/samples/internat/cs/vc_mswuniv -/samples/internat/cs/vc_mswunivd -/samples/internat/cs/vc_mswunivu -/samples/internat/cs/vc_mswunivud -/samples/internat/cs/vc_mswunivdll -/samples/internat/cs/vc_mswunivddll -/samples/internat/cs/vc_mswunivudll -/samples/internat/cs/vc_mswunivuddll - -# /samples/internat/de/ -/samples/internat/de/*.vcproj -/samples/internat/de/*.sln -/samples/internat/de/vc_msw -/samples/internat/de/vc_mswd -/samples/internat/de/vc_mswu -/samples/internat/de/vc_mswud -/samples/internat/de/vc_mswdll -/samples/internat/de/vc_mswddll -/samples/internat/de/vc_mswudll -/samples/internat/de/vc_mswuddll -/samples/internat/de/vc_mswuniv -/samples/internat/de/vc_mswunivd -/samples/internat/de/vc_mswunivu -/samples/internat/de/vc_mswunivud -/samples/internat/de/vc_mswunivdll -/samples/internat/de/vc_mswunivddll -/samples/internat/de/vc_mswunivudll -/samples/internat/de/vc_mswunivuddll - -# /samples/internat/fr/ -/samples/internat/fr/*.vcproj -/samples/internat/fr/*.sln -/samples/internat/fr/vc_msw -/samples/internat/fr/vc_mswd -/samples/internat/fr/vc_mswu -/samples/internat/fr/vc_mswud -/samples/internat/fr/vc_mswdll -/samples/internat/fr/vc_mswddll -/samples/internat/fr/vc_mswudll -/samples/internat/fr/vc_mswuddll -/samples/internat/fr/vc_mswuniv -/samples/internat/fr/vc_mswunivd -/samples/internat/fr/vc_mswunivu -/samples/internat/fr/vc_mswunivud -/samples/internat/fr/vc_mswunivdll -/samples/internat/fr/vc_mswunivddll -/samples/internat/fr/vc_mswunivudll -/samples/internat/fr/vc_mswunivuddll - -# /samples/internat/ja/ -/samples/internat/ja/*.vcproj -/samples/internat/ja/*.sln -/samples/internat/ja/vc_msw -/samples/internat/ja/vc_mswd -/samples/internat/ja/vc_mswu -/samples/internat/ja/vc_mswud -/samples/internat/ja/vc_mswdll -/samples/internat/ja/vc_mswddll -/samples/internat/ja/vc_mswudll -/samples/internat/ja/vc_mswuddll -/samples/internat/ja/vc_mswuniv -/samples/internat/ja/vc_mswunivd -/samples/internat/ja/vc_mswunivu -/samples/internat/ja/vc_mswunivud -/samples/internat/ja/vc_mswunivdll -/samples/internat/ja/vc_mswunivddll -/samples/internat/ja/vc_mswunivudll -/samples/internat/ja/vc_mswunivuddll - -# /samples/internat/ja_JP.EUC-JP/ -/samples/internat/ja_JP.EUC-JP/*.vcproj -/samples/internat/ja_JP.EUC-JP/*.sln -/samples/internat/ja_JP.EUC-JP/vc_msw -/samples/internat/ja_JP.EUC-JP/vc_mswd -/samples/internat/ja_JP.EUC-JP/vc_mswu -/samples/internat/ja_JP.EUC-JP/vc_mswud -/samples/internat/ja_JP.EUC-JP/vc_mswdll -/samples/internat/ja_JP.EUC-JP/vc_mswddll -/samples/internat/ja_JP.EUC-JP/vc_mswudll -/samples/internat/ja_JP.EUC-JP/vc_mswuddll -/samples/internat/ja_JP.EUC-JP/vc_mswuniv -/samples/internat/ja_JP.EUC-JP/vc_mswunivd -/samples/internat/ja_JP.EUC-JP/vc_mswunivu -/samples/internat/ja_JP.EUC-JP/vc_mswunivud -/samples/internat/ja_JP.EUC-JP/vc_mswunivdll -/samples/internat/ja_JP.EUC-JP/vc_mswunivddll -/samples/internat/ja_JP.EUC-JP/vc_mswunivudll -/samples/internat/ja_JP.EUC-JP/vc_mswunivuddll - -# /samples/internat/ka/ -/samples/internat/ka/*.vcproj -/samples/internat/ka/*.sln -/samples/internat/ka/vc_msw -/samples/internat/ka/vc_mswd -/samples/internat/ka/vc_mswu -/samples/internat/ka/vc_mswud -/samples/internat/ka/vc_mswdll -/samples/internat/ka/vc_mswddll -/samples/internat/ka/vc_mswudll -/samples/internat/ka/vc_mswuddll -/samples/internat/ka/vc_mswuniv -/samples/internat/ka/vc_mswunivd -/samples/internat/ka/vc_mswunivu -/samples/internat/ka/vc_mswunivud -/samples/internat/ka/vc_mswunivdll -/samples/internat/ka/vc_mswunivddll -/samples/internat/ka/vc_mswunivudll -/samples/internat/ka/vc_mswunivuddll - -# /samples/internat/pl/ -/samples/internat/pl/*.vcproj -/samples/internat/pl/*.sln -/samples/internat/pl/vc_msw -/samples/internat/pl/vc_mswd -/samples/internat/pl/vc_mswu -/samples/internat/pl/vc_mswud -/samples/internat/pl/vc_mswdll -/samples/internat/pl/vc_mswddll -/samples/internat/pl/vc_mswudll -/samples/internat/pl/vc_mswuddll -/samples/internat/pl/vc_mswuniv -/samples/internat/pl/vc_mswunivd -/samples/internat/pl/vc_mswunivu -/samples/internat/pl/vc_mswunivud -/samples/internat/pl/vc_mswunivdll -/samples/internat/pl/vc_mswunivddll -/samples/internat/pl/vc_mswunivudll -/samples/internat/pl/vc_mswunivuddll - -# /samples/internat/ru/ -/samples/internat/ru/*.vcproj -/samples/internat/ru/*.sln -/samples/internat/ru/vc_msw -/samples/internat/ru/vc_mswd -/samples/internat/ru/vc_mswu -/samples/internat/ru/vc_mswud -/samples/internat/ru/vc_mswdll -/samples/internat/ru/vc_mswddll -/samples/internat/ru/vc_mswudll -/samples/internat/ru/vc_mswuddll -/samples/internat/ru/vc_mswuniv -/samples/internat/ru/vc_mswunivd -/samples/internat/ru/vc_mswunivu -/samples/internat/ru/vc_mswunivud -/samples/internat/ru/vc_mswunivdll -/samples/internat/ru/vc_mswunivddll -/samples/internat/ru/vc_mswunivudll -/samples/internat/ru/vc_mswunivuddll - -# /samples/internat/sv/ -/samples/internat/sv/*.vcproj -/samples/internat/sv/*.sln -/samples/internat/sv/vc_msw -/samples/internat/sv/vc_mswd -/samples/internat/sv/vc_mswu -/samples/internat/sv/vc_mswud -/samples/internat/sv/vc_mswdll -/samples/internat/sv/vc_mswddll -/samples/internat/sv/vc_mswudll -/samples/internat/sv/vc_mswuddll -/samples/internat/sv/vc_mswuniv -/samples/internat/sv/vc_mswunivd -/samples/internat/sv/vc_mswunivu -/samples/internat/sv/vc_mswunivud -/samples/internat/sv/vc_mswunivdll -/samples/internat/sv/vc_mswunivddll -/samples/internat/sv/vc_mswunivudll -/samples/internat/sv/vc_mswunivuddll - -# /samples/ipc/ -/samples/ipc/*.sln -/samples/ipc/*.dsw -/samples/ipc/vc_msw -/samples/ipc/vc_mswd -/samples/ipc/vc_mswu -/samples/ipc/vc_mswud -/samples/ipc/vc_mswdll -/samples/ipc/vc_mswddll -/samples/ipc/vc_mswudll -/samples/ipc/vc_mswuddll -/samples/ipc/vc_mswuniv -/samples/ipc/vc_mswunivd -/samples/ipc/vc_mswunivu -/samples/ipc/vc_mswunivud -/samples/ipc/vc_mswunivdll -/samples/ipc/vc_mswunivddll -/samples/ipc/vc_mswunivudll -/samples/ipc/vc_mswunivuddll - -# /samples/joytest/ -/samples/joytest/*.sln -/samples/joytest/*.dsw -/samples/joytest/vc_msw -/samples/joytest/vc_mswd -/samples/joytest/vc_mswu -/samples/joytest/vc_mswud -/samples/joytest/vc_mswdll -/samples/joytest/vc_mswddll -/samples/joytest/vc_mswudll -/samples/joytest/vc_mswuddll -/samples/joytest/vc_mswuniv -/samples/joytest/vc_mswunivd -/samples/joytest/vc_mswunivu -/samples/joytest/vc_mswunivud -/samples/joytest/vc_mswunivdll -/samples/joytest/vc_mswunivddll -/samples/joytest/vc_mswunivudll -/samples/joytest/vc_mswunivuddll - -# /samples/keyboard/ -/samples/keyboard/*.sln -/samples/keyboard/*.dsw -/samples/keyboard/vc_msw -/samples/keyboard/vc_mswd -/samples/keyboard/vc_mswu -/samples/keyboard/vc_mswud -/samples/keyboard/vc_mswdll -/samples/keyboard/vc_mswddll -/samples/keyboard/vc_mswudll -/samples/keyboard/vc_mswuddll -/samples/keyboard/vc_mswuniv -/samples/keyboard/vc_mswunivd -/samples/keyboard/vc_mswunivu -/samples/keyboard/vc_mswunivud -/samples/keyboard/vc_mswunivdll -/samples/keyboard/vc_mswunivddll -/samples/keyboard/vc_mswunivudll -/samples/keyboard/vc_mswunivuddll - -# /samples/layout/ -/samples/layout/*.sln -/samples/layout/*.dsw -/samples/layout/vc_msw -/samples/layout/vc_mswd -/samples/layout/vc_mswu -/samples/layout/vc_mswud -/samples/layout/vc_mswdll -/samples/layout/vc_mswddll -/samples/layout/vc_mswudll -/samples/layout/vc_mswuddll -/samples/layout/vc_mswuniv -/samples/layout/vc_mswunivd -/samples/layout/vc_mswunivu -/samples/layout/vc_mswunivud -/samples/layout/vc_mswunivdll -/samples/layout/vc_mswunivddll -/samples/layout/vc_mswunivudll -/samples/layout/vc_mswunivuddll - -# /samples/listctrl/ -/samples/listctrl/*.sln -/samples/listctrl/*.dsw -/samples/listctrl/vc_msw -/samples/listctrl/vc_mswd -/samples/listctrl/vc_mswu -/samples/listctrl/vc_mswud -/samples/listctrl/vc_mswdll -/samples/listctrl/vc_mswddll -/samples/listctrl/vc_mswudll -/samples/listctrl/vc_mswuddll -/samples/listctrl/vc_mswuniv -/samples/listctrl/vc_mswunivd -/samples/listctrl/vc_mswunivu -/samples/listctrl/vc_mswunivud -/samples/listctrl/vc_mswunivdll -/samples/listctrl/vc_mswunivddll -/samples/listctrl/vc_mswunivudll -/samples/listctrl/vc_mswunivuddll - -# /samples/listctrl/bitmaps/ -/samples/listctrl/bitmaps/*.vcproj -/samples/listctrl/bitmaps/*.sln -/samples/listctrl/bitmaps/vc_msw -/samples/listctrl/bitmaps/vc_mswd -/samples/listctrl/bitmaps/vc_mswu -/samples/listctrl/bitmaps/vc_mswud -/samples/listctrl/bitmaps/vc_mswdll -/samples/listctrl/bitmaps/vc_mswddll -/samples/listctrl/bitmaps/vc_mswudll -/samples/listctrl/bitmaps/vc_mswuddll -/samples/listctrl/bitmaps/vc_mswuniv -/samples/listctrl/bitmaps/vc_mswunivd -/samples/listctrl/bitmaps/vc_mswunivu -/samples/listctrl/bitmaps/vc_mswunivud -/samples/listctrl/bitmaps/vc_mswunivdll -/samples/listctrl/bitmaps/vc_mswunivddll -/samples/listctrl/bitmaps/vc_mswunivudll -/samples/listctrl/bitmaps/vc_mswunivuddll - -# /samples/mdi/ -/samples/mdi/*.sln -/samples/mdi/*.dsw -/samples/mdi/vc_msw -/samples/mdi/vc_mswd -/samples/mdi/vc_mswu -/samples/mdi/vc_mswud -/samples/mdi/vc_mswdll -/samples/mdi/vc_mswddll -/samples/mdi/vc_mswudll -/samples/mdi/vc_mswuddll -/samples/mdi/vc_mswuniv -/samples/mdi/vc_mswunivd -/samples/mdi/vc_mswunivu -/samples/mdi/vc_mswunivud -/samples/mdi/vc_mswunivdll -/samples/mdi/vc_mswunivddll -/samples/mdi/vc_mswunivudll -/samples/mdi/vc_mswunivuddll - -# /samples/mdi/bitmaps/ -/samples/mdi/bitmaps/*.vcproj -/samples/mdi/bitmaps/*.sln -/samples/mdi/bitmaps/vc_msw -/samples/mdi/bitmaps/vc_mswd -/samples/mdi/bitmaps/vc_mswu -/samples/mdi/bitmaps/vc_mswud -/samples/mdi/bitmaps/vc_mswdll -/samples/mdi/bitmaps/vc_mswddll -/samples/mdi/bitmaps/vc_mswudll -/samples/mdi/bitmaps/vc_mswuddll -/samples/mdi/bitmaps/vc_mswuniv -/samples/mdi/bitmaps/vc_mswunivd -/samples/mdi/bitmaps/vc_mswunivu -/samples/mdi/bitmaps/vc_mswunivud -/samples/mdi/bitmaps/vc_mswunivdll -/samples/mdi/bitmaps/vc_mswunivddll -/samples/mdi/bitmaps/vc_mswunivudll -/samples/mdi/bitmaps/vc_mswunivuddll - -# /samples/mediaplayer/ -/samples/mediaplayer/*.sln -/samples/mediaplayer/*.dsw -/samples/mediaplayer/vc_msw -/samples/mediaplayer/vc_mswd -/samples/mediaplayer/vc_mswu -/samples/mediaplayer/vc_mswud -/samples/mediaplayer/vc_mswdll -/samples/mediaplayer/vc_mswddll -/samples/mediaplayer/vc_mswudll -/samples/mediaplayer/vc_mswuddll -/samples/mediaplayer/vc_mswuniv -/samples/mediaplayer/vc_mswunivd -/samples/mediaplayer/vc_mswunivu -/samples/mediaplayer/vc_mswunivud -/samples/mediaplayer/vc_mswunivdll -/samples/mediaplayer/vc_mswunivddll -/samples/mediaplayer/vc_mswunivudll -/samples/mediaplayer/vc_mswunivuddll - -# /samples/memcheck/ -/samples/memcheck/*.sln -/samples/memcheck/*.dsw -/samples/memcheck/vc_msw -/samples/memcheck/vc_mswd -/samples/memcheck/vc_mswu -/samples/memcheck/vc_mswud -/samples/memcheck/vc_mswdll -/samples/memcheck/vc_mswddll -/samples/memcheck/vc_mswudll -/samples/memcheck/vc_mswuddll -/samples/memcheck/vc_mswuniv -/samples/memcheck/vc_mswunivd -/samples/memcheck/vc_mswunivu -/samples/memcheck/vc_mswunivud -/samples/memcheck/vc_mswunivdll -/samples/memcheck/vc_mswunivddll -/samples/memcheck/vc_mswunivudll -/samples/memcheck/vc_mswunivuddll - -# /samples/menu/ -/samples/menu/*.sln -/samples/menu/*.dsw -/samples/menu/vc_msw -/samples/menu/vc_mswd -/samples/menu/vc_mswu -/samples/menu/vc_mswud -/samples/menu/vc_mswdll -/samples/menu/vc_mswddll -/samples/menu/vc_mswudll -/samples/menu/vc_mswuddll -/samples/menu/vc_mswuniv -/samples/menu/vc_mswunivd -/samples/menu/vc_mswunivu -/samples/menu/vc_mswunivud -/samples/menu/vc_mswunivdll -/samples/menu/vc_mswunivddll -/samples/menu/vc_mswunivudll -/samples/menu/vc_mswunivuddll - -# /samples/mfc/ -/samples/mfc/*.sln -/samples/mfc/*.dsw -/samples/mfc/vc_msw -/samples/mfc/vc_mswd -/samples/mfc/vc_mswu -/samples/mfc/vc_mswud -/samples/mfc/vc_mswdll -/samples/mfc/vc_mswddll -/samples/mfc/vc_mswudll -/samples/mfc/vc_mswuddll -/samples/mfc/vc_mswuniv -/samples/mfc/vc_mswunivd -/samples/mfc/vc_mswunivu -/samples/mfc/vc_mswunivud -/samples/mfc/vc_mswunivdll -/samples/mfc/vc_mswunivddll -/samples/mfc/vc_mswunivudll -/samples/mfc/vc_mswunivuddll - -# /samples/minimal/ -/samples/minimal/*.sln -/samples/minimal/*.dsw -/samples/minimal/vc_msw -/samples/minimal/vc_mswd -/samples/minimal/vc_mswu -/samples/minimal/vc_mswud -/samples/minimal/vc_mswdll -/samples/minimal/vc_mswddll -/samples/minimal/vc_mswudll -/samples/minimal/vc_mswuddll -/samples/minimal/vc_mswuniv -/samples/minimal/vc_mswunivd -/samples/minimal/vc_mswunivu -/samples/minimal/vc_mswunivud -/samples/minimal/vc_mswunivdll -/samples/minimal/vc_mswunivddll -/samples/minimal/vc_mswunivudll -/samples/minimal/vc_mswunivuddll -/samples/minimal/minimal_vc8arm.vcproj -/samples/minimal/minimal_vc9arm.vcproj - -# /samples/nativdlg/ -/samples/nativdlg/*.sln -/samples/nativdlg/*.dsw -/samples/nativdlg/vc_msw -/samples/nativdlg/vc_mswd -/samples/nativdlg/vc_mswu -/samples/nativdlg/vc_mswud -/samples/nativdlg/vc_mswdll -/samples/nativdlg/vc_mswddll -/samples/nativdlg/vc_mswudll -/samples/nativdlg/vc_mswuddll -/samples/nativdlg/vc_mswuniv -/samples/nativdlg/vc_mswunivd -/samples/nativdlg/vc_mswunivu -/samples/nativdlg/vc_mswunivud -/samples/nativdlg/vc_mswunivdll -/samples/nativdlg/vc_mswunivddll -/samples/nativdlg/vc_mswunivudll -/samples/nativdlg/vc_mswunivuddll - -# /samples/notebook/ -/samples/notebook/*.sln -/samples/notebook/*.dsw -/samples/notebook/vc_msw -/samples/notebook/vc_mswd -/samples/notebook/vc_mswu -/samples/notebook/vc_mswud -/samples/notebook/vc_mswdll -/samples/notebook/vc_mswddll -/samples/notebook/vc_mswudll -/samples/notebook/vc_mswuddll -/samples/notebook/vc_mswuniv -/samples/notebook/vc_mswunivd -/samples/notebook/vc_mswunivu -/samples/notebook/vc_mswunivud -/samples/notebook/vc_mswunivdll -/samples/notebook/vc_mswunivddll -/samples/notebook/vc_mswunivudll -/samples/notebook/vc_mswunivuddll - -# /samples/oleauto/ -/samples/oleauto/*.sln -/samples/oleauto/*.dsw -/samples/oleauto/vc_msw -/samples/oleauto/vc_mswd -/samples/oleauto/vc_mswu -/samples/oleauto/vc_mswud -/samples/oleauto/vc_mswdll -/samples/oleauto/vc_mswddll -/samples/oleauto/vc_mswudll -/samples/oleauto/vc_mswuddll -/samples/oleauto/vc_mswuniv -/samples/oleauto/vc_mswunivd -/samples/oleauto/vc_mswunivu -/samples/oleauto/vc_mswunivud -/samples/oleauto/vc_mswunivdll -/samples/oleauto/vc_mswunivddll -/samples/oleauto/vc_mswunivudll -/samples/oleauto/vc_mswunivuddll - -# /samples/opengl/ -/samples/opengl/*.vcproj -/samples/opengl/*.sln -/samples/opengl/vc_msw -/samples/opengl/vc_mswd -/samples/opengl/vc_mswu -/samples/opengl/vc_mswud -/samples/opengl/vc_mswdll -/samples/opengl/vc_mswddll -/samples/opengl/vc_mswudll -/samples/opengl/vc_mswuddll -/samples/opengl/vc_mswuniv -/samples/opengl/vc_mswunivd -/samples/opengl/vc_mswunivu -/samples/opengl/vc_mswunivud -/samples/opengl/vc_mswunivdll -/samples/opengl/vc_mswunivddll -/samples/opengl/vc_mswunivudll -/samples/opengl/vc_mswunivuddll - -# /samples/opengl/cube/ -/samples/opengl/cube/*.sln -/samples/opengl/cube/*.dsw -/samples/opengl/cube/vc_msw -/samples/opengl/cube/vc_mswd -/samples/opengl/cube/vc_mswu -/samples/opengl/cube/vc_mswud -/samples/opengl/cube/vc_mswdll -/samples/opengl/cube/vc_mswddll -/samples/opengl/cube/vc_mswudll -/samples/opengl/cube/vc_mswuddll -/samples/opengl/cube/vc_mswuniv -/samples/opengl/cube/vc_mswunivd -/samples/opengl/cube/vc_mswunivu -/samples/opengl/cube/vc_mswunivud -/samples/opengl/cube/vc_mswunivdll -/samples/opengl/cube/vc_mswunivddll -/samples/opengl/cube/vc_mswunivudll -/samples/opengl/cube/vc_mswunivuddll - -# /samples/opengl/isosurf/ -/samples/opengl/isosurf/*.sln -/samples/opengl/isosurf/*.dsw -/samples/opengl/isosurf/vc_msw -/samples/opengl/isosurf/vc_mswd -/samples/opengl/isosurf/vc_mswu -/samples/opengl/isosurf/vc_mswud -/samples/opengl/isosurf/vc_mswdll -/samples/opengl/isosurf/vc_mswddll -/samples/opengl/isosurf/vc_mswudll -/samples/opengl/isosurf/vc_mswuddll -/samples/opengl/isosurf/vc_mswuniv -/samples/opengl/isosurf/vc_mswunivd -/samples/opengl/isosurf/vc_mswunivu -/samples/opengl/isosurf/vc_mswunivud -/samples/opengl/isosurf/vc_mswunivdll -/samples/opengl/isosurf/vc_mswunivddll -/samples/opengl/isosurf/vc_mswunivudll -/samples/opengl/isosurf/vc_mswunivuddll - -# /samples/opengl/penguin/ -/samples/opengl/penguin/*.sln -/samples/opengl/penguin/*.dsw -/samples/opengl/penguin/vc_msw -/samples/opengl/penguin/vc_mswd -/samples/opengl/penguin/vc_mswu -/samples/opengl/penguin/vc_mswud -/samples/opengl/penguin/vc_mswdll -/samples/opengl/penguin/vc_mswddll -/samples/opengl/penguin/vc_mswudll -/samples/opengl/penguin/vc_mswuddll -/samples/opengl/penguin/vc_mswuniv -/samples/opengl/penguin/vc_mswunivd -/samples/opengl/penguin/vc_mswunivu -/samples/opengl/penguin/vc_mswunivud -/samples/opengl/penguin/vc_mswunivdll -/samples/opengl/penguin/vc_mswunivddll -/samples/opengl/penguin/vc_mswunivudll -/samples/opengl/penguin/vc_mswunivuddll - -# /samples/ownerdrw/ -/samples/ownerdrw/*.sln -/samples/ownerdrw/*.dsw -/samples/ownerdrw/vc_msw -/samples/ownerdrw/vc_mswd -/samples/ownerdrw/vc_mswu -/samples/ownerdrw/vc_mswud -/samples/ownerdrw/vc_mswdll -/samples/ownerdrw/vc_mswddll -/samples/ownerdrw/vc_mswudll -/samples/ownerdrw/vc_mswuddll -/samples/ownerdrw/vc_mswuniv -/samples/ownerdrw/vc_mswunivd -/samples/ownerdrw/vc_mswunivu -/samples/ownerdrw/vc_mswunivud -/samples/ownerdrw/vc_mswunivdll -/samples/ownerdrw/vc_mswunivddll -/samples/ownerdrw/vc_mswunivudll -/samples/ownerdrw/vc_mswunivuddll - -# /samples/popup/ -/samples/popup/*.sln -/samples/popup/*.dsw -/samples/popup/vc_msw -/samples/popup/vc_mswd -/samples/popup/vc_mswu -/samples/popup/vc_mswud -/samples/popup/vc_mswdll -/samples/popup/vc_mswddll -/samples/popup/vc_mswudll -/samples/popup/vc_mswuddll -/samples/popup/vc_mswuniv -/samples/popup/vc_mswunivd -/samples/popup/vc_mswunivu -/samples/popup/vc_mswunivud -/samples/popup/vc_mswunivdll -/samples/popup/vc_mswunivddll -/samples/popup/vc_mswunivudll -/samples/popup/vc_mswunivuddll - -# /samples/power/ -/samples/power/*.sln -/samples/power/*.dsw -/samples/power/vc_msw -/samples/power/vc_mswd -/samples/power/vc_mswu -/samples/power/vc_mswud -/samples/power/vc_mswdll -/samples/power/vc_mswddll -/samples/power/vc_mswudll -/samples/power/vc_mswuddll -/samples/power/vc_mswuniv -/samples/power/vc_mswunivd -/samples/power/vc_mswunivu -/samples/power/vc_mswunivud -/samples/power/vc_mswunivdll -/samples/power/vc_mswunivddll -/samples/power/vc_mswunivudll -/samples/power/vc_mswunivuddll - -# /samples/printing/ -/samples/printing/*.sln -/samples/printing/*.dsw -/samples/printing/vc_msw -/samples/printing/vc_mswd -/samples/printing/vc_mswu -/samples/printing/vc_mswud -/samples/printing/vc_mswdll -/samples/printing/vc_mswddll -/samples/printing/vc_mswudll -/samples/printing/vc_mswuddll -/samples/printing/vc_mswuniv -/samples/printing/vc_mswunivd -/samples/printing/vc_mswunivu -/samples/printing/vc_mswunivud -/samples/printing/vc_mswunivdll -/samples/printing/vc_mswunivddll -/samples/printing/vc_mswunivudll -/samples/printing/vc_mswunivuddll - -# /samples/propgrid/ -/samples/propgrid/*.sln -/samples/propgrid/*.dsw - -# /samples/regtest/ -/samples/regtest/*.sln -/samples/regtest/*.dsw -/samples/regtest/vc_msw -/samples/regtest/vc_mswd -/samples/regtest/vc_mswu -/samples/regtest/vc_mswud -/samples/regtest/vc_mswdll -/samples/regtest/vc_mswddll -/samples/regtest/vc_mswudll -/samples/regtest/vc_mswuddll -/samples/regtest/vc_mswuniv -/samples/regtest/vc_mswunivd -/samples/regtest/vc_mswunivu -/samples/regtest/vc_mswunivud -/samples/regtest/vc_mswunivdll -/samples/regtest/vc_mswunivddll -/samples/regtest/vc_mswunivudll -/samples/regtest/vc_mswunivuddll - -# /samples/render/ -/samples/render/*.sln -/samples/render/*.dsw -/samples/render/vc_msw -/samples/render/vc_mswd -/samples/render/vc_mswu -/samples/render/vc_mswud -/samples/render/vc_mswdll -/samples/render/vc_mswddll -/samples/render/vc_mswudll -/samples/render/vc_mswuddll -/samples/render/vc_mswuniv -/samples/render/vc_mswunivd -/samples/render/vc_mswunivu -/samples/render/vc_mswunivud -/samples/render/vc_mswunivdll -/samples/render/vc_mswunivddll -/samples/render/vc_mswunivudll -/samples/render/vc_mswunivuddll - -# /samples/richtext/ -/samples/richtext/*.sln -/samples/richtext/*.dsw -/samples/richtext/vc_msw -/samples/richtext/vc_mswd -/samples/richtext/vc_mswu -/samples/richtext/vc_mswud -/samples/richtext/vc_mswdll -/samples/richtext/vc_mswddll -/samples/richtext/vc_mswudll -/samples/richtext/vc_mswuddll -/samples/richtext/vc_mswuniv -/samples/richtext/vc_mswunivd -/samples/richtext/vc_mswunivu -/samples/richtext/vc_mswunivud -/samples/richtext/vc_mswunivdll -/samples/richtext/vc_mswunivddll -/samples/richtext/vc_mswunivudll -/samples/richtext/vc_mswunivuddll - -# /samples/richtext/bitmaps/ -/samples/richtext/bitmaps/*.vcproj -/samples/richtext/bitmaps/*.sln -/samples/richtext/bitmaps/vc_msw -/samples/richtext/bitmaps/vc_mswd -/samples/richtext/bitmaps/vc_mswu -/samples/richtext/bitmaps/vc_mswud -/samples/richtext/bitmaps/vc_mswdll -/samples/richtext/bitmaps/vc_mswddll -/samples/richtext/bitmaps/vc_mswudll -/samples/richtext/bitmaps/vc_mswuddll -/samples/richtext/bitmaps/vc_mswuniv -/samples/richtext/bitmaps/vc_mswunivd -/samples/richtext/bitmaps/vc_mswunivu -/samples/richtext/bitmaps/vc_mswunivud -/samples/richtext/bitmaps/vc_mswunivdll -/samples/richtext/bitmaps/vc_mswunivddll -/samples/richtext/bitmaps/vc_mswunivudll -/samples/richtext/bitmaps/vc_mswunivuddll - -# /samples/sashtest/ -/samples/sashtest/*.sln -/samples/sashtest/*.dsw -/samples/sashtest/vc_msw -/samples/sashtest/vc_mswd -/samples/sashtest/vc_mswu -/samples/sashtest/vc_mswud -/samples/sashtest/vc_mswdll -/samples/sashtest/vc_mswddll -/samples/sashtest/vc_mswudll -/samples/sashtest/vc_mswuddll -/samples/sashtest/vc_mswuniv -/samples/sashtest/vc_mswunivd -/samples/sashtest/vc_mswunivu -/samples/sashtest/vc_mswunivud -/samples/sashtest/vc_mswunivdll -/samples/sashtest/vc_mswunivddll -/samples/sashtest/vc_mswunivudll -/samples/sashtest/vc_mswunivuddll - -# /samples/scroll/ -/samples/scroll/*.sln -/samples/scroll/*.dsw -/samples/scroll/vc_msw -/samples/scroll/vc_mswd -/samples/scroll/vc_mswu -/samples/scroll/vc_mswud -/samples/scroll/vc_mswdll -/samples/scroll/vc_mswddll -/samples/scroll/vc_mswudll -/samples/scroll/vc_mswuddll -/samples/scroll/vc_mswuniv -/samples/scroll/vc_mswunivd -/samples/scroll/vc_mswunivu -/samples/scroll/vc_mswunivud -/samples/scroll/vc_mswunivdll -/samples/scroll/vc_mswunivddll -/samples/scroll/vc_mswunivudll -/samples/scroll/vc_mswunivuddll - -# /samples/shaped/ -/samples/shaped/*.sln -/samples/shaped/*.dsw -/samples/shaped/vc_msw -/samples/shaped/vc_mswd -/samples/shaped/vc_mswu -/samples/shaped/vc_mswud -/samples/shaped/vc_mswdll -/samples/shaped/vc_mswddll -/samples/shaped/vc_mswudll -/samples/shaped/vc_mswuddll -/samples/shaped/vc_mswuniv -/samples/shaped/vc_mswunivd -/samples/shaped/vc_mswunivu -/samples/shaped/vc_mswunivud -/samples/shaped/vc_mswunivdll -/samples/shaped/vc_mswunivddll -/samples/shaped/vc_mswunivudll -/samples/shaped/vc_mswunivuddll - -# /samples/sockets/ -/samples/sockets/*.sln -/samples/sockets/*.dsw -/samples/sockets/vc_msw -/samples/sockets/vc_mswd -/samples/sockets/vc_mswu -/samples/sockets/vc_mswud -/samples/sockets/vc_mswdll -/samples/sockets/vc_mswddll -/samples/sockets/vc_mswudll -/samples/sockets/vc_mswuddll -/samples/sockets/vc_mswuniv -/samples/sockets/vc_mswunivd -/samples/sockets/vc_mswunivu -/samples/sockets/vc_mswunivud -/samples/sockets/vc_mswunivdll -/samples/sockets/vc_mswunivddll -/samples/sockets/vc_mswunivudll -/samples/sockets/vc_mswunivuddll - -# /samples/sound/ -/samples/sound/*.sln -/samples/sound/*.dsw -/samples/sound/vc_msw -/samples/sound/vc_mswd -/samples/sound/vc_mswu -/samples/sound/vc_mswud -/samples/sound/vc_mswdll -/samples/sound/vc_mswddll -/samples/sound/vc_mswudll -/samples/sound/vc_mswuddll -/samples/sound/vc_mswuniv -/samples/sound/vc_mswunivd -/samples/sound/vc_mswunivu -/samples/sound/vc_mswunivud -/samples/sound/vc_mswunivdll -/samples/sound/vc_mswunivddll -/samples/sound/vc_mswunivudll -/samples/sound/vc_mswunivuddll - -# /samples/splash/ -/samples/splash/*.sln -/samples/splash/*.dsw -/samples/splash/vc_msw -/samples/splash/vc_mswd -/samples/splash/vc_mswu -/samples/splash/vc_mswud -/samples/splash/vc_mswdll -/samples/splash/vc_mswddll -/samples/splash/vc_mswudll -/samples/splash/vc_mswuddll -/samples/splash/vc_mswuniv -/samples/splash/vc_mswunivd -/samples/splash/vc_mswunivu -/samples/splash/vc_mswunivud -/samples/splash/vc_mswunivdll -/samples/splash/vc_mswunivddll -/samples/splash/vc_mswunivudll -/samples/splash/vc_mswunivuddll - -# /samples/splitter/ -/samples/splitter/*.sln -/samples/splitter/*.dsw -/samples/splitter/vc_msw -/samples/splitter/vc_mswd -/samples/splitter/vc_mswu -/samples/splitter/vc_mswud -/samples/splitter/vc_mswdll -/samples/splitter/vc_mswddll -/samples/splitter/vc_mswudll -/samples/splitter/vc_mswuddll -/samples/splitter/vc_mswuniv -/samples/splitter/vc_mswunivd -/samples/splitter/vc_mswunivu -/samples/splitter/vc_mswunivud -/samples/splitter/vc_mswunivdll -/samples/splitter/vc_mswunivddll -/samples/splitter/vc_mswunivudll -/samples/splitter/vc_mswunivuddll - -# /samples/statbar/ -/samples/statbar/*.sln -/samples/statbar/*.dsw -/samples/statbar/vc_msw -/samples/statbar/vc_mswd -/samples/statbar/vc_mswu -/samples/statbar/vc_mswud -/samples/statbar/vc_mswdll -/samples/statbar/vc_mswddll -/samples/statbar/vc_mswudll -/samples/statbar/vc_mswuddll -/samples/statbar/vc_mswuniv -/samples/statbar/vc_mswunivd -/samples/statbar/vc_mswunivu -/samples/statbar/vc_mswunivud -/samples/statbar/vc_mswunivdll -/samples/statbar/vc_mswunivddll -/samples/statbar/vc_mswunivudll -/samples/statbar/vc_mswunivuddll - -# /samples/stc/ -/samples/stc/*.sln -/samples/stc/*.dsw -/samples/stc/vc_msw -/samples/stc/vc_mswd -/samples/stc/vc_mswu -/samples/stc/vc_mswud -/samples/stc/vc_mswdll -/samples/stc/vc_mswddll -/samples/stc/vc_mswudll -/samples/stc/vc_mswuddll -/samples/stc/vc_mswuniv -/samples/stc/vc_mswunivd -/samples/stc/vc_mswunivu -/samples/stc/vc_mswunivud -/samples/stc/vc_mswunivdll -/samples/stc/vc_mswunivddll -/samples/stc/vc_mswunivudll -/samples/stc/vc_mswunivuddll - -# /samples/svg/ -/samples/svg/*.sln -/samples/svg/*.dsw -/samples/svg/vc_msw -/samples/svg/vc_mswd -/samples/svg/vc_mswu -/samples/svg/vc_mswud -/samples/svg/vc_mswdll -/samples/svg/vc_mswddll -/samples/svg/vc_mswudll -/samples/svg/vc_mswuddll -/samples/svg/vc_mswuniv -/samples/svg/vc_mswunivd -/samples/svg/vc_mswunivu -/samples/svg/vc_mswunivud -/samples/svg/vc_mswunivdll -/samples/svg/vc_mswunivddll -/samples/svg/vc_mswunivudll -/samples/svg/vc_mswunivuddll - -# /samples/svg/bitmaps/ -/samples/svg/bitmaps/*.vcproj -/samples/svg/bitmaps/*.sln -/samples/svg/bitmaps/vc_msw -/samples/svg/bitmaps/vc_mswd -/samples/svg/bitmaps/vc_mswu -/samples/svg/bitmaps/vc_mswud -/samples/svg/bitmaps/vc_mswdll -/samples/svg/bitmaps/vc_mswddll -/samples/svg/bitmaps/vc_mswudll -/samples/svg/bitmaps/vc_mswuddll -/samples/svg/bitmaps/vc_mswuniv -/samples/svg/bitmaps/vc_mswunivd -/samples/svg/bitmaps/vc_mswunivu -/samples/svg/bitmaps/vc_mswunivud -/samples/svg/bitmaps/vc_mswunivdll -/samples/svg/bitmaps/vc_mswunivddll -/samples/svg/bitmaps/vc_mswunivudll -/samples/svg/bitmaps/vc_mswunivuddll - -# /samples/taborder/ -/samples/taborder/*.sln -/samples/taborder/*.dsw -/samples/taborder/vc_msw -/samples/taborder/vc_mswd -/samples/taborder/vc_mswu -/samples/taborder/vc_mswud -/samples/taborder/vc_mswdll -/samples/taborder/vc_mswddll -/samples/taborder/vc_mswudll -/samples/taborder/vc_mswuddll -/samples/taborder/vc_mswuniv -/samples/taborder/vc_mswunivd -/samples/taborder/vc_mswunivu -/samples/taborder/vc_mswunivud -/samples/taborder/vc_mswunivdll -/samples/taborder/vc_mswunivddll -/samples/taborder/vc_mswunivudll -/samples/taborder/vc_mswunivuddll - -# /samples/taskbar/ -/samples/taskbar/*.sln -/samples/taskbar/*.dsw -/samples/taskbar/vc_msw -/samples/taskbar/vc_mswd -/samples/taskbar/vc_mswu -/samples/taskbar/vc_mswud -/samples/taskbar/vc_mswdll -/samples/taskbar/vc_mswddll -/samples/taskbar/vc_mswudll -/samples/taskbar/vc_mswuddll -/samples/taskbar/vc_mswuniv -/samples/taskbar/vc_mswunivd -/samples/taskbar/vc_mswunivu -/samples/taskbar/vc_mswunivud -/samples/taskbar/vc_mswunivdll -/samples/taskbar/vc_mswunivddll -/samples/taskbar/vc_mswunivudll -/samples/taskbar/vc_mswunivuddll - -# /samples/text/ -/samples/text/*.sln -/samples/text/*.dsw -/samples/text/vc_msw -/samples/text/vc_mswd -/samples/text/vc_mswu -/samples/text/vc_mswud -/samples/text/vc_mswdll -/samples/text/vc_mswddll -/samples/text/vc_mswudll -/samples/text/vc_mswuddll -/samples/text/vc_mswuniv -/samples/text/vc_mswunivd -/samples/text/vc_mswunivu -/samples/text/vc_mswunivud -/samples/text/vc_mswunivdll -/samples/text/vc_mswunivddll -/samples/text/vc_mswunivudll -/samples/text/vc_mswunivuddll - -# /samples/thread/ -/samples/thread/*.sln -/samples/thread/*.dsw -/samples/thread/vc_msw -/samples/thread/vc_mswd -/samples/thread/vc_mswu -/samples/thread/vc_mswud -/samples/thread/vc_mswdll -/samples/thread/vc_mswddll -/samples/thread/vc_mswudll -/samples/thread/vc_mswuddll -/samples/thread/vc_mswuniv -/samples/thread/vc_mswunivd -/samples/thread/vc_mswunivu -/samples/thread/vc_mswunivud -/samples/thread/vc_mswunivdll -/samples/thread/vc_mswunivddll -/samples/thread/vc_mswunivudll -/samples/thread/vc_mswunivuddll - -# /samples/toolbar/ -/samples/toolbar/*.sln -/samples/toolbar/*.dsw -/samples/toolbar/vc_msw -/samples/toolbar/vc_mswd -/samples/toolbar/vc_mswu -/samples/toolbar/vc_mswud -/samples/toolbar/vc_mswdll -/samples/toolbar/vc_mswddll -/samples/toolbar/vc_mswudll -/samples/toolbar/vc_mswuddll -/samples/toolbar/vc_mswuniv -/samples/toolbar/vc_mswunivd -/samples/toolbar/vc_mswunivu -/samples/toolbar/vc_mswunivud -/samples/toolbar/vc_mswunivdll -/samples/toolbar/vc_mswunivddll -/samples/toolbar/vc_mswunivudll -/samples/toolbar/vc_mswunivuddll - -# /samples/toolbar/bitmaps/ -/samples/toolbar/bitmaps/*.vcproj -/samples/toolbar/bitmaps/*.sln -/samples/toolbar/bitmaps/vc_msw -/samples/toolbar/bitmaps/vc_mswd -/samples/toolbar/bitmaps/vc_mswu -/samples/toolbar/bitmaps/vc_mswud -/samples/toolbar/bitmaps/vc_mswdll -/samples/toolbar/bitmaps/vc_mswddll -/samples/toolbar/bitmaps/vc_mswudll -/samples/toolbar/bitmaps/vc_mswuddll -/samples/toolbar/bitmaps/vc_mswuniv -/samples/toolbar/bitmaps/vc_mswunivd -/samples/toolbar/bitmaps/vc_mswunivu -/samples/toolbar/bitmaps/vc_mswunivud -/samples/toolbar/bitmaps/vc_mswunivdll -/samples/toolbar/bitmaps/vc_mswunivddll -/samples/toolbar/bitmaps/vc_mswunivudll -/samples/toolbar/bitmaps/vc_mswunivuddll - -# /samples/treectrl/ -/samples/treectrl/*.sln -/samples/treectrl/*.dsw -/samples/treectrl/vc_msw -/samples/treectrl/vc_mswd -/samples/treectrl/vc_mswu -/samples/treectrl/vc_mswud -/samples/treectrl/vc_mswdll -/samples/treectrl/vc_mswddll -/samples/treectrl/vc_mswudll -/samples/treectrl/vc_mswuddll -/samples/treectrl/vc_mswuniv -/samples/treectrl/vc_mswunivd -/samples/treectrl/vc_mswunivu -/samples/treectrl/vc_mswunivud -/samples/treectrl/vc_mswunivdll -/samples/treectrl/vc_mswunivddll -/samples/treectrl/vc_mswunivudll -/samples/treectrl/vc_mswunivuddll - -# /samples/typetest/ -/samples/typetest/*.sln -/samples/typetest/*.dsw -/samples/typetest/vc_msw -/samples/typetest/vc_mswd -/samples/typetest/vc_mswu -/samples/typetest/vc_mswud -/samples/typetest/vc_mswdll -/samples/typetest/vc_mswddll -/samples/typetest/vc_mswudll -/samples/typetest/vc_mswuddll -/samples/typetest/vc_mswuniv -/samples/typetest/vc_mswunivd -/samples/typetest/vc_mswunivu -/samples/typetest/vc_mswunivud -/samples/typetest/vc_mswunivdll -/samples/typetest/vc_mswunivddll -/samples/typetest/vc_mswunivudll -/samples/typetest/vc_mswunivuddll - -# /samples/validate/ -/samples/validate/*.sln -/samples/validate/*.dsw -/samples/validate/vc_msw -/samples/validate/vc_mswd -/samples/validate/vc_mswu -/samples/validate/vc_mswud -/samples/validate/vc_mswdll -/samples/validate/vc_mswddll -/samples/validate/vc_mswudll -/samples/validate/vc_mswuddll -/samples/validate/vc_mswuniv -/samples/validate/vc_mswunivd -/samples/validate/vc_mswunivu -/samples/validate/vc_mswunivud -/samples/validate/vc_mswunivdll -/samples/validate/vc_mswunivddll -/samples/validate/vc_mswunivudll -/samples/validate/vc_mswunivuddll - -# /samples/vscroll/ -/samples/vscroll/*.sln -/samples/vscroll/*.dsw -/samples/vscroll/vc_msw -/samples/vscroll/vc_mswd -/samples/vscroll/vc_mswu -/samples/vscroll/vc_mswud -/samples/vscroll/vc_mswdll -/samples/vscroll/vc_mswddll -/samples/vscroll/vc_mswudll -/samples/vscroll/vc_mswuddll -/samples/vscroll/vc_mswuniv -/samples/vscroll/vc_mswunivd -/samples/vscroll/vc_mswunivu -/samples/vscroll/vc_mswunivud -/samples/vscroll/vc_mswunivdll -/samples/vscroll/vc_mswunivddll -/samples/vscroll/vc_mswunivudll -/samples/vscroll/vc_mswunivuddll - -# /samples/widgets/ -/samples/widgets/*.sln -/samples/widgets/*.dsw -/samples/widgets/vc_msw -/samples/widgets/vc_mswd -/samples/widgets/vc_mswu -/samples/widgets/vc_mswud -/samples/widgets/vc_mswdll -/samples/widgets/vc_mswddll -/samples/widgets/vc_mswudll -/samples/widgets/vc_mswuddll -/samples/widgets/vc_mswuniv -/samples/widgets/vc_mswunivd -/samples/widgets/vc_mswunivu -/samples/widgets/vc_mswunivud -/samples/widgets/vc_mswunivdll -/samples/widgets/vc_mswunivddll -/samples/widgets/vc_mswunivudll -/samples/widgets/vc_mswunivuddll - -# /samples/widgets/icons/ -/samples/widgets/icons/*.vcproj -/samples/widgets/icons/*.sln -/samples/widgets/icons/vc_msw -/samples/widgets/icons/vc_mswd -/samples/widgets/icons/vc_mswu -/samples/widgets/icons/vc_mswud -/samples/widgets/icons/vc_mswdll -/samples/widgets/icons/vc_mswddll -/samples/widgets/icons/vc_mswudll -/samples/widgets/icons/vc_mswuddll -/samples/widgets/icons/vc_mswuniv -/samples/widgets/icons/vc_mswunivd -/samples/widgets/icons/vc_mswunivu -/samples/widgets/icons/vc_mswunivud -/samples/widgets/icons/vc_mswunivdll -/samples/widgets/icons/vc_mswunivddll -/samples/widgets/icons/vc_mswunivudll -/samples/widgets/icons/vc_mswunivuddll - -# /samples/wizard/ -/samples/wizard/*.sln -/samples/wizard/*.dsw -/samples/wizard/vc_msw -/samples/wizard/vc_mswd -/samples/wizard/vc_mswu -/samples/wizard/vc_mswud -/samples/wizard/vc_mswdll -/samples/wizard/vc_mswddll -/samples/wizard/vc_mswudll -/samples/wizard/vc_mswuddll -/samples/wizard/vc_mswuniv -/samples/wizard/vc_mswunivd -/samples/wizard/vc_mswunivu -/samples/wizard/vc_mswunivud -/samples/wizard/vc_mswunivdll -/samples/wizard/vc_mswunivddll -/samples/wizard/vc_mswunivudll -/samples/wizard/vc_mswunivuddll - -# /samples/wrapsizer/ -/samples/wrapsizer/*.sln -/samples/wrapsizer/*.dsw - -# /samples/xrc/ -/samples/xrc/*.sln -/samples/xrc/*.dsw -/samples/xrc/vc_msw -/samples/xrc/vc_mswd -/samples/xrc/vc_mswu -/samples/xrc/vc_mswud -/samples/xrc/vc_mswdll -/samples/xrc/vc_mswddll -/samples/xrc/vc_mswudll -/samples/xrc/vc_mswuddll -/samples/xrc/vc_mswuniv -/samples/xrc/vc_mswunivd -/samples/xrc/vc_mswunivu -/samples/xrc/vc_mswunivud -/samples/xrc/vc_mswunivdll -/samples/xrc/vc_mswunivddll -/samples/xrc/vc_mswunivudll -/samples/xrc/vc_mswunivuddll - -# /samples/xrc/rc/ -/samples/xrc/rc/*.vcproj -/samples/xrc/rc/*.sln -/samples/xrc/rc/vc_msw -/samples/xrc/rc/vc_mswd -/samples/xrc/rc/vc_mswu -/samples/xrc/rc/vc_mswud -/samples/xrc/rc/vc_mswdll -/samples/xrc/rc/vc_mswddll -/samples/xrc/rc/vc_mswudll -/samples/xrc/rc/vc_mswuddll -/samples/xrc/rc/vc_mswuniv -/samples/xrc/rc/vc_mswunivd -/samples/xrc/rc/vc_mswunivu -/samples/xrc/rc/vc_mswunivud -/samples/xrc/rc/vc_mswunivdll -/samples/xrc/rc/vc_mswunivddll -/samples/xrc/rc/vc_mswunivudll -/samples/xrc/rc/vc_mswunivuddll # /src/ /src/FreeBSD @@ -2463,7 +312,6 @@ /src/wxwindowsM*Data /src/wxwindowsM5.mcp /src/build -/src/.DS_Store /src/*.ncb /src/*.opt /src/*.plg @@ -2493,16 +341,6 @@ # /src/msw/ /src/msw/Makefile.in -# /src/png/arm/ - -# /src/png/projects/owatcom/ - -# /src/png/projects/vstudio/pnglibconf/ - -# /src/png/projects/vstudio/pngstest/ - -# /src/png/projects/vstudio/pngvalid/ - # /src/regex/ /src/regex/Debug /src/regex/Release @@ -2517,14 +355,38 @@ # /tests/ /tests/*.sln /tests/*.dsw -/tests/vc*_msw -/tests/vc*_mswd -/tests/vc*_mswu -/tests/vc*_mswud -/tests/vc*_mswdll -/tests/vc*_mswddll -/tests/vc*_mswudll -/tests/vc*_mswuddll +/tests/vc_msw +/tests/vc_msw_x64 +/tests/vc_mswd +/tests/vc_mswd_x64 +/tests/vc_mswu +/tests/vc_mswu_x64 +/tests/vc_mswud +/tests/vc_mswud_x64 +/tests/vc_mswdll +/tests/vc_mswdll_x64 +/tests/vc_mswddll +/tests/vc_mswddll_x64 +/tests/vc_mswudll +/tests/vc_mswudll_x64 +/tests/vc_mswuddll +/tests/vc_mswuddll_x64 +/tests/vc_mswuniv +/tests/vc_mswuniv_x64 +/tests/vc_mswunivd +/tests/vc_mswunivd_x64 +/tests/vc_mswunivu +/tests/vc_mswunivu_x64 +/tests/vc_mswunivud +/tests/vc_mswunivud_x64 +/tests/vc_mswunivdll +/tests/vc_mswunivdll_x64 +/tests/vc_mswunivddll +/tests/vc_mswunivddll_x64 +/tests/vc_mswunivudll +/tests/vc_mswunivudll_x64 +/tests/vc_mswunivuddll +/tests/vc_mswunivuddll_x64 /tests/test_test.dsw /tests/test.opt /tests/test.sln @@ -2535,6 +397,16 @@ /tests/benchmarks/*.sln /tests/benchmarks/*.dsw +# /utils/ +/utils/**/vc_mswu +/utils/**/vc_mswu_x64 +/utils/**/vc_mswud +/utils/**/vc_mswud_x64 +/utils/**/vc_mswudll +/utils/**/vc_mswudll_x64 +/utils/**/vc_mswuddll +/utils/**/vc_mswuddll_x64 + # /utils/emulator/src/ /utils/emulator/src/*.sln /utils/emulator/src/*.dsw diff --git a/Makefile.in b/Makefile.in index 071a2e10d2..463d623fdc 100644 --- a/Makefile.in +++ b/Makefile.in @@ -711,12 +711,12 @@ ALL_PORTS_BASE_HEADERS = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ wx/unix/mimetype.h \ wx/unix/fswatcher_inotify.h \ + wx/unix/stdpaths.h \ wx/msw/apptrait.h \ wx/msw/apptbase.h \ wx/msw/chkconf.h \ @@ -850,7 +850,6 @@ ALL_BASE_SOURCES = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -858,6 +857,7 @@ ALL_BASE_SOURCES = \ src/unix/fswatcher_kqueue.cpp \ src/unix/mimetype.cpp \ src/unix/fswatcher_inotify.cpp \ + src/unix/stdpaths.cpp \ src/msw/basemsw.cpp \ src/msw/crashrpt.cpp \ src/msw/debughlp.cpp \ @@ -884,8 +884,11 @@ ALL_BASE_SOURCES = \ src/common/utilscmn.cpp \ src/osx/carbon/utils.cpp \ src/osx/carbon/uma.cpp \ + src/unix/stdpaths.cpp \ + src/osx/core/stdpaths_cf.cpp \ src/osx/cocoa/utils.mm \ src/osx/cocoa/power.mm \ + src/osx/cocoa/stdpaths.mm \ src/msw/main.cpp \ src/msw/volume.cpp \ src/common/fs_inet.cpp \ @@ -1883,7 +1886,8 @@ AUIDLL_OBJECTS = \ auidll_tabart.o \ auidll_xh_auinotbk.o \ auidll_xh_auitoolb.o \ - $(__AUI_GTK_SRC_OBJECTS_2) + $(__AUI_GTK_SRC_OBJECTS_2) \ + $(__AUI_PLATFORM_SRC_OBJECTS_2) AUIDLL_ODEP = $(_____pch_wxprec_auidll_wx_wxprec_h_gch___depname) AUILIB_CXXFLAGS = $(__auilib_PCH_INC) -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \ $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \ @@ -1900,7 +1904,8 @@ AUILIB_OBJECTS = \ auilib_tabart.o \ auilib_xh_auinotbk.o \ auilib_xh_auitoolb.o \ - $(__AUI_GTK_SRC_OBJECTS_3) + $(__AUI_GTK_SRC_OBJECTS_3) \ + $(__AUI_PLATFORM_SRC_OBJECTS_3) AUILIB_ODEP = $(_____pch_wxprec_auilib_wx_wxprec_h_gch___depname) RIBBONDLL_CXXFLAGS = $(__ribbondll_PCH_INC) -D__WX$(TOOLKIT)__ \ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \ @@ -2226,11 +2231,11 @@ COND_TOOLKIT_MSW_WEBVIEW_HDR_PLATFORM = \ @COND_TOOLKIT_Qt@OPENGL_HDR_PLATFORM = wx/qt/glcanvas.h @COND_TOOLKIT_X11@OPENGL_HDR_PLATFORM = wx/x11/glcanvas.h wx/unix/glx11.h @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@AUI_GTK_HDR = wx/aui/tabartgtk.h +@COND_TOOLKIT_MSW@AUI_PLATFORM_HDR = wx/aui/tabartmsw.h COND_TOOLKIT_OSX_CARBON_BASE_OSX_SRC = \ src/osx/core/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp \ src/common/fdiodispatcher.cpp \ @@ -2243,7 +2248,6 @@ COND_TOOLKIT_OSX_CARBON_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2255,7 +2259,6 @@ COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \ src/osx/core/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp \ src/common/fdiodispatcher.cpp \ @@ -2268,7 +2271,6 @@ COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2280,7 +2282,6 @@ COND_TOOLKIT_OSX_IPHONE_BASE_OSX_SRC = \ src/osx/core/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp \ src/common/fdiodispatcher.cpp \ @@ -2293,7 +2294,6 @@ COND_TOOLKIT_OSX_IPHONE_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2312,7 +2312,6 @@ COND_TOOLKIT_COCOA_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2321,7 +2320,6 @@ COND_TOOLKIT_COCOA_BASE_OSX_SRC = \ src/unix/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp @COND_TOOLKIT_COCOA@BASE_OSX_SRC = $(COND_TOOLKIT_COCOA_BASE_OSX_SRC) @@ -2336,7 +2334,6 @@ COND_TOOLKIT_GTK_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2345,7 +2342,6 @@ COND_TOOLKIT_GTK_BASE_OSX_SRC = \ src/unix/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp @COND_TOOLKIT_GTK@BASE_OSX_SRC = $(COND_TOOLKIT_GTK_BASE_OSX_SRC) @@ -2360,7 +2356,6 @@ COND_TOOLKIT_X11_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2369,7 +2364,6 @@ COND_TOOLKIT_X11_BASE_OSX_SRC = \ src/unix/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp @COND_TOOLKIT_X11@BASE_OSX_SRC = $(COND_TOOLKIT_X11_BASE_OSX_SRC) @@ -2384,7 +2378,6 @@ COND_TOOLKIT_MOTIF_BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2393,7 +2386,6 @@ COND_TOOLKIT_MOTIF_BASE_OSX_SRC = \ src/unix/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp @COND_TOOLKIT_MOTIF@BASE_OSX_SRC = $(COND_TOOLKIT_MOTIF_BASE_OSX_SRC) @@ -2408,7 +2400,6 @@ COND_TOOLKIT__BASE_OSX_SRC = \ src/unix/fdiounix.cpp \ src/unix/snglinst.cpp \ src/unix/stackwalk.cpp \ - src/unix/stdpaths.cpp \ src/unix/timerunx.cpp \ src/unix/threadpsx.cpp \ src/unix/utilsunx.cpp \ @@ -2417,7 +2408,6 @@ COND_TOOLKIT__BASE_OSX_SRC = \ src/unix/mimetype.cpp \ src/osx/core/cfstring.cpp \ src/osx/core/evtloop_cf.cpp \ - src/osx/core/stdpaths_cf.cpp \ src/osx/core/strconv_cf.cpp \ src/osx/core/utilsexc_base.cpp @COND_TOOLKIT_@BASE_OSX_SRC = $(COND_TOOLKIT__BASE_OSX_SRC) @@ -2437,7 +2427,6 @@ COND_TOOLKIT_OSX_CARBON_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2459,7 +2448,6 @@ COND_TOOLKIT_OSX_COCOA_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2473,7 +2461,6 @@ COND_TOOLKIT_COCOA_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2495,7 +2482,6 @@ COND_TOOLKIT_GTK_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2517,7 +2503,6 @@ COND_TOOLKIT_X11_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2539,7 +2524,6 @@ COND_TOOLKIT_MOTIF_BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2561,7 +2545,6 @@ COND_TOOLKIT__BASE_OSX_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ @@ -2584,12 +2567,12 @@ COND_PLATFORM_UNIX_1_BASE_PLATFORM_HDR = \ wx/unix/evtloop.h \ wx/unix/evtloopsrc.h \ wx/unix/pipe.h \ - wx/unix/stdpaths.h \ wx/unix/stackwalk.h \ wx/unix/tls.h \ wx/unix/fswatcher_kqueue.h \ wx/unix/mimetype.h \ - wx/unix/fswatcher_inotify.h + wx/unix/fswatcher_inotify.h \ + wx/unix/stdpaths.h @COND_PLATFORM_UNIX_1@BASE_PLATFORM_HDR = $(COND_PLATFORM_UNIX_1_BASE_PLATFORM_HDR) COND_PLATFORM_WIN32_1_BASE_PLATFORM_HDR = \ wx/msw/apptrait.h \ @@ -4247,6 +4230,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/xrc/xh_auinotbk.h \ wx/xrc/xh_auitoolb.h \ $(AUI_GTK_HDR) \ + $(AUI_PLATFORM_HDR) \ wx/propgrid/advprops.h \ wx/propgrid/editors.h \ wx/propgrid/manager.h \ @@ -4365,7 +4349,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS = \ monodll_core_mimetype.o \ monodll_cfstring.o \ monodll_evtloop_cf.o \ - monodll_stdpaths_cf.o \ monodll_strconv_cf.o \ monodll_utilsexc_base.o \ monodll_fdiodispatcher.o \ @@ -4378,7 +4361,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS = \ monodll_fdiounix.o \ monodll_unix_snglinst.o \ monodll_unix_stackwalk.o \ - monodll_unix_stdpaths.o \ monodll_timerunx.o \ monodll_threadpsx.o \ monodll_utilsunx.o \ @@ -4397,14 +4379,14 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS = \ monodll_fdiounix.o \ monodll_unix_snglinst.o \ monodll_unix_stackwalk.o \ - monodll_unix_stdpaths.o \ monodll_timerunx.o \ monodll_threadpsx.o \ monodll_utilsunx.o \ monodll_wakeuppipe.o \ monodll_fswatcher_kqueue.o \ monodll_unix_mimetype.o \ - monodll_fswatcher_inotify.o + monodll_fswatcher_inotify.o \ + monodll_unix_stdpaths.o @COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS) COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \ monodll_basemsw.o \ @@ -4429,10 +4411,15 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS = \ @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS) @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS \ @COND_PLATFORM_WIN32_1@ = monodll_msw_main.o monodll_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS \ -@COND_TOOLKIT_OSX_CARBON@ = monodll_carbon_utils.o monodll_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS = \ + monodll_carbon_utils.o \ + monodll_uma.o \ + monodll_unix_stdpaths.o \ + monodll_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS \ -@COND_TOOLKIT_OSX_COCOA@ = monodll_osx_cocoa_utils.o monodll_cocoa_power.o +@COND_TOOLKIT_OSX_COCOA@ = monodll_osx_cocoa_utils.o monodll_cocoa_power.o \ +@COND_TOOLKIT_OSX_COCOA@ monodll_cocoa_stdpaths.o @COND_PLATFORM_MACOSX_1@__NET_PLATFORM_SRC_OBJECTS \ @COND_PLATFORM_MACOSX_1@ = monodll_socketiohandler.o monodll_sockunix.o \ @COND_PLATFORM_MACOSX_1@ monodll_sockosx.o @@ -4554,6 +4541,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \ monodll_xh_auinotbk.o \ monodll_xh_auitoolb.o \ $(__AUI_GTK_SRC_OBJECTS) \ + $(__AUI_PLATFORM_SRC_OBJECTS) \ monodll_advprops.o \ monodll_editors.o \ monodll_manager.o \ @@ -5397,7 +5385,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS = \ monodll_src_cocoa_radiobut.o \ monodll_cocoa_region.o \ monodll_src_cocoa_scrolbar.o \ - monodll_cocoa_settings.o \ + monodll_src_cocoa_settings.o \ monodll_src_cocoa_slider.o \ monodll_cocoa_sound.o \ monodll_src_cocoa_spinbutt.o \ @@ -5757,7 +5745,8 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS = \ monodll_carbon_tglbtn.o \ monodll_carbon_toolbar.o \ monodll_carbon_tooltip.o \ - monodll_carbon_window.o + monodll_carbon_window.o \ + monodll_carbon_settings.o @COND_TOOLKIT_OSX_CARBON@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS) COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS) \ @@ -5795,7 +5784,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS = \ monodll_cocoa_tglbtn.o \ monodll_osx_cocoa_toolbar.o \ monodll_osx_cocoa_tooltip.o \ - monodll_osx_cocoa_window.o + monodll_osx_cocoa_window.o \ + monodll_osx_cocoa_settings.o @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS) COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS) \ @@ -6505,6 +6495,7 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_1 = \ @COND_TOOLKIT_MSW@__WEBVIEW_SRC_PLATFORM_OBJECTS = monodll_webview_ie.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__AUI_GTK_SRC_OBJECTS \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monodll_tabartgtk.o +@COND_TOOLKIT_MSW@__AUI_PLATFORM_SRC_OBJECTS = monodll_tabartmsw.o @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS \ @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@ = monodll_sound_sdl.o @COND_PLATFORM_WIN32_1@__monodll___win32rc = monodll_version_rc.o @@ -6527,7 +6518,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ monolib_core_mimetype.o \ monolib_cfstring.o \ monolib_evtloop_cf.o \ - monolib_stdpaths_cf.o \ monolib_strconv_cf.o \ monolib_utilsexc_base.o \ monolib_fdiodispatcher.o \ @@ -6540,7 +6530,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ monolib_fdiounix.o \ monolib_unix_snglinst.o \ monolib_unix_stackwalk.o \ - monolib_unix_stdpaths.o \ monolib_timerunx.o \ monolib_threadpsx.o \ monolib_utilsunx.o \ @@ -6559,14 +6548,14 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ monolib_fdiounix.o \ monolib_unix_snglinst.o \ monolib_unix_stackwalk.o \ - monolib_unix_stdpaths.o \ monolib_timerunx.o \ monolib_threadpsx.o \ monolib_utilsunx.o \ monolib_wakeuppipe.o \ monolib_fswatcher_kqueue.o \ monolib_unix_mimetype.o \ - monolib_fswatcher_inotify.o + monolib_fswatcher_inotify.o \ + monolib_unix_stdpaths.o @COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1) COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ monolib_basemsw.o \ @@ -6591,10 +6580,15 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1 = \ @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_1) @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_1 \ @COND_PLATFORM_WIN32_1@ = monolib_msw_main.o monolib_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1 \ -@COND_TOOLKIT_OSX_CARBON@ = monolib_carbon_utils.o monolib_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1 = \ + monolib_carbon_utils.o \ + monolib_uma.o \ + monolib_unix_stdpaths.o \ + monolib_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_1 \ -@COND_TOOLKIT_OSX_COCOA@ = monolib_osx_cocoa_utils.o monolib_cocoa_power.o +@COND_TOOLKIT_OSX_COCOA@ = monolib_osx_cocoa_utils.o monolib_cocoa_power.o \ +@COND_TOOLKIT_OSX_COCOA@ monolib_cocoa_stdpaths.o @COND_PLATFORM_MACOSX_1@__NET_PLATFORM_SRC_OBJECTS_1 \ @COND_PLATFORM_MACOSX_1@ = monolib_socketiohandler.o monolib_sockunix.o \ @COND_PLATFORM_MACOSX_1@ monolib_sockosx.o @@ -6716,6 +6710,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \ monolib_xh_auinotbk.o \ monolib_xh_auitoolb.o \ $(__AUI_GTK_SRC_OBJECTS_1) \ + $(__AUI_PLATFORM_SRC_OBJECTS_1) \ monolib_advprops.o \ monolib_editors.o \ monolib_manager.o \ @@ -7559,7 +7554,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_1 = \ monolib_src_cocoa_radiobut.o \ monolib_cocoa_region.o \ monolib_src_cocoa_scrolbar.o \ - monolib_cocoa_settings.o \ + monolib_src_cocoa_settings.o \ monolib_src_cocoa_slider.o \ monolib_cocoa_sound.o \ monolib_src_cocoa_spinbutt.o \ @@ -7919,7 +7914,8 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_1 = \ monolib_carbon_tglbtn.o \ monolib_carbon_toolbar.o \ monolib_carbon_tooltip.o \ - monolib_carbon_window.o + monolib_carbon_window.o \ + monolib_carbon_settings.o @COND_TOOLKIT_OSX_CARBON@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_1) COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_12) \ @@ -7957,7 +7953,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1 = \ monolib_cocoa_tglbtn.o \ monolib_osx_cocoa_toolbar.o \ monolib_osx_cocoa_tooltip.o \ - monolib_osx_cocoa_window.o + monolib_osx_cocoa_window.o \ + monolib_osx_cocoa_settings.o @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_1 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_1) COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_1 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_12) \ @@ -8669,6 +8666,7 @@ COND_TOOLKIT_X11___ADVANCED_PLATFORM_SRC_OBJECTS_3 = \ @COND_TOOLKIT_MSW@__WEBVIEW_SRC_PLATFORM_OBJECTS_1 = monolib_webview_ie.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__AUI_GTK_SRC_OBJECTS_1 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = monolib_tabartgtk.o +@COND_TOOLKIT_MSW@__AUI_PLATFORM_SRC_OBJECTS_1 = monolib_tabartmsw.o @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@__PLUGIN_ADV_SRC_OBJECTS_1 \ @COND_PLATFORM_UNIX_1_USE_PLUGINS_0@ = monolib_sound_sdl.o COND_MONOLITHIC_0_SHARED_1___basedll___depname = \ @@ -8742,7 +8740,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ basedll_core_mimetype.o \ basedll_cfstring.o \ basedll_evtloop_cf.o \ - basedll_stdpaths_cf.o \ basedll_strconv_cf.o \ basedll_utilsexc_base.o \ basedll_fdiodispatcher.o \ @@ -8755,7 +8752,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ basedll_fdiounix.o \ basedll_unix_snglinst.o \ basedll_unix_stackwalk.o \ - basedll_unix_stdpaths.o \ basedll_timerunx.o \ basedll_threadpsx.o \ basedll_utilsunx.o \ @@ -8774,14 +8770,14 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ basedll_fdiounix.o \ basedll_unix_snglinst.o \ basedll_unix_stackwalk.o \ - basedll_unix_stdpaths.o \ basedll_timerunx.o \ basedll_threadpsx.o \ basedll_utilsunx.o \ basedll_wakeuppipe.o \ basedll_fswatcher_kqueue.o \ basedll_unix_mimetype.o \ - basedll_fswatcher_inotify.o + basedll_fswatcher_inotify.o \ + basedll_unix_stdpaths.o @COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2) COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ basedll_basemsw.o \ @@ -8806,10 +8802,15 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2 = \ @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_2) @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_2 \ @COND_PLATFORM_WIN32_1@ = basedll_main.o basedll_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2 \ -@COND_TOOLKIT_OSX_CARBON@ = basedll_carbon_utils.o basedll_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2 = \ + basedll_carbon_utils.o \ + basedll_uma.o \ + basedll_unix_stdpaths.o \ + basedll_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_2 \ -@COND_TOOLKIT_OSX_COCOA@ = basedll_cocoa_utils.o basedll_cocoa_power.o +@COND_TOOLKIT_OSX_COCOA@ = basedll_cocoa_utils.o basedll_cocoa_power.o \ +@COND_TOOLKIT_OSX_COCOA@ basedll_cocoa_stdpaths.o COND_MONOLITHIC_0_SHARED_0___baselib___depname = \ $(LIBDIRNAME)/$(LIBPREFIX)wx_base$(WXBASEPORT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) @COND_MONOLITHIC_0_SHARED_0@__baselib___depname = $(COND_MONOLITHIC_0_SHARED_0___baselib___depname) @@ -8825,7 +8826,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ baselib_core_mimetype.o \ baselib_cfstring.o \ baselib_evtloop_cf.o \ - baselib_stdpaths_cf.o \ baselib_strconv_cf.o \ baselib_utilsexc_base.o \ baselib_fdiodispatcher.o \ @@ -8838,7 +8838,6 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ baselib_fdiounix.o \ baselib_unix_snglinst.o \ baselib_unix_stackwalk.o \ - baselib_unix_stdpaths.o \ baselib_timerunx.o \ baselib_threadpsx.o \ baselib_utilsunx.o \ @@ -8857,14 +8856,14 @@ COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ baselib_fdiounix.o \ baselib_unix_snglinst.o \ baselib_unix_stackwalk.o \ - baselib_unix_stdpaths.o \ baselib_timerunx.o \ baselib_threadpsx.o \ baselib_utilsunx.o \ baselib_wakeuppipe.o \ baselib_fswatcher_kqueue.o \ baselib_unix_mimetype.o \ - baselib_fswatcher_inotify.o + baselib_fswatcher_inotify.o \ + baselib_unix_stdpaths.o @COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3) COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ baselib_basemsw.o \ @@ -8889,10 +8888,15 @@ COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3 = \ @COND_PLATFORM_WIN32_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_WIN32_1___BASE_PLATFORM_SRC_OBJECTS_3) @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_3 \ @COND_PLATFORM_WIN32_1@ = baselib_main.o baselib_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3 \ -@COND_TOOLKIT_OSX_CARBON@ = baselib_carbon_utils.o baselib_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3 = \ + baselib_carbon_utils.o \ + baselib_uma.o \ + baselib_unix_stdpaths.o \ + baselib_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_3 \ -@COND_TOOLKIT_OSX_COCOA@ = baselib_cocoa_utils.o baselib_cocoa_power.o +@COND_TOOLKIT_OSX_COCOA@ = baselib_cocoa_utils.o baselib_cocoa_power.o \ +@COND_TOOLKIT_OSX_COCOA@ baselib_cocoa_stdpaths.o @COND_SHARED_1@____wxbase_namedll_DEP = $(__basedll___depname) @COND_SHARED_0@____wxbase_namelib_DEP = $(__baselib___depname) COND_MONOLITHIC_0_SHARED_1___netdll___depname = \ @@ -9056,10 +9060,15 @@ COND_USE_SOVERSOLARIS_1___coredll___so_symlinks_uninst_cmd = rm -f \ @COND_PLATFORM_WIN32_1@__coredll___win32rc = coredll_version_rc.o @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_4 \ @COND_PLATFORM_WIN32_1@ = coredll_msw_main.o coredll_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4 \ -@COND_TOOLKIT_OSX_CARBON@ = coredll_carbon_utils.o coredll_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4 = \ + coredll_carbon_utils.o \ + coredll_uma.o \ + coredll_unix_stdpaths.o \ + coredll_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4 = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_4 \ -@COND_TOOLKIT_OSX_COCOA@ = coredll_osx_cocoa_utils.o coredll_power.o +@COND_TOOLKIT_OSX_COCOA@ = coredll_osx_cocoa_utils.o coredll_power.o \ +@COND_TOOLKIT_OSX_COCOA@ coredll_cocoa_stdpaths.o COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_2 = \ $(__LOWLEVEL_SRC_OBJECTS_4) \ $(__PLATFORM_SRC_OBJECTS_8) \ @@ -9869,7 +9878,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_2 = \ coredll_src_cocoa_radiobut.o \ coredll_cocoa_region.o \ coredll_src_cocoa_scrolbar.o \ - coredll_cocoa_settings.o \ + coredll_src_cocoa_settings.o \ coredll_src_cocoa_slider.o \ coredll_sound.o \ coredll_src_cocoa_spinbutt.o \ @@ -10229,7 +10238,8 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_2 = \ coredll_carbon_tglbtn.o \ coredll_carbon_toolbar.o \ coredll_carbon_tooltip.o \ - coredll_carbon_window.o + coredll_carbon_window.o \ + coredll_carbon_settings.o @COND_TOOLKIT_OSX_CARBON@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_2) COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_14) \ @@ -10267,7 +10277,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2 = \ coredll_cocoa_tglbtn.o \ coredll_osx_cocoa_toolbar.o \ coredll_osx_cocoa_tooltip.o \ - coredll_osx_cocoa_window.o + coredll_osx_cocoa_window.o \ + coredll_osx_cocoa_settings.o @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_2 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_2) COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_2 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_14) \ @@ -10661,10 +10672,15 @@ COND_MONOLITHIC_0_SHARED_0_USE_GUI_1___corelib___depname = \ @COND_USE_PCH_1@ = ./.pch/wxprec_corelib/wx/wxprec.h.gch @COND_PLATFORM_WIN32_1@__BASE_AND_GUI_PLATFORM_SRC_OBJECTS_5 \ @COND_PLATFORM_WIN32_1@ = corelib_msw_main.o corelib_volume.o -@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5 \ -@COND_TOOLKIT_OSX_CARBON@ = corelib_carbon_utils.o corelib_uma.o +COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5 = \ + corelib_carbon_utils.o \ + corelib_uma.o \ + corelib_unix_stdpaths.o \ + corelib_stdpaths_cf.o +@COND_TOOLKIT_OSX_CARBON@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5 = $(COND_TOOLKIT_OSX_CARBON___BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5) @COND_TOOLKIT_OSX_COCOA@__BASE_AND_GUI_TOOLKIT_SRC_OBJECTS_5 \ -@COND_TOOLKIT_OSX_COCOA@ = corelib_osx_cocoa_utils.o corelib_power.o +@COND_TOOLKIT_OSX_COCOA@ = corelib_osx_cocoa_utils.o corelib_power.o \ +@COND_TOOLKIT_OSX_COCOA@ corelib_cocoa_stdpaths.o COND_USE_GUI_1_WXUNIV_0___CORE_SRC_OBJECTS_3 = \ $(__LOWLEVEL_SRC_OBJECTS_6) \ $(__PLATFORM_SRC_OBJECTS_9) \ @@ -11474,7 +11490,7 @@ COND_TOOLKIT_COCOA___GUI_SRC_OBJECTS_3 = \ corelib_src_cocoa_radiobut.o \ corelib_cocoa_region.o \ corelib_src_cocoa_scrolbar.o \ - corelib_cocoa_settings.o \ + corelib_src_cocoa_settings.o \ corelib_src_cocoa_slider.o \ corelib_sound.o \ corelib_src_cocoa_spinbutt.o \ @@ -11834,7 +11850,8 @@ COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_3 = \ corelib_carbon_tglbtn.o \ corelib_carbon_toolbar.o \ corelib_carbon_tooltip.o \ - corelib_carbon_window.o + corelib_carbon_window.o \ + corelib_carbon_settings.o @COND_TOOLKIT_OSX_CARBON@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_CARBON___GUI_SRC_OBJECTS_3) COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_1_0) \ @@ -11872,7 +11889,8 @@ COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3 = \ corelib_cocoa_tglbtn.o \ corelib_osx_cocoa_toolbar.o \ corelib_osx_cocoa_tooltip.o \ - corelib_osx_cocoa_window.o + corelib_osx_cocoa_window.o \ + corelib_osx_cocoa_settings.o @COND_TOOLKIT_OSX_COCOA@__GUI_SRC_OBJECTS_3 = $(COND_TOOLKIT_OSX_COCOA___GUI_SRC_OBJECTS_3) COND_TOOLKIT_OSX_IPHONE___GUI_SRC_OBJECTS_3 = \ $(__OSX_CARBON_COCOA_SRC_OBJECTS_1_0) \ @@ -13565,6 +13583,7 @@ COND_USE_SOVERSOLARIS_1___auidll___so_symlinks_uninst_cmd = rm -f \ @COND_PLATFORM_WIN32_1@__auidll___win32rc = auidll_version_rc.o @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__AUI_GTK_SRC_OBJECTS_2 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = auidll_tabartgtk.o +@COND_TOOLKIT_MSW@__AUI_PLATFORM_SRC_OBJECTS_2 = auidll_tabartmsw.o COND_MONOLITHIC_0_SHARED_0_USE_AUI_1___auilib___depname = \ $(LIBDIRNAME)/$(LIBPREFIX)wx_$(PORTNAME)$(WXUNIVNAME)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_aui-$(WX_RELEASE)$(HOST_SUFFIX)$(LIBEXT) @COND_MONOLITHIC_0_SHARED_0_USE_AUI_1@__auilib___depname = $(COND_MONOLITHIC_0_SHARED_0_USE_AUI_1___auilib___depname) @@ -13579,6 +13598,7 @@ COND_MONOLITHIC_0_SHARED_0_USE_AUI_1___auilib___depname = \ @COND_USE_PCH_1@ = ./.pch/wxprec_auilib/wx/wxprec.h.gch @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@__AUI_GTK_SRC_OBJECTS_3 \ @COND_TOOLKIT_GTK_TOOLKIT_VERSION_2@ = auilib_tabartgtk.o +@COND_TOOLKIT_MSW@__AUI_PLATFORM_SRC_OBJECTS_3 = auilib_tabartmsw.o @COND_SHARED_1@____wxaui_namedll_DEP = $(__auidll___depname) @COND_SHARED_0@____wxaui_namelib_DEP = $(__auilib___depname) COND_MONOLITHIC_0_SHARED_1_USE_RIBBON_1___ribbondll___depname = \ @@ -14115,7 +14135,6 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS = \ monodll_carbon_overlay.o \ monodll_carbon_popupwin.o \ monodll_carbon_renderer.o \ - monodll_carbon_settings.o \ monodll_statbrma.o \ monodll_carbon_region.o \ monodll_utilscocoa.o \ @@ -14262,7 +14281,6 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_12 = \ monolib_carbon_overlay.o \ monolib_carbon_popupwin.o \ monolib_carbon_renderer.o \ - monolib_carbon_settings.o \ monolib_statbrma.o \ monolib_carbon_region.o \ monolib_utilscocoa.o \ @@ -14409,7 +14427,6 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_14 = \ coredll_carbon_overlay.o \ coredll_carbon_popupwin.o \ coredll_carbon_renderer.o \ - coredll_carbon_settings.o \ coredll_statbrma.o \ coredll_carbon_region.o \ coredll_utilscocoa.o \ @@ -14541,7 +14558,6 @@ COND_PLATFORM_MACOSX_1___OSX_CARBON_COCOA_SRC_OBJECTS_1_0 = \ corelib_carbon_overlay.o \ corelib_carbon_popupwin.o \ corelib_carbon_renderer.o \ - corelib_carbon_settings.o \ corelib_statbrma.o \ corelib_carbon_region.o \ corelib_utilscocoa.o \ @@ -16767,9 +16783,6 @@ monodll_cfstring.o: $(srcdir)/src/osx/core/cfstring.cpp $(MONODLL_ODEP) monodll_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/evtloop_cf.cpp -monodll_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(MONODLL_ODEP) - $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp - monodll_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp @@ -16803,12 +16816,18 @@ monodll_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(MONODLL_ODEP) monodll_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +monodll_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + monodll_osx_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm monodll_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +monodll_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + monodll_fs_inet.o: $(srcdir)/src/common/fs_inet.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/fs_inet.cpp @@ -17376,6 +17395,9 @@ monodll_carbon_tooltip.o: $(srcdir)/src/osx/carbon/tooltip.cpp $(MONODLL_ODEP) monodll_carbon_window.o: $(srcdir)/src/osx/carbon/window.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/window.cpp +monodll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp + monodll_cocoa_anybutton.o: $(srcdir)/src/osx/cocoa/anybutton.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/anybutton.mm @@ -17481,6 +17503,9 @@ monodll_osx_cocoa_tooltip.o: $(srcdir)/src/osx/cocoa/tooltip.mm $(MONODLL_ODEP) monodll_osx_cocoa_window.o: $(srcdir)/src/osx/cocoa/window.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/window.mm +monodll_osx_cocoa_settings.o: $(srcdir)/src/osx/cocoa/settings.mm $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/settings.mm + monodll_iphone_anybutton.o: $(srcdir)/src/osx/iphone/anybutton.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/anybutton.mm @@ -17703,7 +17728,7 @@ monodll_cocoa_region.o: $(srcdir)/src/cocoa/region.mm $(MONODLL_ODEP) monodll_src_cocoa_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/scrolbar.mm -monodll_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(MONODLL_ODEP) +monodll_src_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/settings.mm monodll_src_cocoa_slider.o: $(srcdir)/src/cocoa/slider.mm $(MONODLL_ODEP) @@ -18252,6 +18277,9 @@ monodll_xh_auitoolb.o: $(srcdir)/src/xrc/xh_auitoolb.cpp $(MONODLL_ODEP) monodll_tabartgtk.o: $(srcdir)/src/aui/tabartgtk.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/tabartgtk.cpp +monodll_tabartmsw.o: $(srcdir)/src/aui/tabartmsw.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/aui/tabartmsw.cpp + monodll_advprops.o: $(srcdir)/src/propgrid/advprops.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/propgrid/advprops.cpp @@ -18420,12 +18448,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp -@COND_PLATFORM_UNIX_1@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP) -@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - -@COND_PLATFORM_MACOSX_1@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - @COND_PLATFORM_UNIX_1@monodll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONODLL_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp @@ -18456,6 +18478,12 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1@monodll_fswatcher_kqueue.o: $(srcdir)/src/unix/fswatcher_kqueue.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fswatcher_kqueue.cpp +@COND_PLATFORM_UNIX_1@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP) +@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +@COND_TOOLKIT_OSX_CARBON@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_OSX_CARBON@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + @COND_PLATFORM_UNIX_1@monodll_socketiohandler.o: $(srcdir)/src/common/socketiohandler.cpp $(MONODLL_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/socketiohandler.cpp @@ -20946,15 +20974,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_carbon_renderer.o: $(srcdir)/src/osx/carbon/renderer.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/renderer.cpp -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monodll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monodll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONODLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monodll_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(MONODLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp @@ -22281,9 +22300,6 @@ monolib_cfstring.o: $(srcdir)/src/osx/core/cfstring.cpp $(MONOLIB_ODEP) monolib_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/evtloop_cf.cpp -monolib_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(MONOLIB_ODEP) - $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp - monolib_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp @@ -22317,12 +22333,18 @@ monolib_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(MONOLIB_ODEP) monolib_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +monolib_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + monolib_osx_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm monolib_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +monolib_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + monolib_fs_inet.o: $(srcdir)/src/common/fs_inet.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/fs_inet.cpp @@ -22890,6 +22912,9 @@ monolib_carbon_tooltip.o: $(srcdir)/src/osx/carbon/tooltip.cpp $(MONOLIB_ODEP) monolib_carbon_window.o: $(srcdir)/src/osx/carbon/window.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/window.cpp +monolib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp + monolib_cocoa_anybutton.o: $(srcdir)/src/osx/cocoa/anybutton.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/anybutton.mm @@ -22995,6 +23020,9 @@ monolib_osx_cocoa_tooltip.o: $(srcdir)/src/osx/cocoa/tooltip.mm $(MONOLIB_ODEP) monolib_osx_cocoa_window.o: $(srcdir)/src/osx/cocoa/window.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/window.mm +monolib_osx_cocoa_settings.o: $(srcdir)/src/osx/cocoa/settings.mm $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/settings.mm + monolib_iphone_anybutton.o: $(srcdir)/src/osx/iphone/anybutton.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/anybutton.mm @@ -23217,7 +23245,7 @@ monolib_cocoa_region.o: $(srcdir)/src/cocoa/region.mm $(MONOLIB_ODEP) monolib_src_cocoa_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/scrolbar.mm -monolib_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(MONOLIB_ODEP) +monolib_src_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/settings.mm monolib_src_cocoa_slider.o: $(srcdir)/src/cocoa/slider.mm $(MONOLIB_ODEP) @@ -23766,6 +23794,9 @@ monolib_xh_auitoolb.o: $(srcdir)/src/xrc/xh_auitoolb.cpp $(MONOLIB_ODEP) monolib_tabartgtk.o: $(srcdir)/src/aui/tabartgtk.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/tabartgtk.cpp +monolib_tabartmsw.o: $(srcdir)/src/aui/tabartmsw.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/aui/tabartmsw.cpp + monolib_advprops.o: $(srcdir)/src/propgrid/advprops.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/propgrid/advprops.cpp @@ -23934,12 +23965,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp -@COND_PLATFORM_UNIX_1@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - -@COND_PLATFORM_MACOSX_1@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - @COND_PLATFORM_UNIX_1@monolib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(MONOLIB_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp @@ -23970,6 +23995,12 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1@monolib_fswatcher_kqueue.o: $(srcdir)/src/unix/fswatcher_kqueue.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fswatcher_kqueue.cpp +@COND_PLATFORM_UNIX_1@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP) +@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +@COND_TOOLKIT_OSX_CARBON@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_OSX_CARBON@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + @COND_PLATFORM_UNIX_1@monolib_socketiohandler.o: $(srcdir)/src/common/socketiohandler.cpp $(MONOLIB_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/socketiohandler.cpp @@ -26460,15 +26491,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monolib_carbon_renderer.o: $(srcdir)/src/osx/carbon/renderer.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/renderer.cpp -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monolib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@monolib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@monolib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(MONOLIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@monolib_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(MONOLIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp @@ -27795,9 +27817,6 @@ basedll_cfstring.o: $(srcdir)/src/osx/core/cfstring.cpp $(BASEDLL_ODEP) basedll_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/evtloop_cf.cpp -basedll_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(BASEDLL_ODEP) - $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp - basedll_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp @@ -27831,12 +27850,18 @@ basedll_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(BASEDLL_ODEP) basedll_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +basedll_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(BASEDLL_ODEP) + $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + basedll_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm basedll_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASEDLL_ODEP) $(CXXC) -c -o $@ $(BASEDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +basedll_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(BASEDLL_ODEP) + $(CXXC) -c -o $@ $(BASEDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + @COND_PLATFORM_UNIX_1@basedll_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASEDLL_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp @@ -27897,12 +27922,6 @@ basedll_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASEDLL_ODEP) @COND_PLATFORM_MACOSX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp -@COND_PLATFORM_UNIX_1@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP) -@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - -@COND_PLATFORM_MACOSX_1@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP) -@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - @COND_PLATFORM_UNIX_1@basedll_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASEDLL_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp @@ -27933,6 +27952,12 @@ basedll_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASEDLL_ODEP) @COND_PLATFORM_MACOSX_1@basedll_fswatcher_kqueue.o: $(srcdir)/src/unix/fswatcher_kqueue.cpp $(BASEDLL_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/fswatcher_kqueue.cpp +@COND_PLATFORM_UNIX_1@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP) +@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +@COND_TOOLKIT_OSX_CARBON@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP) +@COND_TOOLKIT_OSX_CARBON@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + baselib_any.o: $(srcdir)/src/common/any.cpp $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/any.cpp @@ -28266,9 +28291,6 @@ baselib_cfstring.o: $(srcdir)/src/osx/core/cfstring.cpp $(BASELIB_ODEP) baselib_evtloop_cf.o: $(srcdir)/src/osx/core/evtloop_cf.cpp $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/evtloop_cf.cpp -baselib_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(BASELIB_ODEP) - $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp - baselib_strconv_cf.o: $(srcdir)/src/osx/core/strconv_cf.cpp $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/strconv_cf.cpp @@ -28302,12 +28324,18 @@ baselib_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(BASELIB_ODEP) baselib_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +baselib_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(BASELIB_ODEP) + $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + baselib_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm baselib_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASELIB_ODEP) $(CXXC) -c -o $@ $(BASELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +baselib_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(BASELIB_ODEP) + $(CXXC) -c -o $@ $(BASELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + @COND_PLATFORM_UNIX_1@baselib_fdiodispatcher.o: $(srcdir)/src/common/fdiodispatcher.cpp $(BASELIB_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/fdiodispatcher.cpp @@ -28368,12 +28396,6 @@ baselib_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASELIB_ODEP) @COND_PLATFORM_MACOSX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp -@COND_PLATFORM_UNIX_1@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP) -@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - -@COND_PLATFORM_MACOSX_1@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP) -@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp - @COND_PLATFORM_UNIX_1@baselib_timerunx.o: $(srcdir)/src/unix/timerunx.cpp $(BASELIB_ODEP) @COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/timerunx.cpp @@ -28404,6 +28426,12 @@ baselib_cocoa_power.o: $(srcdir)/src/osx/cocoa/power.mm $(BASELIB_ODEP) @COND_PLATFORM_MACOSX_1@baselib_fswatcher_kqueue.o: $(srcdir)/src/unix/fswatcher_kqueue.cpp $(BASELIB_ODEP) @COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/fswatcher_kqueue.cpp +@COND_PLATFORM_UNIX_1@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP) +@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +@COND_TOOLKIT_OSX_CARBON@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP) +@COND_TOOLKIT_OSX_CARBON@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + netdll_version_rc.o: $(srcdir)/src/msw/version.rc $(NETDLL_ODEP) $(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_67) $(__DEBUG_DEFINE_p_66) $(__EXCEPTIONS_DEFINE_p_65) $(__RTTI_DEFINE_p_65) $(__THREAD_DEFINE_p_65) --define WXBUILDING --define WXDLLNAME=$(WXDLLNAMEPREFIX)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_net$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_BUILD_p_66) $(__INC_TIFF_p_66) $(__INC_JPEG_p_66) $(__INC_PNG_p_65) $(__INC_ZLIB_p_67) $(__INC_REGEX_p_65) $(__INC_EXPAT_p_65) --define wxUSE_GUI=0 --define WXUSINGDLL --define WXMAKINGDLL_NET @@ -28536,12 +28564,21 @@ coredll_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(COREDLL_ODEP) coredll_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +coredll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(COREDLL_ODEP) + $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +coredll_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(COREDLL_ODEP) + $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + coredll_osx_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm coredll_power.o: $(srcdir)/src/osx/cocoa/power.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +coredll_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(COREDLL_ODEP) + $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + coredll_gtk1_bmpbuttn.o: $(srcdir)/src/gtk1/bmpbuttn.cpp $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/gtk1/bmpbuttn.cpp @@ -29070,6 +29107,9 @@ coredll_carbon_tooltip.o: $(srcdir)/src/osx/carbon/tooltip.cpp $(COREDLL_ODEP) coredll_carbon_window.o: $(srcdir)/src/osx/carbon/window.cpp $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/window.cpp +coredll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(COREDLL_ODEP) + $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp + coredll_cocoa_anybutton.o: $(srcdir)/src/osx/cocoa/anybutton.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/anybutton.mm @@ -29175,6 +29215,9 @@ coredll_osx_cocoa_tooltip.o: $(srcdir)/src/osx/cocoa/tooltip.mm $(COREDLL_ODEP) coredll_osx_cocoa_window.o: $(srcdir)/src/osx/cocoa/window.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/window.mm +coredll_osx_cocoa_settings.o: $(srcdir)/src/osx/cocoa/settings.mm $(COREDLL_ODEP) + $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/settings.mm + coredll_iphone_anybutton.o: $(srcdir)/src/osx/iphone/anybutton.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/anybutton.mm @@ -29397,7 +29440,7 @@ coredll_cocoa_region.o: $(srcdir)/src/cocoa/region.mm $(COREDLL_ODEP) coredll_src_cocoa_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/scrolbar.mm -coredll_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(COREDLL_ODEP) +coredll_src_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(COREDLL_ODEP) $(CXXC) -c -o $@ $(COREDLL_OBJCXXFLAGS) $(srcdir)/src/cocoa/settings.mm coredll_src_cocoa_slider.o: $(srcdir)/src/cocoa/slider.mm $(COREDLL_ODEP) @@ -32040,15 +32083,6 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_carbon_renderer.o: $(srcdir)/src/osx/carbon/renderer.cpp $(COREDLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/renderer.cpp -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@coredll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@coredll_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(COREDLL_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@coredll_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(COREDLL_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp @@ -32598,12 +32632,21 @@ corelib_carbon_utils.o: $(srcdir)/src/osx/carbon/utils.cpp $(CORELIB_ODEP) corelib_uma.o: $(srcdir)/src/osx/carbon/uma.cpp $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/uma.cpp +corelib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(CORELIB_ODEP) + $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp + +corelib_stdpaths_cf.o: $(srcdir)/src/osx/core/stdpaths_cf.cpp $(CORELIB_ODEP) + $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/core/stdpaths_cf.cpp + corelib_osx_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/utils.mm corelib_power.o: $(srcdir)/src/osx/cocoa/power.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/power.mm +corelib_cocoa_stdpaths.o: $(srcdir)/src/osx/cocoa/stdpaths.mm $(CORELIB_ODEP) + $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/stdpaths.mm + corelib_gtk1_bmpbuttn.o: $(srcdir)/src/gtk1/bmpbuttn.cpp $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/gtk1/bmpbuttn.cpp @@ -33132,6 +33175,9 @@ corelib_carbon_tooltip.o: $(srcdir)/src/osx/carbon/tooltip.cpp $(CORELIB_ODEP) corelib_carbon_window.o: $(srcdir)/src/osx/carbon/window.cpp $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/window.cpp +corelib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(CORELIB_ODEP) + $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp + corelib_cocoa_anybutton.o: $(srcdir)/src/osx/cocoa/anybutton.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/anybutton.mm @@ -33237,6 +33283,9 @@ corelib_osx_cocoa_tooltip.o: $(srcdir)/src/osx/cocoa/tooltip.mm $(CORELIB_ODEP) corelib_osx_cocoa_window.o: $(srcdir)/src/osx/cocoa/window.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/window.mm +corelib_osx_cocoa_settings.o: $(srcdir)/src/osx/cocoa/settings.mm $(CORELIB_ODEP) + $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/cocoa/settings.mm + corelib_iphone_anybutton.o: $(srcdir)/src/osx/iphone/anybutton.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/osx/iphone/anybutton.mm @@ -33459,7 +33508,7 @@ corelib_cocoa_region.o: $(srcdir)/src/cocoa/region.mm $(CORELIB_ODEP) corelib_src_cocoa_scrolbar.o: $(srcdir)/src/cocoa/scrolbar.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/scrolbar.mm -corelib_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(CORELIB_ODEP) +corelib_src_cocoa_settings.o: $(srcdir)/src/cocoa/settings.mm $(CORELIB_ODEP) $(CXXC) -c -o $@ $(CORELIB_OBJCXXFLAGS) $(srcdir)/src/cocoa/settings.mm corelib_src_cocoa_slider.o: $(srcdir)/src/cocoa/slider.mm $(CORELIB_ODEP) @@ -36102,15 +36151,6 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_carbon_renderer.o: $(srcdir)/src/osx/carbon/renderer.cpp $(CORELIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/renderer.cpp -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@corelib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_COCOA_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@corelib_carbon_settings.o: $(srcdir)/src/osx/carbon/settings.cpp $(CORELIB_ODEP) -@COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_IPHONE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/settings.cpp - @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@corelib_statbrma.o: $(srcdir)/src/osx/carbon/statbrma.cpp $(CORELIB_ODEP) @COND_PLATFORM_MACOSX_1_TOOLKIT_OSX_CARBON_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/osx/carbon/statbrma.cpp @@ -38346,6 +38386,9 @@ auidll_xh_auitoolb.o: $(srcdir)/src/xrc/xh_auitoolb.cpp $(AUIDLL_ODEP) auidll_tabartgtk.o: $(srcdir)/src/aui/tabartgtk.cpp $(AUIDLL_ODEP) $(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/tabartgtk.cpp +auidll_tabartmsw.o: $(srcdir)/src/aui/tabartmsw.cpp $(AUIDLL_ODEP) + $(CXXC) -c -o $@ $(AUIDLL_CXXFLAGS) $(srcdir)/src/aui/tabartmsw.cpp + auilib_framemanager.o: $(srcdir)/src/aui/framemanager.cpp $(AUILIB_ODEP) $(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/framemanager.cpp @@ -38376,6 +38419,9 @@ auilib_xh_auitoolb.o: $(srcdir)/src/xrc/xh_auitoolb.cpp $(AUILIB_ODEP) auilib_tabartgtk.o: $(srcdir)/src/aui/tabartgtk.cpp $(AUILIB_ODEP) $(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/tabartgtk.cpp +auilib_tabartmsw.o: $(srcdir)/src/aui/tabartmsw.cpp $(AUILIB_ODEP) + $(CXXC) -c -o $@ $(AUILIB_CXXFLAGS) $(srcdir)/src/aui/tabartmsw.cpp + ribbondll_version_rc.o: $(srcdir)/src/msw/version.rc $(RIBBONDLL_ODEP) $(WINDRES) -i$< -o$@ --define __WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p_67) $(__DEBUG_DEFINE_p_66) $(__EXCEPTIONS_DEFINE_p_65) $(__RTTI_DEFINE_p_65) $(__THREAD_DEFINE_p_65) --define WXBUILDING --define WXDLLNAME=$(WXDLLNAMEPREFIXGUI)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG)$(WXDLLVERSIONTAG) $(__RCDEFDIR_p) --include-dir $(top_srcdir)/include $(__INC_TIFF_BUILD_p_66) $(__INC_TIFF_p_66) $(__INC_JPEG_p_66) $(__INC_PNG_p_65) $(__INC_ZLIB_p_67) $(__INC_REGEX_p_65) $(__INC_EXPAT_p_65) --define WXUSINGDLL --define WXMAKINGDLL_RIBBON diff --git a/build/bakefiles/Bakefiles.bkgen b/build/bakefiles/Bakefiles.bkgen index fe3aed1634..f0bcd7141d 100644 --- a/build/bakefiles/Bakefiles.bkgen +++ b/build/bakefiles/Bakefiles.bkgen @@ -30,6 +30,12 @@ autoconf,borland,dmars_smake,dmars,mingw,msvc,msvc6prj,msevc4prj,msvs2003prj,msvs2005prj,msvs2008prj,watcom + + + msvs2003prj,msvs2005prj,msvs2008prj + + autoconf,msvc6prj,msevc4prj,msvs2003prj,msvs2005prj,msvs2008prj diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 1f6cb7479e..bd3eedf063 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -69,7 +69,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/unix/fdiounix.cpp src/unix/snglinst.cpp src/unix/stackwalk.cpp - src/unix/stdpaths.cpp src/unix/timerunx.cpp src/unix/threadpsx.cpp src/unix/utilsunx.cpp @@ -85,7 +84,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/unix/evtloop.h wx/unix/evtloopsrc.h wx/unix/pipe.h - wx/unix/stdpaths.h wx/unix/stackwalk.h wx/unix/tls.h wx/unix/fswatcher_kqueue.h @@ -115,10 +113,12 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(BASE_UNIX_AND_DARWIN_NOTWXMAC_SRC) src/unix/fswatcher_inotify.cpp + src/unix/stdpaths.cpp $(BASE_UNIX_AND_DARWIN_NOTWXMAC_HDR) wx/unix/fswatcher_inotify.h + wx/unix/stdpaths.h @@ -181,7 +181,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/core/cfstring.cpp src/osx/core/evtloop_cf.cpp - src/osx/core/stdpaths_cf.cpp src/osx/core/strconv_cf.cpp src/osx/core/utilsexc_base.cpp @@ -212,11 +211,14 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/carbon/utils.cpp src/osx/carbon/uma.cpp + src/unix/stdpaths.cpp + src/osx/core/stdpaths_cf.cpp src/osx/cocoa/utils.mm src/osx/cocoa/power.mm + src/osx/cocoa/stdpaths.mm @@ -2289,7 +2291,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/carbon/overlay.cpp src/osx/carbon/popupwin.cpp src/osx/carbon/renderer.cpp - src/osx/carbon/settings.cpp src/osx/carbon/statbrma.cpp src/osx/carbon/region.cpp @@ -2454,6 +2455,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/carbon/toolbar.cpp src/osx/carbon/tooltip.cpp src/osx/carbon/window.cpp + src/osx/carbon/settings.cpp @@ -2510,6 +2512,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/osx/cocoa/toolbar.mm src/osx/cocoa/tooltip.mm src/osx/cocoa/window.mm + src/osx/cocoa/settings.mm wx/osx/cocoa/chkconf.h @@ -3653,6 +3656,18 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/aui/tabartgtk.h + + src/aui/tabartmsw.cpp + + + wx/aui/tabartmsw.h + + + $(AUI_MSW_SRC) + + + $(AUI_MSW_HDR) + src/aui/framemanager.cpp src/aui/dockart.cpp @@ -3667,6 +3682,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(AUI_CMN_SRC) $(AUI_GTK_SRC) + $(AUI_PLATFORM_SRC) wx/aui/framemanager.h @@ -3683,6 +3699,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! $(AUI_CMN_HDR) $(AUI_GTK_HDR) + $(AUI_PLATFORM_HDR) diff --git a/build/files b/build/files index af828a24a4..e3574b558e 100644 --- a/build/files +++ b/build/files @@ -33,7 +33,6 @@ BASE_UNIX_AND_DARWIN_SRC = src/unix/fdiounix.cpp src/unix/snglinst.cpp src/unix/stackwalk.cpp - src/unix/stdpaths.cpp src/unix/timerunx.cpp src/unix/threadpsx.cpp src/unix/utilsunx.cpp @@ -48,7 +47,6 @@ BASE_UNIX_AND_DARWIN_HDR = wx/unix/evtloop.h wx/unix/evtloopsrc.h wx/unix/pipe.h - wx/unix/stdpaths.h wx/unix/stackwalk.h wx/unix/tls.h wx/unix/fswatcher_kqueue.h @@ -71,10 +69,12 @@ BASE_UNIX_AND_DARWIN_NOTWXMAC_HDR = BASE_UNIX_SRC = $(BASE_UNIX_AND_DARWIN_NOTWXMAC_SRC) src/unix/fswatcher_inotify.cpp + src/unix/stdpaths.cpp BASE_UNIX_HDR = $(BASE_UNIX_AND_DARWIN_NOTWXMAC_HDR) wx/unix/fswatcher_inotify.h + wx/unix/stdpaths.h ## Windows @@ -134,7 +134,6 @@ BASE_WIN32_HDR = BASE_COREFOUNDATION_SRC = src/osx/core/cfstring.cpp src/osx/core/evtloop_cf.cpp - src/osx/core/stdpaths_cf.cpp src/osx/core/strconv_cf.cpp src/osx/core/utilsexc_base.cpp @@ -164,10 +163,13 @@ BASE_OSX_SHARED_HDR = BASE_AND_GUI_OSX_CARBON_SRC = src/osx/carbon/utils.cpp src/osx/carbon/uma.cpp + src/unix/stdpaths.cpp + src/osx/core/stdpaths_cf.cpp BASE_AND_GUI_OSX_COCOA_SRC = src/osx/cocoa/utils.mm src/osx/cocoa/power.mm + src/osx/cocoa/stdpaths.mm BASE_AND_GUI_OSX_IPHONE_SRC = src/osx/iphone/utils.mm @@ -1934,7 +1936,6 @@ OSX_CARBON_COCOA_SRC = src/osx/carbon/overlay.cpp src/osx/carbon/popupwin.cpp src/osx/carbon/renderer.cpp - src/osx/carbon/settings.cpp src/osx/carbon/statbrma.cpp src/osx/carbon/region.cpp # cocoa bridge @@ -2083,6 +2084,7 @@ OSX_CARBON_SRC = src/osx/carbon/printdlg.cpp src/osx/carbon/radiobut.cpp src/osx/carbon/scrolbar.cpp + src/osx/carbon/settings.cpp src/osx/carbon/slider.cpp src/osx/carbon/spinbutt.cpp src/osx/carbon/srchctrl.cpp @@ -2136,6 +2138,7 @@ OSX_COCOA_SRC = src/osx/cocoa/preferences.mm src/osx/cocoa/printdlg.mm src/osx/cocoa/scrolbar.mm + src/osx/cocoa/settings.mm src/osx/cocoa/slider.mm src/osx/cocoa/spinbutt.mm src/osx/cocoa/srchctrl.mm @@ -3086,6 +3089,11 @@ AUI_CMN_HDR = wx/xrc/xh_auinotbk.h wx/xrc/xh_auitoolb.h +AUI_MSW_HDR = + wx/aui/tabartmsw.h +AUI_MSW_SRC = + src/aui/tabartmsw.cpp + # wxRibbon RIBBON_SRC = diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 3bd0879673..c9b4aff18c 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1354,7 +1354,8 @@ AUIDLL_OBJECTS = \ $(OBJS)\auidll_tabmdi.obj \ $(OBJS)\auidll_tabart.obj \ $(OBJS)\auidll_xh_auinotbk.obj \ - $(OBJS)\auidll_xh_auitoolb.obj + $(OBJS)\auidll_xh_auitoolb.obj \ + $(OBJS)\auidll_tabartmsw.obj AUILIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \ $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \ $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \ @@ -1373,7 +1374,8 @@ AUILIB_OBJECTS = \ $(OBJS)\auilib_tabmdi.obj \ $(OBJS)\auilib_tabart.obj \ $(OBJS)\auilib_xh_auinotbk.obj \ - $(OBJS)\auilib_xh_auitoolb.obj + $(OBJS)\auilib_xh_auitoolb.obj \ + $(OBJS)\auilib_tabartmsw.obj RIBBONDLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \ $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \ $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \ @@ -1734,6 +1736,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tabart.obj \ $(OBJS)\monodll_xh_auinotbk.obj \ $(OBJS)\monodll_xh_auitoolb.obj \ + $(OBJS)\monodll_tabartmsw.obj \ $(OBJS)\monodll_advprops.obj \ $(OBJS)\monodll_editors.obj \ $(OBJS)\monodll_manager.obj \ @@ -2555,6 +2558,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tabart.obj \ $(OBJS)\monolib_xh_auinotbk.obj \ $(OBJS)\monolib_xh_auitoolb.obj \ + $(OBJS)\monolib_tabartmsw.obj \ $(OBJS)\monolib_advprops.obj \ $(OBJS)\monolib_editors.obj \ $(OBJS)\monolib_manager.obj \ @@ -7389,6 +7393,9 @@ $(OBJS)\monodll_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\monodll_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\monodll_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\monodll_advprops.obj: ..\..\src\propgrid\advprops.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\propgrid\advprops.cpp @@ -9896,6 +9903,9 @@ $(OBJS)\monolib_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\monolib_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\monolib_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\monolib_advprops.obj: ..\..\src\propgrid\advprops.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\propgrid\advprops.cpp @@ -16082,6 +16092,9 @@ $(OBJS)\auidll_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\auidll_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\auidll_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) -q -c -P -o$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) -H ..\..\src\common\dummy.cpp @@ -16112,6 +16125,9 @@ $(OBJS)\auilib_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\auilib_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\auilib_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) -q -c -P -o$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\ribbondll_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) -q -c -P -o$@ $(RIBBONDLL_CXXFLAGS) -H ..\..\src\common\dummy.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index 513accb221..383bdf071d 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1360,7 +1360,8 @@ AUIDLL_OBJECTS = \ $(OBJS)\auidll_tabmdi.o \ $(OBJS)\auidll_tabart.o \ $(OBJS)\auidll_xh_auinotbk.o \ - $(OBJS)\auidll_xh_auitoolb.o + $(OBJS)\auidll_xh_auitoolb.o \ + $(OBJS)\auidll_tabartmsw.o AUILIB_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) $(GCCFLAGS) \ -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) $(__DEBUG_DEFINE_p) \ $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \ @@ -1379,7 +1380,8 @@ AUILIB_OBJECTS = \ $(OBJS)\auilib_tabmdi.o \ $(OBJS)\auilib_tabart.o \ $(OBJS)\auilib_xh_auinotbk.o \ - $(OBJS)\auilib_xh_auitoolb.o + $(OBJS)\auilib_xh_auitoolb.o \ + $(OBJS)\auilib_tabartmsw.o RIBBONDLL_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \ $(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \ $(__DEBUG_DEFINE_p) $(__NDEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) \ @@ -1752,6 +1754,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tabart.o \ $(OBJS)\monodll_xh_auinotbk.o \ $(OBJS)\monodll_xh_auitoolb.o \ + $(OBJS)\monodll_tabartmsw.o \ $(OBJS)\monodll_advprops.o \ $(OBJS)\monodll_editors.o \ $(OBJS)\monodll_manager.o \ @@ -2579,6 +2582,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tabart.o \ $(OBJS)\monolib_xh_auinotbk.o \ $(OBJS)\monolib_xh_auitoolb.o \ + $(OBJS)\monolib_tabartmsw.o \ $(OBJS)\monolib_advprops.o \ $(OBJS)\monolib_editors.o \ $(OBJS)\monolib_manager.o \ @@ -7564,6 +7568,9 @@ $(OBJS)\monodll_xh_auinotbk.o: ../../src/xrc/xh_auinotbk.cpp $(OBJS)\monodll_xh_auitoolb.o: ../../src/xrc/xh_auitoolb.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_tabartmsw.o: ../../src/aui/tabartmsw.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_advprops.o: ../../src/propgrid/advprops.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -10071,6 +10078,9 @@ $(OBJS)\monolib_xh_auinotbk.o: ../../src/xrc/xh_auinotbk.cpp $(OBJS)\monolib_xh_auitoolb.o: ../../src/xrc/xh_auitoolb.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_tabartmsw.o: ../../src/aui/tabartmsw.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_advprops.o: ../../src/propgrid/advprops.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -16257,6 +16267,9 @@ $(OBJS)\auidll_xh_auinotbk.o: ../../src/xrc/xh_auinotbk.cpp $(OBJS)\auidll_xh_auitoolb.o: ../../src/xrc/xh_auitoolb.cpp $(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\auidll_tabartmsw.o: ../../src/aui/tabartmsw.cpp + $(CXX) -c -o $@ $(AUIDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\auilib_dummy.o: ../../src/common/dummy.cpp $(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $< @@ -16287,6 +16300,9 @@ $(OBJS)\auilib_xh_auinotbk.o: ../../src/xrc/xh_auinotbk.cpp $(OBJS)\auilib_xh_auitoolb.o: ../../src/xrc/xh_auitoolb.cpp $(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\auilib_tabartmsw.o: ../../src/aui/tabartmsw.cpp + $(CXX) -c -o $@ $(AUILIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\ribbondll_dummy.o: ../../src/common/dummy.cpp $(CXX) -c -o $@ $(RIBBONDLL_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 75f9d71f29..a23c9e67dc 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -1498,7 +1498,8 @@ AUIDLL_OBJECTS = \ $(OBJS)\auidll_tabmdi.obj \ $(OBJS)\auidll_tabart.obj \ $(OBJS)\auidll_xh_auinotbk.obj \ - $(OBJS)\auidll_xh_auitoolb.obj + $(OBJS)\auidll_xh_auitoolb.obj \ + $(OBJS)\auidll_tabartmsw.obj AUIDLL_RESOURCES = \ $(OBJS)\auidll_version.res AUILIB_CXXFLAGS = /M$(__RUNTIME_LIBS_472)$(__DEBUGRUNTIME) /DWIN32 \ @@ -1523,7 +1524,8 @@ AUILIB_OBJECTS = \ $(OBJS)\auilib_tabmdi.obj \ $(OBJS)\auilib_tabart.obj \ $(OBJS)\auilib_xh_auinotbk.obj \ - $(OBJS)\auilib_xh_auitoolb.obj + $(OBJS)\auilib_xh_auitoolb.obj \ + $(OBJS)\auilib_tabartmsw.obj RIBBONDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_488)$(__DEBUGRUNTIME) /DWIN32 \ $(__DEBUGINFO) \ /Fd$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_ribbon$(WXCOMPILER)$(VENDORTAG).pdb \ @@ -2034,6 +2036,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tabart.obj \ $(OBJS)\monodll_xh_auinotbk.obj \ $(OBJS)\monodll_xh_auitoolb.obj \ + $(OBJS)\monodll_tabartmsw.obj \ $(OBJS)\monodll_advprops.obj \ $(OBJS)\monodll_editors.obj \ $(OBJS)\monodll_manager.obj \ @@ -2861,6 +2864,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tabart.obj \ $(OBJS)\monolib_xh_auinotbk.obj \ $(OBJS)\monolib_xh_auitoolb.obj \ + $(OBJS)\monolib_tabartmsw.obj \ $(OBJS)\monolib_advprops.obj \ $(OBJS)\monolib_editors.obj \ $(OBJS)\monolib_manager.obj \ @@ -8081,6 +8085,9 @@ $(OBJS)\monodll_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\monodll_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\monodll_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\monodll_advprops.obj: ..\..\src\propgrid\advprops.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\propgrid\advprops.cpp @@ -10588,6 +10595,9 @@ $(OBJS)\monolib_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\monolib_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\monolib_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\monolib_advprops.obj: ..\..\src\propgrid\advprops.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\propgrid\advprops.cpp @@ -16774,6 +16784,9 @@ $(OBJS)\auidll_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\auidll_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\auidll_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(AUIDLL_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\auilib_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp @@ -16804,6 +16817,9 @@ $(OBJS)\auilib_xh_auinotbk.obj: ..\..\src\xrc\xh_auinotbk.cpp $(OBJS)\auilib_xh_auitoolb.obj: ..\..\src\xrc\xh_auitoolb.cpp $(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\xrc\xh_auitoolb.cpp +$(OBJS)\auilib_tabartmsw.obj: ..\..\src\aui\tabartmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(AUILIB_CXXFLAGS) ..\..\src\aui\tabartmsw.cpp + $(OBJS)\ribbondll_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(RIBBONDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp diff --git a/build/msw/wx_aui.vcxproj b/build/msw/wx_aui.vcxproj index a719009f57..4ce0b31930 100644 --- a/build/msw/wx_aui.vcxproj +++ b/build/msw/wx_aui.vcxproj @@ -465,6 +465,7 @@ + @@ -505,6 +506,7 @@ + diff --git a/build/msw/wx_aui.vcxproj.filters b/build/msw/wx_aui.vcxproj.filters index fb4f06b87a..f766dd0423 100644 --- a/build/msw/wx_aui.vcxproj.filters +++ b/build/msw/wx_aui.vcxproj.filters @@ -43,6 +43,9 @@ Source Files + + Source Files + Source Files @@ -80,6 +83,9 @@ Common Headers + + Common Headers + Common Headers diff --git a/build/msw/wx_core.vcxproj b/build/msw/wx_core.vcxproj index 86d5b729cd..e2a32a8e80 100644 --- a/build/msw/wx_core.vcxproj +++ b/build/msw/wx_core.vcxproj @@ -901,6 +901,7 @@ $(IntDir)msw_%(Filename).obj + $(IntDir)msw_%(Filename).obj @@ -1004,7 +1005,6 @@ - @@ -1014,7 +1014,6 @@ true true - @@ -1335,6 +1334,7 @@ + @@ -1375,7 +1375,6 @@ - diff --git a/build/msw/wx_html.vcxproj b/build/msw/wx_html.vcxproj index df3a22b264..5d421cb9fe 100644 --- a/build/msw/wx_html.vcxproj +++ b/build/msw/wx_html.vcxproj @@ -482,6 +482,7 @@ + diff --git a/build/msw/wx_html.vcxproj.filters b/build/msw/wx_html.vcxproj.filters index 5284e0aac3..4249c9751a 100644 --- a/build/msw/wx_html.vcxproj.filters +++ b/build/msw/wx_html.vcxproj.filters @@ -33,6 +33,9 @@ Generic Sources + + wxHTML Sources + wxHTML Sources diff --git a/build/msw/wx_vc7_aui.vcproj b/build/msw/wx_vc7_aui.vcproj index 2b44650f7f..442b54de7d 100644 --- a/build/msw/wx_vc7_aui.vcproj +++ b/build/msw/wx_vc7_aui.vcproj @@ -434,6 +434,9 @@ + + @@ -466,6 +469,9 @@ + + diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index c9e1dac5c3..c07148bb87 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -2594,6 +2594,9 @@ + + diff --git a/build/msw/wx_vc8_aui.vcproj b/build/msw/wx_vc8_aui.vcproj index 9b8d55fa02..ecbebdccb6 100644 --- a/build/msw/wx_vc8_aui.vcproj +++ b/build/msw/wx_vc8_aui.vcproj @@ -1081,6 +1081,10 @@ RelativePath="..\..\include\wx\aui\tabart.h" > + + @@ -1123,6 +1127,10 @@ RelativePath="..\..\src\aui\tabart.cpp" > + + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 113d6ba7e8..d4b862b4a1 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -3960,6 +3960,10 @@ RelativePath="..\..\include\wx\aui\tabart.h" > + + diff --git a/build/msw/wx_vc9_aui.vcproj b/build/msw/wx_vc9_aui.vcproj index d75530bb43..5eaa4899e0 100644 --- a/build/msw/wx_vc9_aui.vcproj +++ b/build/msw/wx_vc9_aui.vcproj @@ -1077,6 +1077,10 @@ RelativePath="..\..\include\wx\aui\tabart.h" > + + @@ -1119,6 +1123,10 @@ RelativePath="..\..\src\aui\tabart.cpp" > + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 33f4ebe891..0ffe069944 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -3956,6 +3956,10 @@ RelativePath="..\..\include\wx\aui\tabart.h" > + + diff --git a/build/osx/wxcocoa.xcodeproj/project.pbxproj b/build/osx/wxcocoa.xcodeproj/project.pbxproj index 05ee886080..9eb956a6b1 100644 --- a/build/osx/wxcocoa.xcodeproj/project.pbxproj +++ b/build/osx/wxcocoa.xcodeproj/project.pbxproj @@ -253,9 +253,6 @@ 131B879180AE3FB481F81CC8 /* fs_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A305CEC03B3085B159B617 /* fs_mem.cpp */; }; 131B879180AE3FB481F81CC9 /* fs_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A305CEC03B3085B159B617 /* fs_mem.cpp */; }; 131B879180AE3FB481F81CCA /* fs_mem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C9A305CEC03B3085B159B617 /* fs_mem.cpp */; }; - 13250B531B1B3F9998C59DA9 /* stdpaths_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */; }; - 13250B531B1B3F9998C59DAA /* stdpaths_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */; }; - 13250B531B1B3F9998C59DAB /* stdpaths_cf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */; }; 135DFCE48FC03D8294D01A89 /* xmlrsall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */; }; 135DFCE48FC03D8294D01A8A /* xmlrsall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */; }; 135DFCE48FC03D8294D01A8B /* xmlrsall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29922DF1D0D63C33A186E783 /* xmlrsall.cpp */; }; @@ -532,6 +529,12 @@ 24A5A71C79733E9CB913C5B7 /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8744F2C80ECF375999195935 /* LexPB.cxx */; }; 24A5A71C79733E9CB913C5B8 /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8744F2C80ECF375999195935 /* LexPB.cxx */; }; 24A5A71C79733E9CB913C5B9 /* LexPB.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 8744F2C80ECF375999195935 /* LexPB.cxx */; }; + 24D4E0F61BA05FC200586317 /* stdpaths.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24D4E0F51BA05FC200586317 /* stdpaths.mm */; }; + 24D4E0F71BA05FC200586317 /* stdpaths.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24D4E0F51BA05FC200586317 /* stdpaths.mm */; }; + 24D4E0F81BA05FC200586317 /* stdpaths.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24D4E0F51BA05FC200586317 /* stdpaths.mm */; }; + 24AC00E71BA6C3900042A970 /* settings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24AC00E61BA6C3900042A970 /* settings.mm */; }; + 24AC00E81BA6C3900042A970 /* settings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24AC00E61BA6C3900042A970 /* settings.mm */; }; + 24AC00E91BA6C3900042A970 /* settings.mm in Sources */ = {isa = PBXBuildFile; fileRef = 24AC00E61BA6C3900042A970 /* settings.mm */; }; 254028D56649374E8D3CC85C /* libwx_osx_cocoau_html.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D9F65758E0363AF9AEC59A47 /* libwx_osx_cocoau_html.dylib */; }; 254028D56649374E8D3CC85D /* libwx_osx_cocoau_html.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = D9F65758E0363AF9AEC59A47 /* libwx_osx_cocoau_html.dylib */; }; 2563C775427E3D68BD384F2F /* richtextstyles.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D30617843F33310089C1F77A /* richtextstyles.cpp */; }; @@ -844,9 +847,6 @@ 42ED9BAFD6E936849F1D36CB /* xtixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4048A3523EC03409BD899BEF /* xtixml.cpp */; }; 42ED9BAFD6E936849F1D36CC /* xtixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4048A3523EC03409BD899BEF /* xtixml.cpp */; }; 42ED9BAFD6E936849F1D36CD /* xtixml.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4048A3523EC03409BD899BEF /* xtixml.cpp */; }; - 437519A6002A3A0FB2C9A8FC /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6CC2B05353C3284B37B2DD7 /* settings.cpp */; }; - 437519A6002A3A0FB2C9A8FD /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6CC2B05353C3284B37B2DD7 /* settings.cpp */; }; - 437519A6002A3A0FB2C9A8FE /* settings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E6CC2B05353C3284B37B2DD7 /* settings.cpp */; }; 438EAEA4B30C325C827F6197 /* xh_fontpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */; }; 438EAEA4B30C325C827F6198 /* xh_fontpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */; }; 438EAEA4B30C325C827F6199 /* xh_fontpicker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 87E609641B583666AB9D1D58 /* xh_fontpicker.cpp */; }; @@ -2527,9 +2527,6 @@ E8EE34F0A78C31B489B19FEE /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */; }; E8EE34F0A78C31B489B19FEF /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */; }; E8EE34F0A78C31B489B19FF0 /* LexMSSQL.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 1C71BF55495034FFBE653C80 /* LexMSSQL.cxx */; }; - E8F0C87119C63E8E81423A7C /* stdpaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */; }; - E8F0C87119C63E8E81423A7D /* stdpaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */; }; - E8F0C87119C63E8E81423A7E /* stdpaths.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */; }; E92EB502F79638B0BE569EF4 /* CallTip.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */; }; E92EB502F79638B0BE569EF5 /* CallTip.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */; }; E92EB502F79638B0BE569EF6 /* CallTip.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 4F58B88D42A93BD0B74ADF75 /* CallTip.cxx */; }; @@ -3939,7 +3936,9 @@ 24396D584D053948A3FF0DCD /* imagpng.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagpng.cpp; path = ../../src/common/imagpng.cpp; sourceTree = ""; }; 24720CD91BB03D77008E8A43 /* collheaderctrlg.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = collheaderctrlg.cpp; path = ../../src/generic/collheaderctrlg.cpp; sourceTree = ""; }; 24930711031D35288D28B04B /* choiccmn.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = choiccmn.cpp; path = ../../src/common/choiccmn.cpp; sourceTree = ""; }; + 24AC00E61BA6C3900042A970 /* settings.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = settings.mm; path = ../../src/osx/cocoa/settings.mm; sourceTree = ""; }; 24BD2EF635673E819B8406CB /* LexRust.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexRust.cxx; path = ../../src/stc/scintilla/lexers/LexRust.cxx; sourceTree = ""; }; + 24D4E0F51BA05FC200586317 /* stdpaths.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = stdpaths.mm; path = ../../src/osx/cocoa/stdpaths.mm; sourceTree = ""; }; 24DF23D67E693D999B875101 /* toolbkg.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = toolbkg.cpp; path = ../../src/generic/toolbkg.cpp; sourceTree = ""; }; 24E82A05E9A9323287CDB15B /* artstd.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = artstd.cpp; path = ../../src/common/artstd.cpp; sourceTree = ""; }; 25A81E9028793C109D868068 /* xh_timectrl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_timectrl.cpp; path = ../../src/xrc/xh_timectrl.cpp; sourceTree = ""; }; @@ -4237,7 +4236,6 @@ 7A34C5BBBA543DC0A50DE1B6 /* event.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = event.cpp; path = ../../src/common/event.cpp; sourceTree = ""; }; 7A3F26F539473705AA82411D /* combobox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = combobox.cpp; path = ../../src/osx/carbon/combobox.cpp; sourceTree = ""; }; 7AF8F8A78A5130DCB4D46729 /* LexCmake.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexCmake.cxx; path = ../../src/stc/scintilla/lexers/LexCmake.cxx; sourceTree = ""; }; - 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdpaths_cf.cpp; path = ../../src/osx/core/stdpaths_cf.cpp; sourceTree = ""; }; 7B389A14D6BF3AFD8CCE0807 /* protocol.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = protocol.cpp; path = ../../src/common/protocol.cpp; sourceTree = ""; }; 7BA6ADD758693BD180D3275B /* treebase.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = treebase.cpp; path = ../../src/common/treebase.cpp; sourceTree = ""; }; 7C6CC76872BA32D2B61EB8AB /* libwx_baseu_xml.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libwx_baseu_xml.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -4630,7 +4628,6 @@ E5357E76650035639844D15B /* stringimpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stringimpl.cpp; path = ../../src/common/stringimpl.cpp; sourceTree = ""; }; E5A9B63746753EDFB2EC48D3 /* xh_frame.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_frame.cpp; path = ../../src/xrc/xh_frame.cpp; sourceTree = ""; }; E6AB648BC5173104A96CAE66 /* xml.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xml.cpp; path = ../../src/xml/xml.cpp; sourceTree = ""; }; - E6CC2B05353C3284B37B2DD7 /* settings.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = settings.cpp; path = ../../src/osx/carbon/settings.cpp; sourceTree = ""; }; E72CF5F9C1E53BCFAA2BC253 /* KeyMap.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = KeyMap.cxx; path = ../../src/stc/scintilla/src/KeyMap.cxx; sourceTree = ""; }; E72F0A2EE3DB34E193D8CCA7 /* LexLaTeX.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexLaTeX.cxx; path = ../../src/stc/scintilla/lexers/LexLaTeX.cxx; sourceTree = ""; }; E78CBF86AAE637CB982B2EC0 /* LexMarkdown.cxx */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = LexMarkdown.cxx; path = ../../src/stc/scintilla/lexers/LexMarkdown.cxx; sourceTree = ""; }; @@ -4697,7 +4694,6 @@ F83172EE2DAE352FB969D4F2 /* jcapistd.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../src/jpeg/jcapistd.c; sourceTree = ""; }; F84F0DB790A23D92A193D2B4 /* http.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = http.cpp; path = ../../src/common/http.cpp; sourceTree = ""; }; F8638A6CCF773CCFB70DFC29 /* xh_collpane.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_collpane.cpp; path = ../../src/xrc/xh_collpane.cpp; sourceTree = ""; }; - F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = stdpaths.cpp; path = ../../src/unix/stdpaths.cpp; sourceTree = ""; }; FA59091E3ED83FB781FB9659 /* glcanvas_osx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = glcanvas_osx.cpp; path = ../../src/osx/glcanvas_osx.cpp; sourceTree = ""; }; FA7029BB5751398AA02D8C24 /* imagtga.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = imagtga.cpp; path = ../../src/common/imagtga.cpp; sourceTree = ""; }; FADE850169F7347F83FE1499 /* xh_statbar.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = xh_statbar.cpp; path = ../../src/xrc/xh_statbar.cpp; sourceTree = ""; }; @@ -5293,7 +5289,6 @@ 2128AD8BD12E3F33AD57478E /* overlay.cpp */, 530DC2E26BF2313E8702AD43 /* popupwin.cpp */, 425BFA3FDB7D3EA7ADCE1087 /* renderer.cpp */, - E6CC2B05353C3284B37B2DD7 /* settings.cpp */, E1F2E9C9052D3E53BBD17DE3 /* statbrma.cpp */, 00DA3D3EEF5E305CA73A1871 /* region.cpp */, 2AFC4A1CDA473688A590D19F /* utilscocoa.mm */, @@ -5335,6 +5330,7 @@ 835C22B71A0F3C469310E1E0 /* preferences.mm */, C9E32802E8ED3E729FF34CFC /* printdlg.mm */, CC2E24773D853A77B9FEFA4C /* scrolbar.mm */, + 24AC00E61BA6C3900042A970 /* settings.mm */, 9B862D1027C4367BBF44420F /* slider.mm */, 3C4A7A93CAFC3E22A2A5F7F3 /* spinbutt.mm */, 14EF4B028AD63B4A885D29A1 /* srchctrl.mm */, @@ -5954,7 +5950,6 @@ 7C97C1F26B5A38C49543060C /* mimetype.cpp */, 5168ADF7BE39351F8F24E1E6 /* cfstring.cpp */, 5BD6231188AB329CAA5E1171 /* evtloop_cf.cpp */, - 7B2DEE3EC7CE374DB0CE6EEA /* stdpaths_cf.cpp */, D5F9383D1CE931499F339D85 /* strconv_cf.cpp */, 81390F96937631078EFCD891 /* utilsexc_base.cpp */, 47F784C2BB5A3B5DAD276583 /* fdiodispatcher.cpp */, @@ -5967,7 +5962,6 @@ 3B548B1FF2A238809315C8A9 /* fdiounix.cpp */, 3D5D8B68EA743F6E97ADF612 /* snglinst.cpp */, EA2520F427493A22A70A5C09 /* stackwalk.cpp */, - F8C1E6D73ABD3A219B2C0603 /* stdpaths.cpp */, 0CB2CC8E60833A6993BEA321 /* timerunx.cpp */, AB466912FDA23F8B87A00A3C /* threadpsx.cpp */, DC75C7251C1732B0B07C7BD3 /* utilsunx.cpp */, @@ -5980,6 +5974,7 @@ 4188821BBA833CCAA678B234 /* utilscmn.cpp */, 789F45D14FF23E248FCFB5FA /* utils.mm */, 60DFD5962DE3379F801AF78F /* power.mm */, + 24D4E0F51BA05FC200586317 /* stdpaths.mm */, ); name = base; sourceTree = ""; @@ -7358,7 +7353,6 @@ 4657E7382E9E3EDC8DE24020 /* mimetype.cpp in Sources */, 1DBDF75500D73A3098015E81 /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BE /* evtloop_cf.cpp in Sources */, - 13250B531B1B3F9998C59DAB /* stdpaths_cf.cpp in Sources */, AAAB5DF8E60736D88273DD00 /* strconv_cf.cpp in Sources */, 4E140367282F38C8A904A006 /* utilsexc_base.cpp in Sources */, D36E76A4CAF5352D9397E201 /* fdiodispatcher.cpp in Sources */, @@ -7367,11 +7361,11 @@ 403FBA20CEFE3EAFB4E6B907 /* dir.cpp in Sources */, 20BEEFFA08F3396791596872 /* dlunix.cpp in Sources */, CBBD7B32DB7B3E24AE745D7A /* epolldispatcher.cpp in Sources */, + 24D4E0F81BA05FC200586317 /* stdpaths.mm in Sources */, D18E2985C48733B2B7B3D444 /* evtloopunix.cpp in Sources */, 3D22FC202D903007AEE3D166 /* fdiounix.cpp in Sources */, 4B88254FF9963833A276A64E /* snglinst.cpp in Sources */, 5F78DB0417BF3CE1B4E35C81 /* stackwalk.cpp in Sources */, - E8F0C87119C63E8E81423A7E /* stdpaths.cpp in Sources */, 2F35A207C3993DE08E4FE0B2 /* timerunx.cpp in Sources */, F5D2146C94E733FAAB6D286C /* threadpsx.cpp in Sources */, B5C7FD8C27F43F3289A77FCB /* utilsunx.cpp in Sources */, @@ -7455,6 +7449,7 @@ A3321FE2A87D3BD69E0BB00B /* notebook_osx.cpp in Sources */, 0C9A379D97B133FA831175A9 /* printdlg_osx.cpp in Sources */, B1775EF7C72233408044034D /* radiobox_osx.cpp in Sources */, + 24AC00E91BA6C3900042A970 /* settings.mm in Sources */, 6A081BF19747385CB4C18781 /* radiobut_osx.cpp in Sources */, DF8CE011EAC23F73BDA1C44F /* scrolbar_osx.cpp in Sources */, 27E73CA5C35A30CE89946ECC /* slider_osx.cpp in Sources */, @@ -7491,7 +7486,6 @@ CD2A9111B8A83AFA8B5B97E7 /* overlay.cpp in Sources */, 805CCAE64D023561AD334B55 /* popupwin.cpp in Sources */, 6832385DDBB33D1B90C73CBC /* renderer.cpp in Sources */, - 437519A6002A3A0FB2C9A8FE /* settings.cpp in Sources */, F6A1AC5CF84E32C19F91A616 /* statbrma.cpp in Sources */, D070C3BE95483FE38BABA1C0 /* region.cpp in Sources */, 07158EBC05A637ECA9DC7B51 /* utilscocoa.mm in Sources */, @@ -8063,7 +8057,6 @@ 4657E7382E9E3EDC8DE2401F /* mimetype.cpp in Sources */, 1DBDF75500D73A3098015E80 /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BD /* evtloop_cf.cpp in Sources */, - 13250B531B1B3F9998C59DAA /* stdpaths_cf.cpp in Sources */, AAAB5DF8E60736D88273DCFF /* strconv_cf.cpp in Sources */, 4E140367282F38C8A904A005 /* utilsexc_base.cpp in Sources */, D36E76A4CAF5352D9397E200 /* fdiodispatcher.cpp in Sources */, @@ -8076,7 +8069,6 @@ 3D22FC202D903007AEE3D165 /* fdiounix.cpp in Sources */, 4B88254FF9963833A276A64D /* snglinst.cpp in Sources */, 5F78DB0417BF3CE1B4E35C80 /* stackwalk.cpp in Sources */, - E8F0C87119C63E8E81423A7D /* stdpaths.cpp in Sources */, 2F35A207C3993DE08E4FE0B1 /* timerunx.cpp in Sources */, F5D2146C94E733FAAB6D286B /* threadpsx.cpp in Sources */, B5C7FD8C27F43F3289A77FCA /* utilsunx.cpp in Sources */, @@ -8163,7 +8155,6 @@ CD2A9111B8A83AFA8B5B97E6 /* overlay.cpp in Sources */, 805CCAE64D023561AD334B54 /* popupwin.cpp in Sources */, 6832385DDBB33D1B90C73CBB /* renderer.cpp in Sources */, - 437519A6002A3A0FB2C9A8FD /* settings.cpp in Sources */, F6A1AC5CF84E32C19F91A615 /* statbrma.cpp in Sources */, D070C3BE95483FE38BABA1BF /* region.cpp in Sources */, 07158EBC05A637ECA9DC7B50 /* utilscocoa.mm in Sources */, @@ -8203,6 +8194,7 @@ 9241AAE354C53190BF3D5BA4 /* radiobut.mm in Sources */, 8EE5A2467401365C8217AF30 /* preferences.mm in Sources */, 22E90F33B5C9308EBF37A701 /* printdlg.mm in Sources */, + 24D4E0F71BA05FC200586317 /* stdpaths.mm in Sources */, 5303FA25D0773FAEB963D8E4 /* scrolbar.mm in Sources */, 30AEDF41EC5C374DBF96EFFC /* slider.mm in Sources */, 5DA146A9F7653F53BF5299E9 /* spinbutt.mm in Sources */, @@ -8385,6 +8377,7 @@ B84642DA949638A189032CE7 /* http.cpp in Sources */, 6CA1BAEBBDB4336E9E201F96 /* protocol.cpp in Sources */, E39021D3CDCD33BAA646B007 /* sckaddr.cpp in Sources */, + 24AC00E81BA6C3900042A970 /* settings.mm in Sources */, 9F608A33D52D327FAA295625 /* sckfile.cpp in Sources */, BCD81FD3D1EC305F801E1C1C /* sckipc.cpp in Sources */, A3A898DA3114311EB7F02228 /* sckstrm.cpp in Sources */, @@ -9255,7 +9248,6 @@ 4657E7382E9E3EDC8DE2401E /* mimetype.cpp in Sources */, 1DBDF75500D73A3098015E7F /* cfstring.cpp in Sources */, 9FBC642677C63D01AA2511BC /* evtloop_cf.cpp in Sources */, - 13250B531B1B3F9998C59DA9 /* stdpaths_cf.cpp in Sources */, AAAB5DF8E60736D88273DCFE /* strconv_cf.cpp in Sources */, 4E140367282F38C8A904A004 /* utilsexc_base.cpp in Sources */, D36E76A4CAF5352D9397E1FF /* fdiodispatcher.cpp in Sources */, @@ -9268,7 +9260,6 @@ 3D22FC202D903007AEE3D164 /* fdiounix.cpp in Sources */, 4B88254FF9963833A276A64C /* snglinst.cpp in Sources */, 5F78DB0417BF3CE1B4E35C7F /* stackwalk.cpp in Sources */, - E8F0C87119C63E8E81423A7C /* stdpaths.cpp in Sources */, 2F35A207C3993DE08E4FE0B0 /* timerunx.cpp in Sources */, F5D2146C94E733FAAB6D286A /* threadpsx.cpp in Sources */, B5C7FD8C27F43F3289A77FC9 /* utilsunx.cpp in Sources */, @@ -9355,7 +9346,6 @@ CD2A9111B8A83AFA8B5B97E5 /* overlay.cpp in Sources */, 805CCAE64D023561AD334B53 /* popupwin.cpp in Sources */, 6832385DDBB33D1B90C73CBA /* renderer.cpp in Sources */, - 437519A6002A3A0FB2C9A8FC /* settings.cpp in Sources */, F6A1AC5CF84E32C19F91A614 /* statbrma.cpp in Sources */, D070C3BE95483FE38BABA1BE /* region.cpp in Sources */, 07158EBC05A637ECA9DC7B4F /* utilscocoa.mm in Sources */, @@ -9395,6 +9385,7 @@ 9241AAE354C53190BF3D5BA3 /* radiobut.mm in Sources */, 8EE5A2467401365C8217AF2F /* preferences.mm in Sources */, 22E90F33B5C9308EBF37A700 /* printdlg.mm in Sources */, + 24D4E0F61BA05FC200586317 /* stdpaths.mm in Sources */, 5303FA25D0773FAEB963D8E3 /* scrolbar.mm in Sources */, 30AEDF41EC5C374DBF96EFFB /* slider.mm in Sources */, 5DA146A9F7653F53BF5299E8 /* spinbutt.mm in Sources */, @@ -9577,6 +9568,7 @@ B84642DA949638A189032CE6 /* http.cpp in Sources */, 6CA1BAEBBDB4336E9E201F95 /* protocol.cpp in Sources */, E39021D3CDCD33BAA646B006 /* sckaddr.cpp in Sources */, + 24AC00E71BA6C3900042A970 /* settings.mm in Sources */, 9F608A33D52D327FAA295624 /* sckfile.cpp in Sources */, BCD81FD3D1EC305F801E1C1B /* sckipc.cpp in Sources */, A3A898DA3114311EB7F02227 /* sckstrm.cpp in Sources */, diff --git a/build/tools/upmake/lib/Text/Upmake.pm b/build/tools/upmake/lib/Text/Upmake.pm deleted file mode 100644 index 2df09b5936..0000000000 --- a/build/tools/upmake/lib/Text/Upmake.pm +++ /dev/null @@ -1,78 +0,0 @@ -package Text::Upmake; - -use strict; -use warnings; -use autodie; - -use Exporter qw(import); - -our @EXPORT = qw(read_files_list upmake); - -=head1 NAME - -Text::Upmake - Update make files. - -=head1 SYNOPSIS - -=head1 AUTHOR - -Vadim Zeitlin - -=cut - -# Reads the file containing the file lists definitions and returns a hash ref -# with variable names as keys and refs to arrays of the file names as values. -# -# Takes an (open) file handle as argument. -sub read_files_list -{ - my ($fh) = @_; - - my ($var, %vars); - while (<$fh>) { - chomp; - s/#.*$//; - s/^\s+//; - s/\s+$//; - next if !$_; - - if (/^(\w+)\s*=$/) { - $var = $1; - } else { - die "Unexpected contents outside variable definition at line $.\n" - unless defined $var; - push @{$vars{$var}}, $_; - } - } - - return \%vars; -} - -# Update the file with the given name in place using the specified function and -# passing it the rest of the arguments. -# -# This is meant to be used with update_xxx() below. -sub upmake -{ - my ($fname, $updater, @args) = @_; - - my $fname_new = "$fname.upmake.new"; # TODO make it more unique - - open my $in, '<', $fname; - open my $out, '>', $fname_new; - - my $changed = $updater->($in, $out, @args); - - close $in; - close $out; - - if ($changed) { - rename $fname_new, $fname; - } else { - unlink $fname_new; - } - - $changed -} - -1; diff --git a/build/tools/upmake/lib/Text/Upmake/Bakefile0.pm b/build/tools/upmake/lib/Text/Upmake/Bakefile0.pm deleted file mode 100644 index 3ee1c55e1c..0000000000 --- a/build/tools/upmake/lib/Text/Upmake/Bakefile0.pm +++ /dev/null @@ -1,97 +0,0 @@ -package Text::Upmake::Bakefile0; - -use Exporter qw(import); -our @EXPORT = qw(update_bakefile_0); - -=head1 NAME - -Text::Upmake::Bakefile0 - Update bakefile-0.x files list. - -=head1 SYNOPSIS - -This is used exclusively to update wxWidgets C and is probably not -useful outside of wxWidgets project. - - use Text::Upmake::Bakefile0; - Text::Upmake::upmake('bakefiles/files.bkl', \&update_bakefile_0, $vars); - -=head1 SEE ALSO - -Text::Upmake - -=head1 AUTHOR - -Vadim Zeitlin - -=cut - -# Update file with variable definitions in bakefile-0 format with the data -# from the hash ref containing all the file lists. -# -# Takes the (open) file handles of the files to read and to write and the file -# lists hash ref as arguments. -# -# Returns 1 if any changes were made. -# -# The caller must take care of actually renaming the second file to the first -# one. -sub update_bakefile_0 -{ - my ($in, $out, $vars) = @_; - - # Variable whose contents is being currently replaced. - my $var; - - # Hash with files defined for the specified variable as keys and 0 or 1 - # depending on whether we have seen them in the input file as values. - my %files; - - # Set to 1 if we made any changes. - my $changed = 0; - while (<$in>) { - chomp; - - if (// && exists $vars->{$1}) { - $var = $1; - %files = map { $_ => 0 } @{$vars->{$var}}; - } elsif (defined $var) { - local $_ = $_; - s///; - s/^\s+//; - s/\s+$//; - if (m{}) { - # Check if we have any new files. - # - # TODO Insert them in alphabetical order. - while (my ($file, $seen) = each(%files)) { - if (!$seen) { - # This file was wasn't present in the input, add it. - # TODO Use proper indentation. - print $out " $file\n"; - - $changed = 1; - } - } - - undef $var; - } elsif ($_) { - if (not exists $files{$_}) { - # This file was removed. - $changed = 1; - next; - } - - if ($files{$_}) { - warn qq{Duplicate file "$_" in the definition of the } . - qq{variable "$var" at line $.\n} - } else { - $files{$_} = 1; - } - } - } - - print $out "$_\n"; - } - - $changed -} diff --git a/build/tools/upmake/lib/Text/Upmake/MSBuild.pm b/build/tools/upmake/lib/Text/Upmake/MSBuild.pm deleted file mode 100644 index 9ec1120866..0000000000 --- a/build/tools/upmake/lib/Text/Upmake/MSBuild.pm +++ /dev/null @@ -1,252 +0,0 @@ -package Text::Upmake::MSBuild; - -use Exporter qw(import); -our @EXPORT = qw(update_msbuild update_msbuild_filters); - -=head1 NAME - -Text::Upmake::MSBuild - Update list of sources and headers in MSBuild projects. - -=head1 SYNOPSIS - -Given an MSBuild project C and its associated filters file -C, the functions in this module can be used to update -the list of files in them to correspond to the given ones. - - use Text::Upmake::Bakefile0; - Text::Upmake::upmake('projects.vcxproj', \&update_msbuild, \@sources, \@headers); - Text::Upmake::upmake('projects.vcxproj.filters', \&update_msbuild_filters, \@sources, \@headers); - -=head1 SEE ALSO - -Text::Upmake - -=head1 AUTHOR - -Vadim Zeitlin - -=cut - -# Update sources and headers in an MSBuild project. -# -# Parameters: input and output file handles and array references to the sources -# and the headers to be used in this project. -# -# Returns 1 if any changes were made. -sub update_msbuild -{ - my ($in, $out, $sources, $headers) = @_; - - # Hashes mapping the sources/headers names to 1 if they have been seen in - # the project or 0 otherwise. - my %sources = map { $_ => 0 } @$sources; - my %headers = map { $_ => 0 } @$headers; - - # Reference to the hash corresponding to the files currently being - # processed. - my $files; - - # Set to 1 when we are inside any tag. - my $in_group = 0; - - # Set to 1 when we are inside an item group containing sources or headers - # respectively. - my ($in_sources, $in_headers) = 0; - - # Set to 1 if we made any changes. - my $changed = 0; - while (my $line_with_eol = <$in>) { - (my $line = $line_with_eol) =~ s/\r?\n?$//; - - if ($line =~ /^\s*$/) { - $in_group = 1; - } elsif ($line =~ m{^\s*$}) { - if (defined $files) { - my $kind = $in_sources ? 'Compile' : 'Include'; - - # Check if we have any new files. - # - # TODO Insert them in alphabetical order. - while (my ($file, $seen) = each(%$files)) { - if (!$seen) { - # Convert path separator to the one used by MSBuild. - $file =~ s@/@\\@g; - - print $out qq{ \n}; - - $changed = 1; - } - } - - $in_sources = $in_headers = 0; - } - - $in_group = 0; - } elsif ($in_group) { - if ($line =~ m{^\s*Compile|Include) Include="(?[^"]+)"\s*(?/)?>$}) { - if ($+{kind} eq 'Compile') { - warn "Mix of sources and headers at line $.\n" if $in_headers; - $in_sources = 1; - $files = \%sources; - } else { - warn "Mix of headers and sources at line $.\n" if $in_sources; - $in_headers = 1; - $files = \%headers; - } - - my $closed_tag = defined $+{slash}; - - # Normalize the path separator, we always use Unix ones but the - # project files use Windows one. - my $file = $+{file}; - $file =~ s@\\@/@g; - - if (not exists $files->{$file}) { - # This file was removed. - $changed = 1; - - if (!$closed_tag) { - # We have just the opening tag, ignore - # everything until the next - while (<$in>) { - last if m{^\s*$}; - } - } - - # In any case skip either this line containing the full - # tag or the line with the closing tag. - next; - } else { - if ($files->{$file}) { - warn qq{Duplicate file "$file" in the project at line $.\n}; - } else { - $files->{$file} = 1; - } - } - } - } - - print $out $line_with_eol; - } - - $changed -} - -# Update sources and headers in an MSBuild filters file. -# -# Parameters: input and output file handles, array references to the sources -# and the headers to be used in this project and a callback used to determine -# the filter for the new files. -# -# Returns 1 if any changes were made. -sub update_msbuild_filters -{ - my ($in, $out, $sources, $headers, $filter_cb) = @_; - - # Hashes mapping the sources/headers names to the text representing them in - # the input file if they have been seen in it or nothing otherwise. - my %sources = map { $_ => undef } @$sources; - my %headers = map { $_ => undef } @$headers; - - # Reference to the hash corresponding to the files currently being - # processed. - my $files; - - # Set to 1 when we are inside any tag. - my $in_group = 0; - - # Set to 1 when we are inside an item group containing sources or headers - # respectively. - my ($in_sources, $in_headers) = 0; - - # Set to 1 if we made any changes. - my $changed = 0; - while (my $line_with_eol = <$in>) { - (my $line = $line_with_eol) =~ s/\r?\n?$//; - - if ($line =~ /^\s*?$/) { - $in_group = 1; - } elsif ($line =~ m{^\s*?$}) { - if (defined $files) { - # Output the group contents now, all at once, inserting any new - # files: we must do it like this to ensure that they are - # inserted in alphabetical order. - my $kind = $in_sources ? 'Compile' : 'Include'; - - foreach my $file (sort keys %$files) { - if (defined $files->{$file}) { - print $out $files->{$file}; - } else { - my $filter = defined $filter_cb ? $filter_cb->($file) : undef; - - # Convert path separator to the one used by MSBuild. - $file =~ s@/@\\@g; - - my $indent = ' ' x 2; - - print $out qq{$indent$indent\n$indent$indent$indent$filter\n$indent$indent\n"; - } else { - print $out " />\n"; - } - - $changed = 1; - } - } - - $in_sources = $in_headers = 0; - $files = undef; - } - - $in_group = 0; - } elsif ($in_group && - $line =~ m{^\s*Compile|Include) Include="(?[^"]+)"\s*(?/)?>?$}) { - my $kind = $+{kind}; - if ($kind eq 'Compile') { - warn "Mix of sources and headers at line $.\n" if $in_headers; - $in_sources = 1; - $files = \%sources; - } else { - warn "Mix of headers and sources at line $.\n" if $in_sources; - $in_headers = 1; - $files = \%headers; - } - - my $closed_tag = defined $+{slash}; - - # Normalize the path separator, we always use Unix ones but the - # project files use Windows one. - my $file = $+{file}; - $file =~ s@\\@/@g; - - my $text = $line_with_eol; - if (!$closed_tag) { - # We have just the opening tag, get everything - # until the next . - while (<$in>) { - $text .= $_; - last if m{^\s*\r?\n?$}; - } - } - - if (not exists $files->{$file}) { - # This file was removed. - $changed = 1; - } else { - if ($files->{$file}) { - warn qq{Duplicate file "$file" in the project at line $.\n}; - } else { - $files->{$file} = $text; - } - } - - # Don't output this line yet, wait until the end of the group. - next - } - - print $out $line_with_eol; - } - - $changed -} diff --git a/build/tools/upmake/t/01_read_files_list.t b/build/tools/upmake/t/01_read_files_list.t deleted file mode 100644 index 042232be92..0000000000 --- a/build/tools/upmake/t/01_read_files_list.t +++ /dev/null @@ -1,24 +0,0 @@ -use strict; -use warnings; -use autodie; -use Test::More; - -BEGIN { use_ok('Text::Upmake'); } - -my $vars = read_files_list(*DATA); -is_deeply($vars->{VAR1}, [qw(file1 file2)], 'VAR1 has expected value'); -is_deeply($vars->{VAR2}, [qw(file3 file4)], 'VAR2 has expected value'); - -done_testing() - -__DATA__ -# Some comments - -VAR1 = - file1 - # comment between the files - file2 -VAR2 = - file3 - file4 # comment - # another comment diff --git a/build/tools/upmake/t/02_update_bakefile_0.t b/build/tools/upmake/t/02_update_bakefile_0.t deleted file mode 100644 index 76957bf2b7..0000000000 --- a/build/tools/upmake/t/02_update_bakefile_0.t +++ /dev/null @@ -1,47 +0,0 @@ -use strict; -use warnings; -use autodie; -use Test::More; - -BEGIN { use_ok('Text::Upmake::Bakefile0'); } - -my $vars = { - VAR1 => [qw(file1 file2 fileNew)], - VAR2 => [qw(file3 file4 file5 fileNew2)], - }; - -open my $out, '>', \my $outstr; -update_bakefile_0(*DATA, $out, $vars); - -note("Result: $outstr"); - -like($outstr, qr/file1/, 'existing file was preserved'); -like($outstr, qr/fileNew$/m, 'new file was added'); -unlike($outstr, qr/fileOld/, 'old file was removed'); -like($outstr, qr/fileNew2/, 'another new file was added'); -like($outstr, qr/file3\s+file4/s, 'files remain in correct order'); - -done_testing() - -__DATA__ - - - - - - - file1 - - file2 - - - - file3 - file4 - file5 - fileOld - - - diff --git a/build/tools/upmake/t/03_update_msbuild.t b/build/tools/upmake/t/03_update_msbuild.t deleted file mode 100644 index ceda9ceb65..0000000000 --- a/build/tools/upmake/t/03_update_msbuild.t +++ /dev/null @@ -1,50 +0,0 @@ -use strict; -use warnings; -use autodie; -use Test::More; - -use Text::Upmake; -BEGIN { use_ok('Text::Upmake::MSBuild'); } - -my $sources = [qw(file1.cpp file2.cpp fileNew.cpp)]; -my $headers = [qw(file1.h file2.h fileNew.h)]; - -open my $out, '>', \my $outstr; -update_msbuild(*DATA, $out, $sources, $headers); - -note("Result: $outstr"); - -like($outstr, qr/file1\.cpp/, 'existing source file was preserved'); -like($outstr, qr/fileNew\.cpp/m, 'new source file was added'); -unlike($outstr, qr/fileOld\.cpp/, 'old source file was removed'); -unlike($outstr, qr/file3\.h/, 'old header was removed'); -like($outstr, qr/fileNew\.h/, 'new header was added'); - -done_testing() - -__DATA__ - - - - - Debug - Win32 - - - - - - - - Create - - - - - - - - - - - diff --git a/build/tools/upmake/t/04_update_msbuild_filters.t b/build/tools/upmake/t/04_update_msbuild_filters.t deleted file mode 100644 index 3dc21c6e58..0000000000 --- a/build/tools/upmake/t/04_update_msbuild_filters.t +++ /dev/null @@ -1,67 +0,0 @@ -use strict; -use warnings; -use autodie; -use Test::More; - -use Text::Upmake; -BEGIN { use_ok('Text::Upmake::MSBuild'); } - -my $sources = [qw(file1.cpp file2.cpp file4.cpp fileNew.cpp)]; -my $headers = [qw(file1.h file2.h fileNew.h)]; - -sub filter_cb -{ - my ($file) = @_; - - return 'New Sources' if $file =~ /New\./; - - undef -} - -open my $out, '>', \my $outstr; -update_msbuild_filters(*DATA, $out, $sources, $headers, \&filter_cb); - -note("Result: $outstr"); - -like($outstr, qr/file1\.cpp/, 'existing source file was preserved'); -like($outstr, qr/fileNew\.cpp/m, 'new source file was added'); -unlike($outstr, qr/fileOld\.cpp/, 'old source file was removed'); -unlike($outstr, qr/file3\.cpp/, 'another old source file was removed'); -unlike($outstr, qr/file3\.h/, 'old header was removed'); -like($outstr, qr/fileNew\.h/, 'new header was added'); - -done_testing() - -__DATA__ - - - - - {...} - - - {...} - - - - - Common Sources - - - Common Sources - - - - - - - Common Headers - - - Common Headers - - - Common Headers - - - diff --git a/build/upmake b/build/upmake index 5824a95653..b199d6e231 100755 --- a/build/upmake +++ b/build/upmake @@ -1,5 +1,1345 @@ #!/usr/bin/env perl +# This chunk of stuff was generated by App::FatPacker. To find the original +# file's code, look for the end of this BEGIN block or the string 'FATPACK' +BEGIN { +my %fatpacked; + +$fatpacked{"Makefile/Update.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MAKEFILE_UPDATE'; + package Makefile::Update; + + # ABSTRACT: Update make files. + + use strict; + use warnings; + use autodie; + + use Exporter qw(import); + + our @EXPORT = qw(read_files_list upmake); + + our $VERSION = '0.3'; # VERSION + + + + sub read_files_list + { + my ($fh) = @_; + + my ($var, %vars); + while (<$fh>) { + chomp; + s/#.*$//; + s/^\s+//; + s/\s+$//; + next if !$_; + + if (/^(\w+)\s*=$/) { + $var = $1; + } else { + die "Unexpected contents outside variable definition at line $.\n" + unless defined $var; + if (/^\$(\w+)$/) { + my $name = $1; + die qq{Reference to undefined variable "$name" in the } . + qq{assignment to "$var" at line $.\n} + unless exists $vars{$name}; + my $value = $vars{$name}; + push @{$vars{$var}}, $_ for @$value; + } else { + push @{$vars{$var}}, $_; + } + } + } + + return \%vars; + } + + + sub upmake + { + my $file_or_options = shift; + my ($updater, @args) = @_; + + my ($fname, $verbose, $quiet, $dryrun); + if (ref $file_or_options eq 'HASH') { + $fname = $file_or_options->{file}; + $verbose = $file_or_options->{verbose}; + $quiet = $file_or_options->{quiet}; + $dryrun = $file_or_options->{dryrun}; + } else { + $fname = $file_or_options; + $verbose = + $quiet = + $dryrun = 0; + } + + if ($dryrun) { + my $old = do { + local $/; + open my $f, '<', $fname; + <$f> + }; + my $new = ''; + + open my $in, '<', \$old; + open my $out, '>', \$new; + + if ($updater->($in, $out, @args)) { + print qq{Would update "$fname"}; + + if ($verbose) { + if (eval { require Text::Diff; }) { + print " with the following changes:\n"; + + print Text::Diff::diff(\$old, \$new, { + FILENAME_A => $fname, + FILENAME_B => "$fname.new" + }); + } else { + print ".\n"; + + warn qq{Can't display diff of the changes, please install Text::Diff module.\n}; + } + } else { + print ".\n"; + } + } else { + print qq{Wouldn't change the file "$fname".\n}; + } + + return 0; + } + + my $fname_new = "$fname.upmake.new"; # TODO make it more unique + + open my $in, '<', $fname; + open my $out, '>', $fname_new; + + my $changed = $updater->($in, $out, @args); + + close $in; + close $out; + + if ($changed) { + rename $fname_new, $fname; + } else { + unlink $fname_new; + } + + if ($changed) { + print qq{File "$fname" successfully updated.\n} unless $quiet; + return 1; + } else { + print qq{No changes in the file "$fname".\n} if $verbose; + return 0; + } + } + + 1; + + __END__ + + =pod + + =encoding UTF-8 + + =head1 NAME + + Makefile::Update - Update make files. + + =head1 VERSION + + version 0.3 + + =head1 SYNOPSIS + + use Makefile::Update; + my $vars = read_files_list('files.lst'); + upmake('foo.vcxproj', $vars->{sources}, $vars->{headers}); + + =head1 FUNCTIONS + + =head2 read_files_list + + Reads the file containing the file lists definitions and returns a hash ref + with variable names as keys and refs to arrays of the file names as values. + + Takes an (open) file handle as argument. + + The file contents is supposed to have the following very simple format: + + # Comments are allowed and ignored. + # + # The variable definitions must always be in the format shown below, + # i.e. whitespace is significant and there should always be a single + # file per line. + sources = + file1.cpp + file2.cpp + + headers = + file1.h + file2.h + + # It is also possible to define variables in terms of other variables + # defined before it in the file (no forward references): + everything = + $sources + $headers + + =head2 upmake + + Update a file in place using the specified function and passing it the rest of + the arguments. + + The first parameter is either just the file path or a hash reference which may + contain the following keys: + + =over + + =item C + + The path to the file to be updated, required. + + =item C + + If true, give more messages about what is being done. + + =item C + + If true, don't output any non-error messages. + + =item C + + If true, don't really update the file but just output whether it would have + been updated or not. If C is also true, also output the diff of the + changes that would have been done. + + =back + + This is meant to be used with C defined in different + Makefile::Update::Xxx modules. + + Returns 1 if the file was changed or 0 otherwise. + + =head1 AUTHOR + + Vadim Zeitlin + + =head1 COPYRIGHT AND LICENSE + + This software is copyright (c) 2015 by Vadim Zeitlin. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. + + =cut +MAKEFILE_UPDATE + +$fatpacked{"Makefile/Update/Bakefile0.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MAKEFILE_UPDATE_BAKEFILE0'; + package Makefile::Update::Bakefile0; + # ABSTRACT: Update bakefile-0.x files list. + + use Exporter qw(import); + our @EXPORT = qw(update_bakefile_0); + + use strict; + use warnings; + + our $VERSION = '0.3'; # VERSION + + + + sub update_bakefile_0 + { + my ($in, $out, $vars) = @_; + + # Variable whose contents is being currently replaced. + my $var; + + # Hash with files defined for the specified variable as keys and 0 or 1 + # depending on whether we have seen them in the input file as values. + my %files; + + # Set to 1 if we made any changes. + my $changed = 0; + while (<$in>) { + chomp; + + if (// && exists $vars->{$1}) { + $var = $1; + %files = map { $_ => 0 } @{$vars->{$var}}; + } elsif (defined $var) { + local $_ = $_; + s///; + s/^\s+//; + s/\s+$//; + if (m{}) { + # Check if we have any new files. + # + # TODO Insert them in alphabetical order. + while (my ($file, $seen) = each(%files)) { + if (!$seen) { + # This file was wasn't present in the input, add it. + # TODO Use proper indentation. + print $out " $file\n"; + + $changed = 1; + } + } + + undef $var; + } elsif ($_) { + if (not exists $files{$_}) { + # This file was removed. + $changed = 1; + next; + } + + if ($files{$_}) { + warn qq{Duplicate file "$_" in the definition of the } . + qq{variable "$var" at line $.\n} + } else { + $files{$_} = 1; + } + } + } + + print $out "$_\n"; + } + + $changed + } + + __END__ + + =pod + + =encoding UTF-8 + + =head1 NAME + + Makefile::Update::Bakefile0 - Update bakefile-0.x files list. + + =head1 VERSION + + version 0.3 + + =head1 SYNOPSIS + + This is used exclusively to update wxWidgets C and is probably not + useful outside of wxWidgets project. + + use Makefile::Update::Bakefile0; + Makefile::Update::upmake('bakefiles/files.bkl', \&update_bakefile_0, $vars); + + =head1 FUNCTIONS + + =head2 update_bakefile_0 + + Update file with variable definitions in bakefile-0 format with the data + from the hash ref containing all the file lists. + + Takes the (open) file handles of the files to read and to write and the file + lists hash ref as arguments. + + Returns 1 if any changes were made. + + =head1 SEE ALSO + + Makefile::Update + + =head1 AUTHOR + + Vadim Zeitlin + + =head1 COPYRIGHT AND LICENSE + + This software is copyright (c) 2015 by Vadim Zeitlin. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. + + =cut +MAKEFILE_UPDATE_BAKEFILE0 + +$fatpacked{"Makefile/Update/MSBuild.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MAKEFILE_UPDATE_MSBUILD'; + package Makefile::Update::MSBuild; + # ABSTRACT: Update list of sources and headers in MSBuild projects. + + use Exporter qw(import); + our @EXPORT = qw(update_msbuild_project update_msbuild update_msbuild_filters); + + use strict; + use warnings; + + our $VERSION = '0.3'; # VERSION + + + + sub update_msbuild_project + { + my ($file_or_options, $sources, $headers) = @_; + + use Makefile::Update; + + if (!Makefile::Update::upmake($file_or_options, + \&update_msbuild, $sources, $headers + )) { + return 0; + } + + my $args; + if (ref $file_or_options eq 'HASH') { + # Need to make a copy to avoid modifying the callers hash. + $args = { %$file_or_options }; + $args->{file} .= ".filters" + } else { + $args = "$file_or_options.filters" + } + + return Makefile::Update::upmake($args, + \&update_msbuild_filters, $sources, $headers + ); + } + + + + sub update_msbuild + { + my ($in, $out, $sources, $headers) = @_; + + # Hashes mapping the sources/headers names to 1 if they have been seen in + # the project or 0 otherwise. + my %sources = map { $_ => 0 } @$sources; + my %headers = map { $_ => 0 } @$headers; + + # Reference to the hash corresponding to the files currently being + # processed. + my $files; + + # Set to 1 when we are inside any tag. + my $in_group = 0; + + # Set to 1 when we are inside an item group containing sources or headers + # respectively. + my ($in_sources, $in_headers) = 0; + + # Set to 1 if we made any changes. + my $changed = 0; + while (my $line_with_eol = <$in>) { + (my $line = $line_with_eol) =~ s/\r?\n?$//; + + if ($line =~ /^\s*$/) { + $in_group = 1; + } elsif ($line =~ m{^\s*$}) { + if (defined $files) { + my $kind = $in_sources ? 'Compile' : 'Include'; + + # Check if we have any new files. + # + # TODO Insert them in alphabetical order. + while (my ($file, $seen) = each(%$files)) { + if (!$seen) { + # Convert path separator to the one used by MSBuild. + $file =~ s@/@\\@g; + + print $out qq{ \r\n}; + + $changed = 1; + } + } + + $in_sources = $in_headers = 0; + $files = undef; + } + + $in_group = 0; + } elsif ($in_group) { + if ($line =~ m{^\s*Compile|Include) Include="(?[^"]+)"\s*(?/)?>$}) { + my $kind = $+{kind}; + if ($kind eq 'Compile') { + warn "Mix of sources and headers at line $.\n" if $in_headers; + $in_sources = 1; + $files = \%sources; + } else { + warn "Mix of headers and sources at line $.\n" if $in_sources; + $in_headers = 1; + $files = \%headers; + } + + my $closed_tag = defined $+{slash}; + + # Normalize the path separator, we always use Unix ones but the + # project files use Windows one. + my $file = $+{file}; + $file =~ s@\\@/@g; + + if (not exists $files->{$file}) { + # This file was removed. + $changed = 1; + + if (!$closed_tag) { + # We have just the opening or + # tag, ignore everything until the matching closing one. + my $tag = "Cl$kind"; + while (<$in>) { + last if m{^\s*\r?\n$}; + } + } + + # In any case skip either this line containing the full + # tag or the line with the closing tag. + next; + } else { + if ($files->{$file}) { + warn qq{Duplicate file "$file" in the project at line $.\n}; + } else { + $files->{$file} = 1; + } + } + } + } + + print $out $line_with_eol; + } + + $changed + } + + + sub update_msbuild_filters + { + my ($in, $out, $sources, $headers, $filter_cb) = @_; + + # Use standard/default classifier for the files if none is explicitly + # specified. + if (!defined $filter_cb) { + $filter_cb = sub { + my ($file) = @_; + + return 'Source Files' if $file =~ q{\.c(c|pp|xx|\+\+)?$}; + return 'Header Files' if $file =~ q{\.h(h|pp|xx|\+\+)?$}; + + warn qq{No filter defined for the file "$file".\n}; + + undef + } + } + + # Hashes mapping the sources/headers names to the text representing them in + # the input file if they have been seen in it or nothing otherwise. + my %sources = map { $_ => undef } @$sources; + my %headers = map { $_ => undef } @$headers; + + # Reference to the hash corresponding to the files currently being + # processed. + my $files; + + # Set to 1 when we are inside any tag. + my $in_group = 0; + + # Set to 1 when we are inside an item group containing sources or headers + # respectively. + my ($in_sources, $in_headers) = 0; + + # Set to 1 if we made any changes. + my $changed = 0; + while (my $line_with_eol = <$in>) { + (my $line = $line_with_eol) =~ s/\r?\n?$//; + + if ($line =~ /^\s*?$/) { + $in_group = 1; + } elsif ($line =~ m{^\s*?$}) { + if (defined $files) { + # Output the group contents now, all at once, inserting any new + # files: we must do it like this to ensure that they are + # inserted in alphabetical order. + my $kind = $in_sources ? 'Compile' : 'Include'; + + foreach my $file (sort keys %$files) { + if (defined $files->{$file}) { + print $out $files->{$file}; + } else { + my $filter = $filter_cb->($file); + + # Convert path separator to the one used by MSBuild. + $file =~ s@/@\\@g; + + my $indent = ' ' x 2; + + print $out qq{$indent$indent\r\n$indent$indent$indent$filter\r\n$indent$indent\r\n"; + } else { + print $out " />\r\n"; + } + + $changed = 1; + } + } + + $in_sources = $in_headers = 0; + $files = undef; + } + + $in_group = 0; + } elsif ($in_group && + $line =~ m{^\s*Compile|Include) Include="(?[^"]+)"\s*(?/)?>?$}) { + my $kind = $+{kind}; + if ($kind eq 'Compile') { + warn "Mix of sources and headers at line $.\n" if $in_headers; + $in_sources = 1; + $files = \%sources; + } else { + warn "Mix of headers and sources at line $.\n" if $in_sources; + $in_headers = 1; + $files = \%headers; + } + + my $closed_tag = defined $+{slash}; + + # Normalize the path separator, we always use Unix ones but the + # project files use Windows one. + my $file = $+{file}; + $file =~ s@\\@/@g; + + my $text = $line_with_eol; + if (!$closed_tag) { + # We have just the opening tag, get everything + # until the next . + while (<$in>) { + $text .= $_; + last if m{^\s*\r?\n?$}; + } + } + + if (not exists $files->{$file}) { + # This file was removed. + $changed = 1; + } else { + if ($files->{$file}) { + warn qq{Duplicate file "$file" in the project at line $.\n}; + } else { + $files->{$file} = $text; + } + } + + # Don't output this line yet, wait until the end of the group. + next + } + + print $out $line_with_eol; + } + + $changed + } + + __END__ + + =pod + + =encoding UTF-8 + + =head1 NAME + + Makefile::Update::MSBuild - Update list of sources and headers in MSBuild projects. + + =head1 VERSION + + version 0.3 + + =head1 SYNOPSIS + + Given an MSBuild project C and its associated filters file + C, the functions in this module can be used to update + the list of files in them to correspond to the given ones. + + use Makefile::Update::MSBuild; + upmake_msbuild_project('project.vcxproj', \@sources, \@headers); + + =head1 FUNCTIONS + + =head2 update_msbuild_project + + Update sources and headers in an MSBuild project and filter files. + + Pass the path of the project to update or a hash with the same keys as used by + C as the first parameter and the references to the + sources and headers arrays as the subsequent ones. + + Returns 1 if any changes were made, either to the project itself or to its + associated C<.filters> file. + + =head2 update_msbuild + + Update sources and headers in an MSBuild project. + + Parameters: input and output file handles and array references to the sources + and the headers to be used in this project. + + Returns 1 if any changes were made. + + =head2 update_msbuild_filters + + Update sources and headers in an MSBuild filters file. + + Parameters: input and output file handles, array references to the sources + and the headers to be used in this project and a callback used to determine + the filter for the new files. + + Returns 1 if any changes were made. + + =head1 SEE ALSO + + Makefile::Update, Makefile::Update::VCProj + + =head1 AUTHOR + + Vadim Zeitlin + + =head1 COPYRIGHT AND LICENSE + + This software is copyright (c) 2015 by Vadim Zeitlin. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. + + =cut +MAKEFILE_UPDATE_MSBUILD + +$fatpacked{"Makefile/Update/Makefile.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MAKEFILE_UPDATE_MAKEFILE'; + package Makefile::Update::Makefile; + # ABSTRACT: Update lists of files in makefile variables. + + use Exporter qw(import); + our @EXPORT = qw(update_makefile); + + use strict; + use warnings; + + our $VERSION = '0.3'; # VERSION + + + + sub update_makefile + { + my ($in, $out, $vars) = @_; + + # Variable whose contents is being currently replaced and its original + # name in the makefile. + my ($var, $makevar); + + # Hash with files defined for the specified variable as keys and 0 or 1 + # depending on whether we have seen them in the input file as values. + my %files; + + # Array of lines in the existing makefile. + my @values; + + # True if the values are in alphabetical order: we use this to add new + # entries in alphabetical order too if the existing ones use it, otherwise + # we just append them at the end. + my $sorted = 1; + + # Extensions of the files in the files list (they're keys of this hash, + # the values are not used), there can be more than one (e.g. ".c" and + # ".cpp"). + my %src_exts; + + # Extension of the files in the makefiles: here there can also be more + # than one, but in this case we just give up and don't perform any + # extensions translation because we don't have enough information to do it + # (e.g. which extension should be used for the new files in the makefile?). + # Such case is indicated by make_ext being empty (as opposed to its + # initial undefined value). + my $make_ext; + + # Helper to get the extension. Note that the "extension" may be a make + # variable, e.g. the file could be something like "foo.$(obj)", so don't + # restrict it to just word characters. + sub _get_ext { $_[0] =~ /(\.\S+)$/ ? $1 : undef } + + # Indent and the part after the value (typically some amount of spaces and + # a backslash) for normal lines and, separately, for the last one, as it + # may or not have backslash after it. + my ($indent, $tail, $last_tail); + + # We can't use the usual check for EOF inside while itself because this + # wouldn't work for files with no new line after the last line, so check + # for the EOF manually. + my $eof = 0; + + # Set to 1 if we made any changes. + my $changed = 0; + while (1) { + my $line = <$in>; + if (defined $line) { + chomp $line; + } else { + $line = ''; + $eof = 1; + } + + # If we're inside the variable definition, parse the current line as + # another file name, + if (defined $var) { + if ($line =~ /^(?\s*)(?[^ ]+)(?\s*\\?)$/) { + if (defined $indent) { + warn qq{Inconsistent indent at line $. in the } . + qq{definition of the variable "$makevar".\n} + if $+{indent} ne $indent; + } else { + $indent = $+{indent}; + } + + $last_tail = $+{tail}; + my $file_orig = $+{file}; + + $tail = $last_tail if !defined $tail; + + # Check if we have something with the correct extension and + # preserve unchanged all the rest -- we don't want to remove + # expansions of other makefile variables from this one, for + # example, but such expansions would never be in the files + # list as they don't make sense for the other formats. + my $file = $file_orig; + if (defined (my $file_ext = _get_ext($file))) { + if (defined $make_ext) { + if ($file_ext ne $make_ext) { + # As explained in the comment before make_ext + # definition, just don't do anything in this case. + $make_ext = ''; + } + } else { + $make_ext = $file_ext; + } + + # We need to try this file with all of the source + # extensions we have as it can correspond to any of them. + for my $src_ext (keys %src_exts) { + if ($file_ext ne $src_ext) { + (my $file_try = $file) =~ s/\Q$file_ext\E$/$src_ext/; + if (exists $files{$file_try}) { + $file = $file_try; + last + } + } + } + + if (!exists $files{$file}) { + # This file was removed. + $changed = 1; + + # Don't store this line in @values below. + next; + } + } + + if (exists $files{$file}) { + if ($files{$file}) { + warn qq{Duplicate file "$file" in the definition of the } . + qq{variable "$makevar" at line $.\n} + } else { + $files{$file} = 1; + } + } + + # Are we still sorted? + if (@values && lc $line lt $values[-1]) { + $sorted = 0; + } + + push @values, $line; + next; + } + + # If the last line had a continuation character, the file list + # should only end if there is nothing else on the following line. + if ($last_tail =~ /\\$/ && $line =~ /\S/) { + warn qq{Expected blank line at line $..\n}; + } + + # End of variable definition, add new lines. + + # We can only map the extensions if we have a single extension to + # map them to (i.e. make_ext is not empty) and we only need to do + # it if are using more than one extension in the source files list + # or the single extension that we use is different from make_ext. + if (defined $make_ext) { + if ($make_ext eq '' || + (keys %src_exts == 1 && exists $src_exts{$make_ext})) { + undef $make_ext + } + } + + my $new_files = 0; + while (my ($file, $seen) = each(%files)) { + next if $seen; + + # This file was wasn't present in the input, add it. + + # If this is the first file we add, ensure that the last line + # present in the makefile so far has the line continuation + # character at the end as this might not have been the case. + if (!$new_files) { + $new_files = 1; + + if (@values && $values[-1] !~ /\\$/) { + $values[-1] .= $tail; + } + } + + # Next give it the right extension. + if (defined $make_ext) { + $file =~ s/\.\S+$/$make_ext/ + } + + # Finally store it. + push @values, "$indent$file$tail"; + } + + if ($new_files) { + $changed = 1; + + # Sort them if necessary using the usual Schwartzian transform. + if ($sorted) { + @values = map { $_->[0] } + sort { $a->[1] cmp $b->[1] } + map { [$_, lc $_] } @values; + } + + # Fix up the tail of the last line to be the same as that of + # the previous last line. + $values[-1] =~ s/\s*\\$/$last_tail/; + } + + undef $var; + + print $out join("\n", @values), "\n"; + } + + # We're only interested in variable or target declarations, and does + # not look like target-specific variable (this would contain an equal + # sign after the target). + if ($line =~ /^\s*(?\S+)\s*(?::?=|:)(?[^=]*)$/) { + $makevar = $+{var}; + my $tail = $+{tail}; + + # And only those of them for which we have values, but this is + # where it gets tricky as we try to be smart to accommodate common + # use patterns with minimal effort. + if (exists $vars->{$makevar}) { + $var = $makevar; + } else { + # Helper: return name if a variable with such name exists or + # undef otherwise. + my $var_if_exists = sub { exists $vars->{$_[0]} ? $_[0] : undef }; + + if ($makevar =~ /^objects$/i || $makevar =~ /^obj$/i) { + # Special case: map it to "sources" as we work with the + # source, not object, files. + $var = $var_if_exists->('sources'); + } elsif ($makevar =~ /^(\w+)_(objects|obj|sources|src)$/i) { + # Here we deal with "foo_sources" typically found in + # hand-written makefiles but also "foo_SOURCES" used in + # automake ones, but the latter also uses libfoo_a_SOURCES + # for static libraries and libfoo_la_SOURCES for the + # libtool libraries, be smart about it to allow defining + # just "foo" or "foo_sources" variables usable with all + # kinds of make/project files. + $var = $var_if_exists->($1) || $var_if_exists->("$1_sources"); + if (!defined $var && $2 eq 'SOURCES' && $1 =~ /^(\w+)_l?a$/) { + $var = $var_if_exists->($1) || $var_if_exists->("$1_sources"); + if (!defined $var && $1 =~ /^lib(\w+)$/) { + $var = $var_if_exists->($1) || $var_if_exists->("$1_sources"); + } + } + } elsif ($makevar =~ /^(\w+)\$\(\w+\)/) { + # This one is meant to catch relatively common makefile + # constructions like "target$(exe_ext)". + $var = $var_if_exists->($1); + } + } + + if (defined $var) { + if ($tail !~ /\s*\\$/) { + warn qq{Unsupported format for variable "$makevar" at line $..\n}; + undef $var; + } else { + %files = map { $_ => 0 } @{$vars->{$var}}; + + @values = (); + + # Find all the extensions used by files in this variable. + for my $file (@{$vars->{$var}}) { + if (defined (my $src_ext = _get_ext($file))) { + $src_exts{$src_ext} = 1; + } + } + + # Not known yet. + undef $make_ext; + + undef $indent; + $tail = $tail; + undef $last_tail; + + # Not unsorted so far. + $sorted = 1; + } + } + } + + print $out "$line"; + + # Don't add an extra new line at the EOF if it hadn't been there. + last if $eof; + + print $out "\n"; + } + + $changed + } + + __END__ + + =pod + + =encoding UTF-8 + + =head1 NAME + + Makefile::Update::Makefile - Update lists of files in makefile variables. + + =head1 VERSION + + version 0.3 + + =head1 SYNOPSIS + + This can be used to update the contents of a variable containing a list of + files in a makefile. + + use Makefile::Update::Makefile; + Makefile::Update::upmake('GNUmakefile', \&update_makefile, $vars); + + =head1 FUNCTIONS + + =head2 update_makefile + + Update variable definitions in a makefile format with the data from the hash + ref containing all the file lists. + + Only most straightforward cases of variable or target definitions are + recognized here, i.e. just "var := value", "var = value" or "target: value". + In particular we don't support any GNU make extensions such as "export" or + "override" without speaking of anything more complex. + + On top of it, currently the value should contain a single file per line with + none at all on the first line (but this restriction could be relaxed later if + needed), i.e. the only supported case is + + var = \ + foo \ + bar \ + baz + + and it must be followed by an empty line, too. + + Notice that if any of the "files" in the variable value looks like a makefile + variable, i.e. has "$(foo)" form, it is ignored by this function, i.e. not + removed even if it doesn't appear in the list of files (which will never be + the case normally). + + Takes the (open) file handles of the files to read and to write and the file + lists hash ref as arguments. + + Returns 1 if any changes were made. + + =head1 SEE ALSO + + Makefile::Update + + =head1 AUTHOR + + Vadim Zeitlin + + =head1 COPYRIGHT AND LICENSE + + This software is copyright (c) 2015 by Vadim Zeitlin. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. + + =cut +MAKEFILE_UPDATE_MAKEFILE + +$fatpacked{"Makefile/Update/VCProj.pm"} = '#line '.(1+__LINE__).' "'.__FILE__."\"\n".<<'MAKEFILE_UPDATE_VCPROJ'; + package Makefile::Update::VCProj; + # ABSTRACT: Update list of sources and headers in Visual C++ projects. + + use Exporter qw(import); + our @EXPORT = qw(update_vcproj); + + use strict; + use warnings; + + our $VERSION = '0.3'; # VERSION + + + + sub update_vcproj + { + my ($in, $out, $sources, $headers, $filter_cb) = @_; + + # Use standard/default classifier for the files if none is explicitly + # specified. + if (!defined $filter_cb) { + $filter_cb = sub { + my ($file) = @_; + + return 'Source Files' if $file =~ q{\.c(c|pp|xx|\+\+)?$}; + return 'Header Files' if $file =~ q{\.h(h|pp|xx|\+\+)?$}; + + warn qq{No filter defined for the file "$file".\n}; + + undef + } + } + + # Hash mapping the filter to all the files using it (whether sources or + # headers). + my %files_by_filter; + foreach my $file (@$sources, @$headers) { + my $filter = $filter_cb->($file); + if (defined $filter) { + push @{$files_by_filter{$filter}}, $file + } + } + + # Name of the current filter, if any. + my $filter; + + # Hash containing 0 or 1 for each file using the current filter. + my %seen; + + # Indicates whether the closing angle bracket of "" tags is on its + # own line (which is how MSVS 2005 and 2008 format their files) or on the + # same line as "RelativePath" attribute (which is how MSVS 2003 does it). + my $angle_bracket_on_same_line = 0; + + # Set to 1 if we made any changes. + my $changed = 0; + + while (defined (my $line_with_eol = <$in>)) { + (my $line = $line_with_eol) =~ s/\r?\n$//; + + if ($line =~ /^\s* tag at line $. while parsing filter } . + qq{"$filter" is not supported.\n}; + next; + } + + print $out $line_with_eol; + $line_with_eol = <$in>; + if (defined $line_with_eol && + $line_with_eol =~ /^\s*Name="(.*)"\r?\n$/) { + $filter = $1; + if (!exists $files_by_filter{$filter}) { + # If we don't have any files for this filter, don't remove + # all the files from it, just skip it entirely instead. + undef $filter; + } else { + %seen = map { $_ => 0 } @{$files_by_filter{$filter}}; + } + } else { + warn qq{Unrecognized format for tag at line $..\n}; + } + } elsif (defined $filter) { + if ($line =~ /^\s*; + if (defined $line_with_eol && + $line_with_eol =~ /^\s*RelativePath="(.*)"(>?)\r?\n$/) { + $angle_bracket_on_same_line = $2 eq '>'; + + # Normalize path separators to Unix and remove the leading + # dot which MSVC likes to use for some reason. + (my $file = $1) =~ s@\\@/@g; + $file =~ s@^\./@@; + + # Special hack for resource files that sometimes occur in + # the "Source Files" section of MSVC projects too: don't + # remove them, even if they don't appear in the master + # files list, because they are never going to appear in it. + if ($file !~ /\.rc$/) { + if (!exists $seen{$file}) { + # This file is not in the master file list any + # more, delete it from the project file as well by + # not copying the lines corresponding to it to the + # output. + $changed = 1; + + # Skip the next line unless we had already seen + # the angle bracket. + if (!$angle_bracket_on_same_line) { + if (<$in> !~ /^\s*>\r?\n$/) { + warn qq{Expected closing '>' on the line $.\n} + } + } + + # And skip everything up to and including the + # closing tag in any case. + while (<$in>) { + last if qr{^\s*\r?\n$} + } + + next; + } + + # This file is still in the files list, mark it as seen. + if ($seen{$file}) { + warn qq{Duplicate file "$file" in the project at line $.\n}; + } else { + $seen{$file} = 1; + } + } + } else { + warn qq{Unrecognized format for tag inside filter } . + qq{"$filter" at line $..\n}; + } + + # Don't lose the original line, it won't be printed at the + # end of the loop any more. + print $out $line_file_start; + } elsif ($line =~ qr{^\s*$}) { + my $angle_bracket = $angle_bracket_on_same_line + ? '>' + : "\n\t\t\t\t>"; + + # Add new files, if any. + # + # TODO Insert them in alphabetical order. + while (my ($file, $seen) = each(%seen)) { + if (!$seen) { + # Convert path separator to the one used by MSVC. + $file =~ s@/@\\@g; + + # And use path even for the files in this directory. + $file = ".\\$file" if $file !~ /\\/; + + print $out < + END + ; + + $changed = 1; + } + } + + undef $filter; + } + } + + print $out $line_with_eol; + } + + $changed + } + + __END__ + + =pod + + =encoding UTF-8 + + =head1 NAME + + Makefile::Update::VCProj - Update list of sources and headers in Visual C++ projects. + + =head1 VERSION + + version 0.3 + + =head1 SYNOPSIS + + The function L can be used to update the list of headers and + sources in the given Visual C++ project file C: + + use Makefile::Update::VCProj; + upmake_msbuild_project('project.vcproj', \@sources, \@headers); + + =head1 FUNCTIONS + + =head2 update_vcproj + + Update sources and headers in a VC++ project. + + Parameters: input and output file handles, array references to the sources + and the headers to be used in this project and a callback used to determine + the filter for the new files. + + Returns 1 if any changes were made. + + =head1 SEE ALSO + + Makefile::Update, Makefile::Update::MSBuild + + =head1 AUTHOR + + Vadim Zeitlin + + =head1 COPYRIGHT AND LICENSE + + This software is copyright (c) 2015 by Vadim Zeitlin. + + This is free software; you can redistribute it and/or modify it under + the same terms as the Perl 5 programming language system itself. + + =cut +MAKEFILE_UPDATE_VCPROJ + +s/^ //mg for values %fatpacked; + +my $class = 'FatPacked::'.(0+\%fatpacked); +no strict 'refs'; +*{"${class}::files"} = sub { keys %{$_[0]} }; + +if ($] < 5.008) { + *{"${class}::INC"} = sub { + if (my $fat = $_[0]{$_[1]}) { + return sub { + return 0 unless length $fat; + $fat =~ s/^([^\n]*\n?)//; + $_ = $1; + return 1; + }; + } + return; + }; +} + +else { + *{"${class}::INC"} = sub { + if (my $fat = $_[0]{$_[1]}) { + open my $fh, '<', \$fat + or die "FatPacker error loading $_[1] (could be a perl installation issue?)"; + return $fh; + } + return; + }; +} + +unshift @INC, bless \%fatpacked, $class; + } # END OF FATPACK CODE + + use strict; use warnings; use autodie; @@ -7,55 +1347,52 @@ use autodie; use Getopt::Long; use FindBin qw($Bin); -use lib "$Bin/tools/upmake/lib"; -use Text::Upmake; -use Text::Upmake::Bakefile0; -use Text::Upmake::MSBuild; +use Makefile::Update; +use Makefile::Update::Bakefile0; +use Makefile::Update::MSBuild; +use Makefile::Update::VCProj; my $verbose = 0; my $quiet = 0; -my ($only_bkl, $only_msbuild, $only_project, $only_version); +my ($only_bkl, $only_msvs, $only_project, $only_version); GetOptions( 'verbose|v' => \$verbose, 'quiet|q' => \$quiet, 'only-bkl' => \$only_bkl, - 'only-project=s' => sub { $only_msbuild = 1; $only_project = $_[1] }, - 'only-version=i' => sub { $only_msbuild = 1; $only_version = $_[1] }, + 'only-project=s' => sub { $only_msvs = 1; $only_project = $_[1] }, + 'only-version=i' => sub { $only_msvs = 1; $only_version = $_[1] }, ) or die <] +Usage: $0 [--verbose] [--quiet] [--only-bkl] [--only-project=] [--only-version=] -Update the files used by bakefile and MSBuild projects from the master list +Update the files used by bakefile and MSVC projects from the master list of files in build/files. If --no-xxx option is specified, the corresponding outputs are not updated. By default everything is. + +The version argument of --only-version can be 7, 8, 9 or 10 with the latter +selecting the MSBuild projects. EOF ; -if ($only_bkl && $only_msbuild) { +if ($only_bkl && $only_msvs) { die qq{Options --only-bkl and --only-project or --only-version can't be used together.\n} } -sub log_upmake +sub call_upmake { my ($fname, @args) = @_; - if (upmake($fname, @args)) { - print qq{File "$fname" successfully updated.\n} unless $quiet; - return 1; - } else { - print qq{No changes in the file "$fname".\n} if $verbose; - return 0; - } + upmake({file => $fname, quiet => $quiet, verbose => $verbose}, @args) } open my $files, '<', "$Bin/files"; my $vars = read_files_list($files); -if (!$only_msbuild) { - if (log_upmake("$Bin/bakefiles/files.bkl", \&update_bakefile_0, $vars)) { +if (!$only_msvs) { + if (call_upmake("$Bin/bakefiles/files.bkl", \&update_bakefile_0, $vars)) { print qq{Don't forget to run "bakefile_gen -b wx.bkl".} if $verbose; } } @@ -65,11 +1402,11 @@ if (!$only_bkl) { # projects. my $top_srcdir = '../../'; - # The base names of all our MSBuild projects with the list of variables + # The base names of all our projects with the list of variables # containing the files that should appear in them. my %projects_vars = ( adv => [qw(ADVANCED_CMN ADVANCED_MSW ADVANCED_MSW_DESKTOP ADVANCED_MSW_NATIVE)], - aui => [qw(AUI_CMN)], + aui => [qw(AUI_CMN AUI_MSW)], base => [qw(BASE_CMN BASE_AND_GUI_CMN BASE_WIN32 BASE_AND_GUI_WIN32)], core => [qw(BASE_AND_GUI_CMN BASE_AND_GUI_WIN32 MSW_LOWLEVEL MSW_DESKTOP_LOWLEVEL MSW MSW_DESKTOP GUI_CMN)], gl => [qw(OPENGL_CMN OPENGL_MSW)], @@ -79,12 +1416,16 @@ if (!$only_bkl) { propgrid => [qw(PROPGRID)], qa => [qw(QA)], ribbon => [qw(RIBBON)], + richtext => [qw(RICHTEXT)], stc => [qw(STC)], webview => [qw(WEBVIEW_CMN WEBVIEW_MSW)], xml => [qw(XML)], xrc => [qw(XRC)], ); + # The versions of non-MSBuild projects (MSBuild ones all use version "10"). + my @vcproj_versions = qw(7 8 9); + # Return the "filter" to use for the given file. sub filter_cb { @@ -143,7 +1484,42 @@ if (!$only_bkl) { my @args = (\@sources, \@headers, \&filter_cb); - log_upmake("$Bin/msw/wx_${proj}.vcxproj", \&update_msbuild, @args); - log_upmake("$Bin/msw/wx_${proj}.vcxproj.filters", \&update_msbuild_filters, @args); + # First deal with MSBuild project, it's the simplest case. + if (!defined $only_version || $only_version == 10) { + call_upmake("$Bin/msw/wx_${proj}.vcxproj", \&update_msbuild, @args); + call_upmake("$Bin/msw/wx_${proj}.vcxproj.filters", \&update_msbuild_filters, @args); + } + + # Pre-MSBuild projects also put this header together with all the other + # ones, so it needs to be added (with MSBuild it's a + # element and so is completely separate from the real headers that use + # ). + push @headers, "${top_srcdir}include/wx/msw/genrcdefs.h"; + + # And core project also includes all GUI headers instead of just those + # it really uses. + if ($proj eq 'core') { + foreach my $gui_proj (grep { $_ ne 'base' && + $_ ne 'core' && + $_ ne 'net' && + $_ ne 'xml' } keys %projects_vars) { + foreach my $var (@{$projects_vars{$gui_proj}}) { + push @headers, "${top_srcdir}include/$_" for @{$vars->{"${var}_HDR"}}; + } + } + } + + # For compatibility with the existing bakefile-generated projects, + # don't include *.cpp files in the list of headers -- even these files + # are actually used as headers (i.e. they are #include'd). + if ($proj eq 'base') { + @headers = grep { $_ !~ /\.cpp$/ } @headers; + } + + foreach my $ver (@vcproj_versions) { + next if defined $only_version && $ver != $only_version; + + call_upmake("$Bin/msw/wx_vc${ver}_${proj}.vcproj", \&update_vcproj, @args); + } } } diff --git a/build/upmake_script.pl b/build/upmake_script.pl new file mode 100755 index 0000000000..8f06ac7dcb --- /dev/null +++ b/build/upmake_script.pl @@ -0,0 +1,185 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use autodie; + +use Getopt::Long; + +use FindBin qw($Bin); + +use Makefile::Update; +use Makefile::Update::Bakefile0; +use Makefile::Update::MSBuild; +use Makefile::Update::VCProj; + +my $verbose = 0; +my $quiet = 0; +my ($only_bkl, $only_msvs, $only_project, $only_version); + +GetOptions( + 'verbose|v' => \$verbose, + 'quiet|q' => \$quiet, + 'only-bkl' => \$only_bkl, + 'only-project=s' => sub { $only_msvs = 1; $only_project = $_[1] }, + 'only-version=i' => sub { $only_msvs = 1; $only_version = $_[1] }, + ) or die <] [--only-version=] + +Update the files used by bakefile and MSVC projects from the master list +of files in build/files. + +If --no-xxx option is specified, the corresponding outputs are not updated. +By default everything is. + +The version argument of --only-version can be 7, 8, 9 or 10 with the latter +selecting the MSBuild projects. +EOF +; + +if ($only_bkl && $only_msvs) { + die qq{Options --only-bkl and --only-project or --only-version can't be used together.\n} +} + +sub call_upmake +{ + my ($fname, @args) = @_; + + upmake({file => $fname, quiet => $quiet, verbose => $verbose}, @args) +} + +open my $files, '<', "$Bin/files"; +my $vars = read_files_list($files); + +if (!$only_msvs) { + if (call_upmake("$Bin/bakefiles/files.bkl", \&update_bakefile_0, $vars)) { + print qq{Don't forget to run "bakefile_gen -b wx.bkl".} if $verbose; + } +} + +if (!$only_bkl) { + # Path to the project root directory from the directory containing the + # projects. + my $top_srcdir = '../../'; + + # The base names of all our projects with the list of variables + # containing the files that should appear in them. + my %projects_vars = ( + adv => [qw(ADVANCED_CMN ADVANCED_MSW ADVANCED_MSW_DESKTOP ADVANCED_MSW_NATIVE)], + aui => [qw(AUI_CMN)], + base => [qw(BASE_CMN BASE_AND_GUI_CMN BASE_WIN32 BASE_AND_GUI_WIN32)], + core => [qw(BASE_AND_GUI_CMN BASE_AND_GUI_WIN32 MSW_LOWLEVEL MSW_DESKTOP_LOWLEVEL MSW MSW_DESKTOP GUI_CMN)], + gl => [qw(OPENGL_CMN OPENGL_MSW)], + html => [qw(HTML_CMN HTML_MSW)], + media => [qw(MEDIA_CMN MEDIA_MSW MEDIA_MSW_DESKTOP)], + net => [qw(NET_CMN NET_WIN32)], + propgrid => [qw(PROPGRID)], + qa => [qw(QA)], + ribbon => [qw(RIBBON)], + richtext => [qw(RICHTEXT)], + stc => [qw(STC)], + webview => [qw(WEBVIEW_CMN WEBVIEW_MSW)], + xml => [qw(XML)], + xrc => [qw(XRC)], + ); + + # The versions of non-MSBuild projects (MSBuild ones all use version "10"). + my @vcproj_versions = qw(7 8 9); + + # Return the "filter" to use for the given file. + sub filter_cb + { + my ($file) = @_; + + my %filters = ( + 'src/common/.*' => 'Common Sources', + 'src/gtk/.*' => 'GTK+ Sources', + 'src/msw/.*' => 'MSW Sources', + 'src/generic/.*' => 'Generic Sources', + 'src/univ/.*' => 'wxUniv Sources', + 'src/html/.*' => 'wxHTML Sources', + 'include/.*/setup.h' => 'Setup Headers', + 'include/wx/gtk/.*' => 'GTK+ Headers', + 'include/wx/msw/.*' => 'MSW Headers', + 'include/wx/generic/.*' => 'Generic Headers', + 'include/wx/univ/.*' => 'wxUniv Headers', + 'include/wx/html/.*' => 'wxHTML Headers', + ); + + foreach (keys %filters) { + return $filters{$_} if $file =~ qr{^${top_srcdir}$_$}; + } + + # Two fall backs which can't be used in the hash as they must be + # checked after the other patterns. + return 'Source Files' if $file =~ q{src/.*}; + return 'Common Headers' if $file =~ q{include/wx/.*}; + + warn qq{No filter defined for the file "$file".\n}; + + undef + } + + foreach my $proj (sort keys %projects_vars) { + next if defined $only_project && $proj ne $only_project; + + my (@sources, @headers); + + # All our projects use the special dummy file for PCH creation, but it's + # not included in the file lists. + push @sources, "${top_srcdir}src/common/dummy.cpp"; + + foreach my $var (@{$projects_vars{$proj}}) { + # The paths in the files lists are relative to the project root, + # so add relative path to it from the projects directory. + push @sources, "${top_srcdir}$_" for @{$vars->{"${var}_SRC"}}; + + # It is possible that we don't have any headers of some kind at all. + if (exists $vars->{"${var}_HDR"}) { + # Our files lists don't use the full path for the headers, the + # common "include/" prefix is omitted, add it back here. + push @headers, "${top_srcdir}include/$_" for @{$vars->{"${var}_HDR"}}; + } + } + + my @args = (\@sources, \@headers, \&filter_cb); + + # First deal with MSBuild project, it's the simplest case. + if (!defined $only_version || $only_version == 10) { + call_upmake("$Bin/msw/wx_${proj}.vcxproj", \&update_msbuild, @args); + call_upmake("$Bin/msw/wx_${proj}.vcxproj.filters", \&update_msbuild_filters, @args); + } + + # Pre-MSBuild projects also put this header together with all the other + # ones, so it needs to be added (with MSBuild it's a + # element and so is completely separate from the real headers that use + # ). + push @headers, "${top_srcdir}include/wx/msw/genrcdefs.h"; + + # And core project also includes all GUI headers instead of just those + # it really uses. + if ($proj eq 'core') { + foreach my $gui_proj (grep { $_ ne 'base' && + $_ ne 'core' && + $_ ne 'net' && + $_ ne 'xml' } keys %projects_vars) { + foreach my $var (@{$projects_vars{$gui_proj}}) { + push @headers, "${top_srcdir}include/$_" for @{$vars->{"${var}_HDR"}}; + } + } + } + + # For compatibility with the existing bakefile-generated projects, + # don't include *.cpp files in the list of headers -- even these files + # are actually used as headers (i.e. they are #include'd). + if ($proj eq 'base') { + @headers = grep { $_ !~ /\.cpp$/ } @headers; + } + + foreach my $ver (@vcproj_versions) { + next if defined $only_version && $ver != $only_version; + + call_upmake("$Bin/msw/wx_vc${ver}_${proj}.vcproj", \&update_vcproj, @args); + } + } +} diff --git a/docs/changes.txt b/docs/changes.txt index e6381390db..d1402f1f3e 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -50,6 +50,7 @@ Changes in behaviour which may result in build errors All: - Add UTF-8 and ZIP 64 support to wxZip{Input,Output}Stream (Tobias Taschner). +- Add wxStandardPaths::GetUserDir() (Tobias Taschner). - Allow calling wxItemContainer::Add() and similar with std::vector<> argument. - Add "%z" support to printf()-like functions like wxString::Format() (RIVDSL). - Add DOCTYPE support to wxXmlDocument (Nick Matthews). @@ -140,6 +141,7 @@ wxGTK: wxMSW: - Make default wxSizer border DPI-aware. +- Implement native tab art for wxAUI (Tobias Taschner). - Improve wxMimeTypesManager open command detection (Eric Jensen). - Make wxFILTER_INCLUDE_LIST in wxTextValidator actually usable. - Fix handling crashes in wxEVT_PAINT event handlers. @@ -184,3 +186,4 @@ wxOSX/Cocoa: - Add support for wxEVT_COMBOBOX_DROPDOWN and wxEVT_COMBOBOX_CLOSEUP events (Igor Korot). - Implement strike-through support in wxFont (Igor Korot). +- Provide native implementation of wxStandardPaths (Tobias Taschner). diff --git a/include/wx/aui/auibook.h b/include/wx/aui/auibook.h index d96e88fe1e..c6d232e48d 100644 --- a/include/wx/aui/auibook.h +++ b/include/wx/aui/auibook.h @@ -99,6 +99,7 @@ public: wxBitmap bitmap; // tab's bitmap wxRect rect; // tab's hit rectangle bool active; // true if the page is currently active + bool hover; // true if mouse hovering over tab }; class WXDLLIMPEXP_AUI wxAuiTabContainerButton @@ -234,6 +235,8 @@ protected: wxAuiTabContainerButton* m_hoverButton; wxAuiTabContainerButton* m_pressedButton; + void SetHoverTab(wxWindow* wnd); + #ifndef SWIG wxDECLARE_CLASS(wxAuiTabCtrl); wxDECLARE_EVENT_TABLE(); diff --git a/include/wx/aui/tabart.h b/include/wx/aui/tabart.h index 17e5992e8d..47efe359e3 100644 --- a/include/wx/aui/tabart.h +++ b/include/wx/aui/tabart.h @@ -312,6 +312,10 @@ protected: #define wxHAS_NATIVE_TABART #include "wx/aui/tabartgtk.h" #define wxAuiDefaultTabArt wxAuiGtkTabArt + #elif defined(__WXMSW__) + #define wxHAS_NATIVE_TABART + #include "wx/aui/tabartmsw.h" + #define wxAuiDefaultTabArt wxAuiMSWTabArt #endif #endif // !__WXUNIVERSAL__ diff --git a/include/wx/aui/tabartmsw.h b/include/wx/aui/tabartmsw.h new file mode 100644 index 0000000000..41a47b267f --- /dev/null +++ b/include/wx/aui/tabartmsw.h @@ -0,0 +1,90 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/aui/tabartmsw.h +// Purpose: wxAuiMSWTabArt declaration +// Author: Tobias Taschner +// Created: 2015-09-26 +// Copyright: (c) 2015 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_AUI_TABARTMSW_H_ +#define _WX_AUI_TABARTMSW_H_ + +class WXDLLIMPEXP_AUI wxAuiMSWTabArt : public wxAuiGenericTabArt +{ + +public: + + wxAuiMSWTabArt(); + virtual ~wxAuiMSWTabArt(); + + wxAuiTabArt* Clone() wxOVERRIDE; + void SetSizingInfo(const wxSize& tabCtrlSize, + size_t tabCount) wxOVERRIDE; + + void DrawBorder( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect) wxOVERRIDE; + + void DrawBackground( + wxDC& dc, + wxWindow* wnd, + const wxRect& rect) wxOVERRIDE; + + void DrawTab(wxDC& dc, + wxWindow* wnd, + const wxAuiNotebookPage& pane, + const wxRect& inRect, + int closeButtonState, + wxRect* outTabRect, + wxRect* outButtonRect, + int* xExtent) wxOVERRIDE; + + void DrawButton( + wxDC& dc, + wxWindow* wnd, + const wxRect& inRect, + int bitmapId, + int buttonState, + int orientation, + wxRect* outRect) wxOVERRIDE; + + int GetIndentSize() wxOVERRIDE; + + int GetBorderWidth( + wxWindow* wnd) wxOVERRIDE; + + int GetAdditionalBorderSpace( + wxWindow* wnd) wxOVERRIDE; + + wxSize GetTabSize( + wxDC& dc, + wxWindow* wnd, + const wxString& caption, + const wxBitmap& bitmap, + bool active, + int closeButtonState, + int* xExtent) wxOVERRIDE; + + int ShowDropDown( + wxWindow* wnd, + const wxAuiNotebookPageArray& items, + int activeIdx) wxOVERRIDE; + + int GetBestTabCtrlSize(wxWindow* wnd, + const wxAuiNotebookPageArray& pages, + const wxSize& requiredBmpSize) wxOVERRIDE; + +private: + bool m_themed; + wxSize m_closeBtnSize; + wxSize m_tabSize; + int m_maxTabHeight; + + void InitSizes(wxWindow* wnd, wxDC& dc); + + bool IsThemed() const; +}; + +#endif // _WX_AUI_TABARTMSW_H_ diff --git a/include/wx/control.h b/include/wx/control.h index a90a799dda..86563645e0 100644 --- a/include/wx/control.h +++ b/include/wx/control.h @@ -20,34 +20,11 @@ #if wxUSE_CONTROLS #include "wx/window.h" // base class +#include "wx/gdicmn.h" // wxEllipsize... extern WXDLLIMPEXP_DATA_CORE(const char) wxControlNameStr[]; -// ---------------------------------------------------------------------------- -// Ellipsize() constants -// ---------------------------------------------------------------------------- - -enum wxEllipsizeFlags -{ - wxELLIPSIZE_FLAGS_NONE = 0, - wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS = 1, - wxELLIPSIZE_FLAGS_EXPAND_TABS = 2, - - wxELLIPSIZE_FLAGS_DEFAULT = wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS | - wxELLIPSIZE_FLAGS_EXPAND_TABS -}; - -// NB: Don't change the order of these values, they're the same as in -// PangoEllipsizeMode enum. -enum wxEllipsizeMode -{ - wxELLIPSIZE_NONE, - wxELLIPSIZE_START, - wxELLIPSIZE_MIDDLE, - wxELLIPSIZE_END -}; - // ---------------------------------------------------------------------------- // wxControl is the base class for all controls // ---------------------------------------------------------------------------- diff --git a/include/wx/gdicmn.h b/include/wx/gdicmn.h index bf4dbbbb76..bef06b11ff 100644 --- a/include/wx/gdicmn.h +++ b/include/wx/gdicmn.h @@ -155,6 +155,30 @@ enum wxStockCursor #define wxCURSOR_CLOSED_HAND wxCURSOR_HAND #endif +// ---------------------------------------------------------------------------- +// Ellipsize() constants +// ---------------------------------------------------------------------------- + +enum wxEllipsizeFlags +{ + wxELLIPSIZE_FLAGS_NONE = 0, + wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS = 1, + wxELLIPSIZE_FLAGS_EXPAND_TABS = 2, + + wxELLIPSIZE_FLAGS_DEFAULT = wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS | + wxELLIPSIZE_FLAGS_EXPAND_TABS +}; + +// NB: Don't change the order of these values, they're the same as in +// PangoEllipsizeMode enum. +enum wxEllipsizeMode +{ + wxELLIPSIZE_NONE, + wxELLIPSIZE_START, + wxELLIPSIZE_MIDDLE, + wxELLIPSIZE_END +}; + // --------------------------------------------------------------------------- // macros // --------------------------------------------------------------------------- diff --git a/include/wx/msw/app.h b/include/wx/msw/app.h index a0843efed0..29285adeab 100644 --- a/include/wx/msw/app.h +++ b/include/wx/msw/app.h @@ -102,10 +102,6 @@ public: // wasn't found at all static int GetComCtl32Version(); - // the same for shell32.dll: returns 400, 471, 500, 600, ... (4.70 not - // currently detected) - static int GetShell32Version(); - // the SW_XXX value to be used for the frames opened by the application // (currently seems unused which is a bug -- TODO) static int m_nCmdShow; diff --git a/include/wx/msw/stdpaths.h b/include/wx/msw/stdpaths.h index 80ad985044..965c079226 100644 --- a/include/wx/msw/stdpaths.h +++ b/include/wx/msw/stdpaths.h @@ -11,6 +11,8 @@ #ifndef _WX_MSW_STDPATHS_H_ #define _WX_MSW_STDPATHS_H_ +struct _GUID; + // ---------------------------------------------------------------------------- // wxStandardPaths // ---------------------------------------------------------------------------- @@ -26,7 +28,7 @@ public: virtual wxString GetUserDataDir() const; virtual wxString GetUserLocalDataDir() const; virtual wxString GetPluginsDir() const; - virtual wxString GetDocumentsDir() const; + virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE; // MSW-specific methods @@ -72,6 +74,8 @@ protected: // get the path corresponding to the given standard CSIDL_XXX constant static wxString DoGetDirectory(int csidl); + static wxString DoGetKnownFolder(const _GUID& rfid); + // return the directory of the application itself wxString GetAppDir() const; diff --git a/include/wx/osx/cocoa/stdpaths.h b/include/wx/osx/cocoa/stdpaths.h new file mode 100644 index 0000000000..59c33f2019 --- /dev/null +++ b/include/wx/osx/cocoa/stdpaths.h @@ -0,0 +1,43 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/osx/cocoa/stdpaths.h +// Purpose: wxStandardPaths for Cocoa +// Author: Tobias Taschner +// Created: 2015-09-09 +// Copyright: (c) 2015 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_COCOA_STDPATHS_H_ +#define _WX_COCOA_STDPATHS_H_ + +// ---------------------------------------------------------------------------- +// wxStandardPaths +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_BASE wxStandardPaths : public wxStandardPathsBase +{ +public: + virtual ~wxStandardPaths(); + + // implement base class pure virtuals + virtual wxString GetExecutablePath() const wxOVERRIDE; + virtual wxString GetConfigDir() const wxOVERRIDE; + virtual wxString GetUserConfigDir() const wxOVERRIDE; + virtual wxString GetDataDir() const wxOVERRIDE; + virtual wxString GetLocalDataDir() const wxOVERRIDE; + virtual wxString GetUserDataDir() const wxOVERRIDE; + virtual wxString GetPluginsDir() const wxOVERRIDE; + virtual wxString GetResourcesDir() const wxOVERRIDE; + virtual wxString + GetLocalizedResourcesDir(const wxString& lang, + ResourceCat category = ResourceCat_None) const wxOVERRIDE; + virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE; + +protected: + // Ctor is protected, use wxStandardPaths::Get() instead of instantiating + // objects of this class directly. + wxStandardPaths(); +}; + + +#endif // _WX_COCOA_STDPATHS_H_ diff --git a/include/wx/osx/core/stdpaths.h b/include/wx/osx/core/stdpaths.h index 8ebe071e9c..fd8078e5f1 100644 --- a/include/wx/osx/core/stdpaths.h +++ b/include/wx/osx/core/stdpaths.h @@ -52,7 +52,7 @@ public: virtual wxString GetLocalizedResourcesDir(const wxString& lang, ResourceCat category = ResourceCat_None) const; - virtual wxString GetDocumentsDir() const; + virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE; protected: // Ctor is protected, use wxStandardPaths::Get() instead of instantiating diff --git a/include/wx/renderer.h b/include/wx/renderer.h index d854007e59..627c142e12 100644 --- a/include/wx/renderer.h +++ b/include/wx/renderer.h @@ -62,6 +62,7 @@ enum wxCONTROL_EXPANDED = wxCONTROL_SPECIAL, // only for the tree items wxCONTROL_SIZEGRIP = wxCONTROL_SPECIAL, // only for the status bar panes wxCONTROL_FLAT = wxCONTROL_SPECIAL, // checkboxes only: flat border + wxCONTROL_CELL = wxCONTROL_SPECIAL, // only for item selection rect wxCONTROL_CURRENT = 0x00000010, // mouse is currently over the control wxCONTROL_SELECTED = 0x00000020, // selected item in e.g. listbox wxCONTROL_CHECKED = 0x00000040, // (check/radio button) is checked @@ -346,7 +347,8 @@ public: const wxString& text, const wxRect& rect, int align = wxALIGN_LEFT | wxALIGN_TOP, - int flags = 0) = 0; + int flags = 0, + wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END) = 0; // geometry functions // ------------------ @@ -548,8 +550,9 @@ public: const wxString& text, const wxRect& rect, int align = wxALIGN_LEFT | wxALIGN_TOP, - int flags = 0) - { m_rendererNative.DrawItemText(win, dc, text, rect, align, flags); } + int flags = 0, + wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END) + { m_rendererNative.DrawItemText(win, dc, text, rect, align, flags, ellipsizeMode); } virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win) { return m_rendererNative.GetSplitterParams(win); } diff --git a/include/wx/stdpaths.h b/include/wx/stdpaths.h index 7f44468d29..b87161af43 100644 --- a/include/wx/stdpaths.h +++ b/include/wx/stdpaths.h @@ -49,6 +49,15 @@ public: AppInfo_VendorName = 2 // the vendor name }; + enum Dir + { + Dir_Documents, + Dir_Desktop, + Dir_Downloads, + Dir_Music, + Dir_Pictures, + Dir_Videos + }; // return the global standard paths object static wxStandardPaths& Get(); @@ -130,7 +139,10 @@ public: // // C:\Documents and Settings\username\My Documents under Windows, // $HOME under Unix and ~/Documents under Mac - virtual wxString GetDocumentsDir() const; + virtual wxString GetDocumentsDir() const + { + return GetUserDir(Dir_Documents); + } // return the directory for the documents files used by this application: // it's a subdirectory of GetDocumentsDir() constructed using the @@ -140,6 +152,7 @@ public: // return the temporary directory for the current user virtual wxString GetTempDir() const; + virtual wxString GetUserDir(Dir userDir) const; // virtual dtor for the base class virtual ~wxStandardPathsBase(); @@ -174,6 +187,9 @@ protected: #if defined(__WINDOWS__) #include "wx/msw/stdpaths.h" #define wxHAS_NATIVE_STDPATHS + #elif defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) + #include "wx/osx/cocoa/stdpaths.h" + #define wxHAS_NATIVE_STDPATHS // We want CoreFoundation paths on both CarbonLib and Darwin (for all ports) #elif defined(__WXMAC__) || defined(__DARWIN__) #include "wx/osx/core/stdpaths.h" @@ -205,7 +221,7 @@ public: virtual wxString GetLocalDataDir() const { return m_prefix; } virtual wxString GetUserDataDir() const { return m_prefix; } virtual wxString GetPluginsDir() const { return m_prefix; } - virtual wxString GetDocumentsDir() const { return m_prefix; } + virtual wxString GetUserDir(Dir WXUNUSED(userDir)) const { return m_prefix; } protected: // Ctor is protected because wxStandardPaths::Get() should always be used diff --git a/include/wx/unix/stdpaths.h b/include/wx/unix/stdpaths.h index 3e97725abd..74f915398c 100644 --- a/include/wx/unix/stdpaths.h +++ b/include/wx/unix/stdpaths.h @@ -47,7 +47,7 @@ public: virtual wxString GetLocalizedResourcesDir(const wxString& lang, ResourceCat category) const wxOVERRIDE; #ifndef __VMS - virtual wxString GetDocumentsDir() const wxOVERRIDE; + virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE; #endif protected: diff --git a/interface/wx/choicebk.h b/interface/wx/choicebk.h index 3ad3277fb2..d96f9493a9 100644 --- a/interface/wx/choicebk.h +++ b/interface/wx/choicebk.h @@ -35,7 +35,7 @@ wxEventType wxEVT_CHOICEBOOK_PAGE_CHANGING; @beginStyleTable @style{wxCHB_DEFAULT} Choose the default location for the labels depending on the current - platform (left everywhere except Mac where it is top). + platform (but currently it's the same everywhere, namely wxCHB_TOP). @style{wxCHB_TOP} Place labels above the page area. @style{wxCHB_LEFT} diff --git a/interface/wx/control.h b/interface/wx/control.h index 2c0f8f74e7..785cbbf8bd 100644 --- a/interface/wx/control.h +++ b/interface/wx/control.h @@ -5,60 +5,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -/** - Flags used by wxControl::Ellipsize function. -*/ -enum wxEllipsizeFlags -{ - /// No special flags. - wxELLIPSIZE_FLAGS_NONE = 0, - - /** - Take mnemonics into account when calculating the text width. - - With this flag when calculating the size of the passed string, - mnemonics characters (see wxControl::SetLabel) will be automatically - reduced to a single character. This leads to correct calculations only - if the string passed to Ellipsize() will be used with - wxControl::SetLabel. If you don't want ampersand to be interpreted as - mnemonics (e.g. because you use wxControl::SetLabelText) then don't use - this flag. - */ - wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS = 1, - - /** - Expand tabs in spaces when calculating the text width. - - This flag tells wxControl::Ellipsize() to calculate the width of tab - characters @c '\\t' as 6 spaces. - */ - wxELLIPSIZE_FLAGS_EXPAND_TABS = 2, - - /// The default flags for wxControl::Ellipsize. - wxELLIPSIZE_FLAGS_DEFAULT = wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS| - wxELLIPSIZE_FLAGS_EXPAND_TABS -}; - - -/** - The different ellipsization modes supported by the - wxControl::Ellipsize function. -*/ -enum wxEllipsizeMode -{ - /// Don't ellipsize the text at all. @since 2.9.1 - wxELLIPSIZE_NONE, - - /// Put the ellipsis at the start of the string, if the string needs ellipsization. - wxELLIPSIZE_START, - - /// Put the ellipsis in the middle of the string, if the string needs ellipsization. - wxELLIPSIZE_MIDDLE, - - /// Put the ellipsis at the end of the string, if the string needs ellipsization. - wxELLIPSIZE_END -}; - /** @class wxControl diff --git a/interface/wx/dc.h b/interface/wx/dc.h index 765af1af7d..565df055bf 100644 --- a/interface/wx/dc.h +++ b/interface/wx/dc.h @@ -164,9 +164,8 @@ struct wxFontMetrics @section Support for Transformation Matrix - On some platforms (currently only under MSW and only on Windows NT, i.e. - not Windows 9x/ME, systems) wxDC has support for applying an arbitrary - affine transformation matrix to its coordinate system. Call + On some platforms (currently only under MSW) wxDC has support for applying + an arbitrary affine transformation matrix to its coordinate system. Call CanUseTransformMatrix() to check if this support is available and then call SetTransformMatrix() if it is. If the transformation matrix is not supported, SetTransformMatrix() always simply returns false and doesn't do @@ -1516,10 +1515,7 @@ public: Check if the use of transformation matrix is supported by the current system. - Currently this function always returns @false for non-MSW platforms and - may return @false for old (Windows 9x/ME) Windows systems. Normally - support for the transformation matrix is always available in any - relatively recent Windows versions. + Currently this function always returns @false for non-MSW platforms. @since 2.9.2 */ diff --git a/interface/wx/gdicmn.h b/interface/wx/gdicmn.h index ca3ad06685..5ade936862 100644 --- a/interface/wx/gdicmn.h +++ b/interface/wx/gdicmn.h @@ -107,6 +107,60 @@ enum wxStockCursor wxCURSOR_MAX }; +/** + Flags used by wxControl::Ellipsize function. +*/ +enum wxEllipsizeFlags +{ + /// No special flags. + wxELLIPSIZE_FLAGS_NONE = 0, + + /** + Take mnemonics into account when calculating the text width. + + With this flag when calculating the size of the passed string, + mnemonics characters (see wxControl::SetLabel) will be automatically + reduced to a single character. This leads to correct calculations only + if the string passed to Ellipsize() will be used with + wxControl::SetLabel. If you don't want ampersand to be interpreted as + mnemonics (e.g. because you use wxControl::SetLabelText) then don't use + this flag. + */ + wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS = 1, + + /** + Expand tabs in spaces when calculating the text width. + + This flag tells wxControl::Ellipsize() to calculate the width of tab + characters @c '\\t' as 6 spaces. + */ + wxELLIPSIZE_FLAGS_EXPAND_TABS = 2, + + /// The default flags for wxControl::Ellipsize. + wxELLIPSIZE_FLAGS_DEFAULT = wxELLIPSIZE_FLAGS_PROCESS_MNEMONICS| + wxELLIPSIZE_FLAGS_EXPAND_TABS +}; + + +/** + The different ellipsization modes supported by the + wxControl::Ellipsize and wxRendererNative::DrawItemText() functions. +*/ +enum wxEllipsizeMode +{ + /// Don't ellipsize the text at all. @since 2.9.1 + wxELLIPSIZE_NONE, + + /// Put the ellipsis at the start of the string, if the string needs ellipsization. + wxELLIPSIZE_START, + + /// Put the ellipsis in the middle of the string, if the string needs ellipsization. + wxELLIPSIZE_MIDDLE, + + /// Put the ellipsis at the end of the string, if the string needs ellipsization. + wxELLIPSIZE_END +}; + /** diff --git a/interface/wx/intl.h b/interface/wx/intl.h index ba32b7e348..70f21122b2 100644 --- a/interface/wx/intl.h +++ b/interface/wx/intl.h @@ -485,7 +485,7 @@ public: /** Check whether the operating system and/or C run time environment supports - this locale. For example in Windows 2000 and Windows XP, support for many + this locale. For example in Windows, support for many locales is not installed by default. Returns @true if the locale is supported. diff --git a/interface/wx/msw/registry.h b/interface/wx/msw/registry.h index 915adfdf63..307819937a 100644 --- a/interface/wx/msw/registry.h +++ b/interface/wx/msw/registry.h @@ -110,9 +110,9 @@ public: HKCU, ///< HKEY_CURRENT_USER HKLM, ///< HKEY_LOCAL_MACHINE HKUSR, ///< HKEY_USERS - HKPD, ///< HKEY_PERFORMANCE_DATA (Windows NT and 2K only) + HKPD, ///< HKEY_PERFORMANCE_DATA HKCC, ///< HKEY_CURRENT_CONFIG - HKDD, ///< HKEY_DYN_DATA (Windows 95 and 98 only) + HKDD, ///< HKEY_DYN_DATA (Obsolete: Windows 9x only) HKMAX }; diff --git a/interface/wx/notebook.h b/interface/wx/notebook.h index d3cace7776..3dc8d44d45 100644 --- a/interface/wx/notebook.h +++ b/interface/wx/notebook.h @@ -63,7 +63,7 @@ wxEventType wxEVT_NOTEBOOK_PAGE_CHANGING; @endStyleTable The styles wxNB_LEFT, RIGHT and BOTTOM are not supported under - Microsoft Windows XP when using visual themes. + Microsoft Windows when using visual themes. @beginEventEmissionTable{wxBookCtrlEvent} @event{EVT_NOTEBOOK_PAGE_CHANGED(id, func)} @@ -78,7 +78,7 @@ wxEventType wxEVT_NOTEBOOK_PAGE_CHANGING; @section notebook_bg Page backgrounds - On Windows XP, the default theme paints a gradient on the notebook's pages. + On Windows, the default theme paints a background on the notebook's pages. If you wish to suppress this theme, for aesthetic or performance reasons, there are three ways of doing it. You can use @c wxNB_NOPAGETHEME to disable themed drawing for a particular diff --git a/interface/wx/platinfo.h b/interface/wx/platinfo.h index 2de17160e4..39914a56fe 100644 --- a/interface/wx/platinfo.h +++ b/interface/wx/platinfo.h @@ -29,7 +29,7 @@ enum wxOperatingSystemId wxOS_MAC = wxOS_MAC_OS|wxOS_MAC_OSX_DARWIN, wxOS_WINDOWS_9X = 1 << 2, //!< Windows 9x family (95/98/ME) - wxOS_WINDOWS_NT = 1 << 3, //!< Windows NT family (NT/2000/XP/Vista/7) + wxOS_WINDOWS_NT = 1 << 3, //!< Windows NT family (XP/Vista/7/8/10) wxOS_WINDOWS_MICRO = 1 << 4, //!< MicroWindows wxOS_WINDOWS_CE = 1 << 5, //!< Windows CE (Windows Mobile) diff --git a/interface/wx/print.h b/interface/wx/print.h index 1a16f1d08e..3af5afcda4 100644 --- a/interface/wx/print.h +++ b/interface/wx/print.h @@ -526,8 +526,8 @@ public: /** Invokes the print setup dialog. - @remarks - The setup dialog is obsolete from Windows 95, though retained + @deprecated + The setup dialog is obsolete, though retained for backward compatibility. */ virtual bool Setup(wxWindow* parent); diff --git a/interface/wx/renderer.h b/interface/wx/renderer.h index 3ee7e7ae3f..07a8a82755 100644 --- a/interface/wx/renderer.h +++ b/interface/wx/renderer.h @@ -46,6 +46,9 @@ enum /** Checkboxes only: flat border. */ wxCONTROL_FLAT = wxCONTROL_SPECIAL, + /** Item selection rect only: cell inside selection. */ + wxCONTROL_CELL = wxCONTROL_SPECIAL, + /** Mouse is currently over the control. */ wxCONTROL_CURRENT = 0x00000010, @@ -404,7 +407,8 @@ public: @c wxCONTROL_FOCUSED may be used to indicate if the control has the focus (otherwise the selection rectangle is e.g. often grey and not blue). This may be ignored by the renderer or deduced by the code directly from - the @a win. + the @a win. Additionally @c wxCONTROL_CELL may be used to draw a cell inside + a bigger selection area. @see DrawItemText() */ @@ -430,7 +434,8 @@ public: const wxString& text, const wxRect& rect, int align = wxALIGN_LEFT | wxALIGN_TOP, - int flags = 0) = 0; + int flags = 0, + wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END) = 0; /** Draw a blank push button that looks very similar to wxButton. diff --git a/interface/wx/settings.h b/interface/wx/settings.h index b6959a9553..04cc77d74e 100644 --- a/interface/wx/settings.h +++ b/interface/wx/settings.h @@ -28,7 +28,7 @@ enum wxSystemFont /// dialog box controls, and text. wxSYS_SYSTEM_FONT, - /// Device-dependent font (Windows NT and later only). + /// Device-dependent font. wxSYS_DEVICE_DEFAULT_FONT, /** diff --git a/interface/wx/splitter.h b/interface/wx/splitter.h index 494bc40d2e..bd3e5f3cac 100644 --- a/interface/wx/splitter.h +++ b/interface/wx/splitter.h @@ -52,8 +52,8 @@ enum @style{wxSP_NOBORDER} No border (default). @style{wxSP_NO_XP_THEME} - Under Windows XP, switches off the attempt to draw the splitter - using Windows XP theming, so the borders and sash will take on the + Under Windows, switches off the attempt to draw the splitter + using Windows theming, so the borders and sash will take on the pre-XP look. @style{wxSP_PERMIT_UNSPLIT} Always allow to unsplit, even with the minimum pane size other than zero. diff --git a/interface/wx/statbmp.h b/interface/wx/statbmp.h index 4a5f3ec7a2..57054fa890 100644 --- a/interface/wx/statbmp.h +++ b/interface/wx/statbmp.h @@ -10,8 +10,7 @@ A static bitmap control displays a bitmap. Native implementations on some platforms are only meant for display of the small icons in the dialog - boxes. In particular, under Windows 9x the size of bitmap is limited - to 64*64 pixels. + boxes. If you want to display larger images portably, you may use generic implementation wxGenericStaticBitmap declared in \. diff --git a/interface/wx/stdpaths.h b/interface/wx/stdpaths.h index f5fcedb740..c95d7b28d0 100644 --- a/interface/wx/stdpaths.h +++ b/interface/wx/stdpaths.h @@ -66,6 +66,64 @@ public: ResourceCat_Messages }; + /// Possible values for userDir parameter of GetUserDir(). + enum Dir + { + /** + Directory containing user documents. + + Example return values: + - Unix/Mac: @c ~/Documents + - Windows: @c "C:\Users\username\Documents" + */ + Dir_Documents, + + /** + Directory containing files on the users desktop. + + Example return values: + - Unix/Mac: @c ~/Desktop + - Windows: @c "C:\Users\username\Desktop" + */ + Dir_Desktop, + + /** + Directory for downloaded files + + Example return values: + - Unix/Mac: @c ~/Downloads + - Windows: @c "C:\Users\username\Downloads" (Only available on Vista and newer) + */ + Dir_Downloads, + + /** + Directory containing music files. + + Example return values: + - Unix/Mac: @c ~/Music + - Windows: @c "C:\Users\username\Music" + */ + Dir_Music, + + /** + Directory containing picture files. + + Example return values: + - Unix/Mac: @c ~/Pictures + - Windows: @c "C:\Users\username\Pictures" + */ + Dir_Pictures, + + /** + Directory containing video files. + + Example return values: + - Unix: @c ~/Videos + - Windows: @c "C:\Users\username\Videos" + - Mac: @c ~/Movies + */ + Dir_Videos + }; /** MSW-specific function undoing the effect of IgnoreAppSubDir() calls. @@ -138,17 +196,11 @@ public: virtual wxString GetDataDir() const; /** - Return the directory containing the current user's documents. - - Example return values: - - Unix: @c ~ (the home directory) - - Windows: @c "C:\Users\username\Documents" or - @c "C:\Documents and Settings\username\My Documents" - - Mac: @c ~/Documents + Same as calling GetUserDir() with Dir_Documents parameter. @since 2.7.0 - @see GetAppDocumentsDir() + @see GetAppDocumentsDir(), GetUserDir() */ virtual wxString GetDocumentsDir() const; @@ -259,6 +311,17 @@ public: */ virtual wxString GetUserDataDir() const; + /** + Return the path of the specified user data directory. + + If the value could not be determined the users home directory is returned. + + @note On Unix this supports the xdg user dirs specification. + + @since 3.1.0 + */ + virtual wxString GetUserDir(Dir userDir) const; + /** Return the directory for user data files which shouldn't be shared with the other machines. diff --git a/interface/wx/thread.h b/interface/wx/thread.h index fdeaf4a2da..2981bda3f5 100644 --- a/interface/wx/thread.h +++ b/interface/wx/thread.h @@ -1076,7 +1076,7 @@ public: See @ref thread_deletion for a broader explanation of this routine. */ wxThreadError Delete(ExitCode *rc = NULL, - wxThreadWait waitMode = wxTHREAD_WAIT_BLOCK); + wxThreadWait waitMode = wxTHREAD_WAIT_DEFAULT); /** Returns the number of system CPUs or -1 if the value is unknown. diff --git a/interface/wx/utils.h b/interface/wx/utils.h index fd1f2d1f32..d0a227ec5d 100644 --- a/interface/wx/utils.h +++ b/interface/wx/utils.h @@ -1005,8 +1005,7 @@ enum Under Unix, if the process is the group leader then passing wxKILL_CHILDREN to wxKill() kills all children as well as pid. - Under MSW, applies only to console applications and is only supported - under NT family (i.e. not under Windows 9x). It corresponds to the + Under MSW, applies only to console applications. It corresponds to the native @c CREATE_NEW_PROCESS_GROUP and, in particular, ensures that Ctrl-Break signals will be sent to all children of this process as well to the process itself. Support for this flag under MSW was added in @@ -1341,7 +1340,7 @@ bool wxShell(const wxString& command = wxEmptyString); the @a flags. @note Note that performing the shutdown requires the corresponding access - rights (superuser under Unix, SE_SHUTDOWN privilege under Windows NT) + rights (superuser under Unix, SE_SHUTDOWN privilege under Windows) and that this function is only implemented under Unix and MSW. @param flags diff --git a/interface/wx/window.h b/interface/wx/window.h index cc50b7a352..f43ab274cf 100644 --- a/interface/wx/window.h +++ b/interface/wx/window.h @@ -137,7 +137,7 @@ enum wxWindowVariant is the old name for this style. Windows only. @style{wxBORDER_THEME} Displays a native border suitable for a control, on the current - platform. On Windows XP or Vista, this will be a themed border; on + platform. On Windows, this will be a themed border; on most other platforms a sunken border will be used. For more information for themed borders on Windows, please see Themed borders on Windows. diff --git a/src/aui/auibook.cpp b/src/aui/auibook.cpp index c5391e2d87..92f7fb33d5 100644 --- a/src/aui/auibook.cpp +++ b/src/aui/auibook.cpp @@ -186,6 +186,7 @@ bool wxAuiTabContainer::AddPage(wxWindow* page, wxAuiNotebookPage page_info; page_info = info; page_info.window = page; + page_info.hover = false; m_pages.Add(page_info); @@ -205,6 +206,7 @@ bool wxAuiTabContainer::InsertPage(wxWindow* page, wxAuiNotebookPage page_info; page_info = info; page_info.window = page; + page_info.hover = false; if (idx >= m_pages.GetCount()) m_pages.Add(page_info); @@ -1233,20 +1235,28 @@ void wxAuiTabCtrl::OnMotion(wxMouseEvent& evt) } } -#if wxUSE_TOOLTIPS wxWindow* wnd = NULL; if (evt.Moving() && TabHitTest(evt.m_x, evt.m_y, &wnd)) { + SetHoverTab(wnd); + +#if wxUSE_TOOLTIPS wxString tooltip(m_pages[GetIdxFromWindow(wnd)].tooltip); // If the text changes, set it else, keep old, to avoid // 'moving tooltip' effect if (GetToolTipText() != tooltip) SetToolTip(tooltip); +#endif // wxUSE_TOOLTIPS } else + { + SetHoverTab(NULL); + +#if wxUSE_TOOLTIPS UnsetToolTip(); #endif // wxUSE_TOOLTIPS + } if (!evt.LeftIsDown() || m_clickPt == wxDefaultPosition) return; @@ -1287,6 +1297,8 @@ void wxAuiTabCtrl::OnLeaveWindow(wxMouseEvent& WXUNUSED(event)) Refresh(); Update(); } + + SetHoverTab(NULL); } void wxAuiTabCtrl::OnButton(wxAuiNotebookEvent& event) @@ -3450,5 +3462,26 @@ int wxAuiNotebook::DoModifySelection(size_t n, bool events) return m_curPage; } +void wxAuiTabCtrl::SetHoverTab(wxWindow* wnd) +{ + bool hoverChanged = false; + + const size_t page_count = m_pages.GetCount(); + for ( size_t i = 0; i < page_count; ++i ) + { + wxAuiNotebookPage& page = m_pages.Item(i); + bool oldHover = page.hover; + page.hover = (page.window == wnd); + if ( oldHover != page.hover ) + hoverChanged = true; + } + + if ( hoverChanged ) + { + Refresh(); + Update(); + } +} + #endif // wxUSE_AUI diff --git a/src/aui/tabartmsw.cpp b/src/aui/tabartmsw.cpp new file mode 100644 index 0000000000..17f894a163 --- /dev/null +++ b/src/aui/tabartmsw.cpp @@ -0,0 +1,501 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/aui/tabartmsw.h +// Purpose: wxAuiMSWTabArt declaration +// Author: Tobias Taschner +// Created: 2015-09-26 +// Copyright: (c) 2015 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/dc.h" +#endif + +#include "wx/aui/tabart.h" +#include "wx/aui/auibook.h" +#include "wx/msw/uxtheme.h" +#include "wx/msw/private.h" +#include "wx/renderer.h" + +#if wxUSE_AUI + +#ifndef CP_DROPDOWNBUTTON + + #define TABP_TABITEM 1 + #define TABP_TABITEMLEFTEDGE 2 + #define TABP_TABITEMRIGHTEDGE 3 + #define TABP_TABITEMBOTHEDGE 4 + #define TABP_TOPTABITEM 5 + #define TABP_TOPTABITEMLEFTEDGE 6 + #define TABP_TOPTABITEMRIGHTEDGE 7 + #define TABP_TOPTABITEMBOTHEDGE 8 + #define TABP_PANE 9 + #define TABP_BODY 10 + #define TABP_AEROWIZARDBODY 11 + + #define TIS_NORMAL 1 + #define TIS_HOT 2 + #define TIS_SELECTED 3 + #define TIS_DISABLED 4 + #define TIS_FOCUSED 5 + + #define TTP_CLOSE 5 + + #define TTCS_NORMAL 1 + #define TTCS_HOT 2 + #define TTCS_PRESSED 3 + + #define SPNP_UPHORZ 3 + #define SPNP_DOWNHORZ 4 + + #define CP_DROPDOWNBUTTON1 1 + + #define WP_CLOSEBUTTON 18 +#endif + +wxAuiMSWTabArt::wxAuiMSWTabArt() +{ + m_closeBtnSize = wxDefaultSize; + m_maxTabHeight = 0; + + wxUxThemeEngine* te = wxUxThemeEngine::GetIfActive(); + if ( te && te->IsAppThemed() ) + { + m_themed = true; + } + else + m_themed = false; +} + +wxAuiMSWTabArt::~wxAuiMSWTabArt() +{ +} + +wxAuiTabArt* wxAuiMSWTabArt::Clone() +{ + return new wxAuiMSWTabArt(*this); +} + +void wxAuiMSWTabArt::SetSizingInfo(const wxSize& tab_ctrl_size, + size_t tab_count) +{ + wxAuiGenericTabArt::SetSizingInfo(tab_ctrl_size, tab_count); +} + + +void wxAuiMSWTabArt::DrawBorder(wxDC& dc, wxWindow* wnd, const wxRect& rect) +{ + if ( !IsThemed() ) + { + wxAuiGenericTabArt::DrawBorder(dc, wnd, rect); + return; + } + + wxRect drawRect(rect); + + drawRect.y += m_maxTabHeight + wnd->FromDIP(1); + drawRect.height -= m_maxTabHeight; + + // Mask border not covered by native theme + wxRect topDrawRect(rect); + topDrawRect.height = drawRect.height; + dc.SetPen(wxPen(wnd->GetBackgroundColour(), GetBorderWidth(wnd))); + dc.DrawRectangle(topDrawRect); + + RECT r; + wxCopyRectToRECT(drawRect, r); + + wxUxThemeHandle hTheme(wnd, L"TAB"); + + wxUxThemeEngine::Get()->DrawThemeBackground( + hTheme, + GetHdcOf(dc.GetTempHDC()), + TABP_PANE, + 0, + &r, + NULL); +} + +void wxAuiMSWTabArt::DrawBackground(wxDC& dc, + wxWindow* wnd, + const wxRect& rect) +{ + if ( !IsThemed() ) + { + wxAuiGenericTabArt::DrawBackground(dc, wnd, rect); + return; + } + + int borderHeight = 2; + + wxRect drawRect = rect; + drawRect.height -= borderHeight; + + // Draw background + dc.SetBrush(wxBrush(wnd->GetBackgroundColour())); + dc.SetPen(*wxTRANSPARENT_PEN); + dc.DrawRectangle(drawRect); + + // Draw top border + drawRect.y = drawRect.height; + drawRect.height = borderHeight + 2; + + drawRect.Inflate(1, 0); + + RECT r; + wxCopyRectToRECT(drawRect, r); + + wxUxThemeHandle hTheme(wnd, L"TAB"); + + wxUxThemeEngine::Get()->DrawThemeBackground( + hTheme, + GetHdcOf(dc.GetTempHDC()), + TABP_PANE, + 0, + &r, + NULL); +} + +void wxAuiMSWTabArt::DrawTab(wxDC& dc, + wxWindow* wnd, + const wxAuiNotebookPage& page, + const wxRect& in_rect, + int close_button_state, + wxRect* out_tab_rect, + wxRect* out_button_rect, + int* x_extent) +{ + if ( !IsThemed() ) + { + wxAuiGenericTabArt::DrawTab(dc, wnd, page, in_rect, close_button_state, out_tab_rect, out_button_rect, x_extent); + return; + } + + if ( !m_closeBtnSize.IsFullySpecified() ) + InitSizes(wnd, dc); + + // figure out the size of the tab + wxSize tabSize = GetTabSize(dc, + wnd, + page.caption, + page.bitmap, + page.active, + close_button_state, + x_extent); + + wxCoord tabHeight = tabSize.y; + wxCoord tabWidth = tabSize.x; + wxCoord tabX = in_rect.x; + wxCoord tabY = 0; + + if (!page.active) + { + tabY += wnd->FromDIP(2); + tabHeight -= wnd->FromDIP(2); + } + else + { + tabX -= wnd->FromDIP(2); + tabWidth += wnd->FromDIP(4); + tabHeight += 2; + } + + int clipWidth = tabWidth; + if ( tabX + clipWidth > in_rect.x + in_rect.width ) + clipWidth = (in_rect.x + in_rect.width) - tabX; + dc.SetClippingRegion(tabX - wnd->FromDIP(2), tabY, clipWidth + wnd->FromDIP(4), tabHeight); + + + // draw tab + wxRect tabRect(tabX, tabY, tabWidth, tabHeight); + + int tabState; + if ( page.active ) + tabState = TIS_SELECTED; + else if ( page.hover ) + tabState = TIS_HOT; + else + tabState = TIS_NORMAL; + + wxUxThemeEngine* te = wxUxThemeEngine::Get(); + + wxUxThemeHandle hTabTheme(wnd, L"Tab"); + RECT tabR; + wxCopyRectToRECT(tabRect, tabR); + te->DrawThemeBackground(hTabTheme, GetHdcOf(dc.GetTempHDC()), TABP_TABITEM, + tabState, + &tabR, NULL); + + wxRect textRect = tabRect; + if ( !page.active ) + textRect.Offset(0, wnd->FromDIP(1)); + if ( close_button_state != wxAUI_BUTTON_STATE_HIDDEN ) + textRect.width -= m_closeBtnSize.x + wnd->FromDIP(3); + + dc.SetFont(wnd->GetFont()); + dc.DrawLabel(page.caption, page.bitmap, textRect, wxALIGN_CENTRE); + + // draw focus rectangle + if ( page.active && (wnd->FindFocus() == wnd) ) + { + wxRect focusRect = tabRect; + focusRect.Deflate(wnd->FromDIP(2)); + + wxRendererNative::Get().DrawFocusRect(wnd, dc, focusRect, 0); + } + + // draw close button + if ( close_button_state != wxAUI_BUTTON_STATE_HIDDEN ) + { + wxUxThemeHandle hToolTipTheme(wnd, L"TOOLTIP"); + + int btnState; + if ( close_button_state == wxAUI_BUTTON_STATE_HOVER ) + btnState = TTCS_HOT; + else if ( close_button_state == wxAUI_BUTTON_STATE_PRESSED ) + btnState = TTCS_PRESSED; + else + btnState = TTCS_NORMAL; + + int offsetY = tabY; + if ( wxGetWinVersion() < wxWinVersion_Vista ) + offsetY++; // WinXP theme needs a little more padding + + wxRect rect(tabX + tabWidth - m_closeBtnSize.x - wnd->FromDIP(4), + offsetY + (tabHeight / 2) - (m_closeBtnSize.y / 2), + m_closeBtnSize.x, + m_closeBtnSize.y); + + RECT btnR; + wxCopyRectToRECT(rect, btnR); + te->DrawThemeBackground(hToolTipTheme, GetHdcOf(dc.GetTempHDC()), TTP_CLOSE, btnState, &btnR, NULL); + + if ( out_button_rect ) + *out_button_rect = rect; + } + + *out_tab_rect = wxRect(tabX, tabY, tabWidth, tabHeight); + + dc.DestroyClippingRegion(); +} + +int wxAuiMSWTabArt::GetIndentSize() +{ + if ( IsThemed() ) + return 3; // This should be 1 but we can't draw into the border from DrawTab + else + return wxAuiGenericTabArt::GetIndentSize(); +} + +int wxAuiMSWTabArt::GetBorderWidth(wxWindow* wnd) +{ + return wxAuiGenericTabArt::GetBorderWidth(wnd); +} + +int wxAuiMSWTabArt::GetAdditionalBorderSpace(wxWindow* wnd) +{ + if ( IsThemed() ) + { + return 4; + } + else + return wxAuiGenericTabArt::GetAdditionalBorderSpace(wnd); +} + +wxSize wxAuiMSWTabArt::GetTabSize(wxDC& dc, + wxWindow* wnd, + const wxString& caption, + const wxBitmap& bitmap, + bool active, + int close_button_state, + int* x_extent) +{ + if ( !IsThemed() ) + return wxAuiGenericTabArt::GetTabSize(dc, wnd, caption, bitmap, active, close_button_state, x_extent); + + if ( !m_closeBtnSize.IsFullySpecified() ) + InitSizes(wnd, dc); + + wxCoord textWidth, textHeight, tmp; + + dc.SetFont(wnd->GetFont()); + dc.GetTextExtent(caption, &textWidth, &tmp); + dc.GetTextExtent("ABCDEFXj", &tmp, &textHeight); + + wxCoord tabWidth = wxMax(m_tabSize.x, textWidth); + wxCoord tabHeight = wxMax(m_tabSize.y, textHeight); + + // if the close button is showing, add space for it + if ( close_button_state != wxAUI_BUTTON_STATE_HIDDEN ) + { + tabWidth += m_closeBtnSize.x; + tabHeight = wxMax(tabHeight, m_closeBtnSize.y); + } + + // if there's a bitmap, add space for it + if ( bitmap.IsOk() ) + { + tabWidth += bitmap.GetWidth() + wnd->FromDIP(3); // bitmap padding + tabHeight = wxMax(tabHeight, bitmap.GetHeight() + wnd->FromDIP(2)); + } + + // add padding + tabWidth += wnd->FromDIP(12); + tabHeight += wnd->FromDIP(3); + + if ( m_flags & wxAUI_NB_TAB_FIXED_WIDTH ) + { + tabWidth = m_fixedTabWidth; + } + else + { + int minTabWidth = wnd->FromDIP(46); + if (tabWidth < minTabWidth) + tabWidth = minTabWidth; + } + + *x_extent = tabWidth; + + if (tabHeight > m_maxTabHeight) + m_maxTabHeight = tabHeight; + + return wxSize(tabWidth, tabHeight); +} + + +void wxAuiMSWTabArt::DrawButton(wxDC& dc, + wxWindow* wnd, + const wxRect& in_rect, + int bitmap_id, + int button_state, + int orientation, + wxRect* out_rect) +{ + if ( !IsThemed() ) + { + wxAuiGenericTabArt::DrawButton(dc, wnd, in_rect, bitmap_id, button_state, orientation, out_rect); + return; + } + + wxUxThemeEngine* te = wxUxThemeEngine::Get(); + + const wchar_t* themeId = NULL; + int part = 0; + + switch (bitmap_id) + { + case wxAUI_BUTTON_CLOSE: + themeId = L"Window"; + part = WP_CLOSEBUTTON; + break; + case wxAUI_BUTTON_LEFT: + themeId = L"Spin"; + part = SPNP_DOWNHORZ; + break; + case wxAUI_BUTTON_RIGHT: + themeId = L"Spin"; + part = SPNP_UPHORZ; + break; + case wxAUI_BUTTON_WINDOWLIST: + themeId = L"Combobox"; + part = CP_DROPDOWNBUTTON1; + break; + } + + wxRect rect = in_rect; + + if ( orientation == wxLEFT ) + { + rect.SetX(in_rect.x); + rect.SetY(((in_rect.y + in_rect.height) / 2) - (m_closeBtnSize.GetHeight() / 2)); + rect.SetWidth(m_closeBtnSize.GetWidth()); + rect.SetHeight(m_closeBtnSize.GetHeight()); + } + else + { + rect = wxRect(in_rect.x + in_rect.width - m_closeBtnSize.GetWidth(), + ((in_rect.y + in_rect.height) / 2) - (m_closeBtnSize.GetHeight() / 2), + m_closeBtnSize.GetWidth(), m_closeBtnSize.GetHeight()); + } + + if ( bitmap_id == wxAUI_BUTTON_LEFT || + bitmap_id == wxAUI_BUTTON_RIGHT ) + { + rect.y = in_rect.y; + rect.height = in_rect.height - 7; + } + + dc.SetPen(*wxTRANSPARENT_PEN); + dc.SetBrush(wxBrush(m_baseColour)); + dc.DrawRectangle(rect); + + int btnState; + if ( button_state == wxAUI_BUTTON_STATE_DISABLED ) + btnState = TTCS_PRESSED + 1; + else if ( button_state == wxAUI_BUTTON_STATE_HOVER ) + btnState = TTCS_HOT; + else if ( button_state == wxAUI_BUTTON_STATE_PRESSED ) + btnState = TTCS_PRESSED; + else + btnState = TTCS_NORMAL; + + wxUxThemeHandle hTheme(wnd, themeId); + + wxRect btnRect(rect); + btnRect.width -= wnd->FromDIP(1); + + RECT btnR; + wxCopyRectToRECT(btnRect, btnR); + te->DrawThemeBackground(hTheme, GetHdcOf(dc.GetTempHDC()), part, btnState, &btnR, NULL); + + if ( out_rect ) + *out_rect = rect; +} + +int wxAuiMSWTabArt::ShowDropDown(wxWindow* wnd, + const wxAuiNotebookPageArray& pages, + int active_idx) +{ + return wxAuiGenericTabArt::ShowDropDown(wnd, pages, active_idx); +} + +int wxAuiMSWTabArt::GetBestTabCtrlSize(wxWindow* wnd, + const wxAuiNotebookPageArray& pages, + const wxSize& requiredBmp_size) +{ + return wxAuiGenericTabArt::GetBestTabCtrlSize(wnd, pages, requiredBmp_size); +} + +void wxAuiMSWTabArt::InitSizes(wxWindow* wnd, wxDC& dc) +{ + wxUxThemeEngine* te = wxUxThemeEngine::Get(); + SIZE uxSize; + + // Borrow close button from tooltip (best fit on various backgrounds) + wxUxThemeHandle hTooltipTheme(wnd, L"Tooltip"); + + te->GetThemePartSize(hTooltipTheme, GetHdcOf(dc.GetTempHDC()), + TTP_CLOSE, 0, NULL, TS_TRUE, &uxSize); + m_closeBtnSize.Set(uxSize.cx, uxSize.cy); + + wxUxThemeHandle hTabTheme(wnd, L"Tab"); + te->GetThemePartSize(hTabTheme, GetHdcOf(dc.GetTempHDC()), + TABP_TABITEM, 0, NULL, TS_TRUE, &uxSize); + m_tabSize.Set(uxSize.cx, uxSize.cy); +} + +bool wxAuiMSWTabArt::IsThemed() const +{ + return + m_themed && + !(m_flags & wxAUI_NB_BOTTOM); // Native theme does not support bottom tabs +} + + +#endif // wxUSE_AUI diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index 536e7ae2ea..a94c0022e7 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -981,34 +981,20 @@ wxDataViewCustomRendererBase::RenderText(const wxString& text, rectText.x += xoffset; rectText.width -= xoffset; - // check if we want to ellipsize the text if it doesn't fit - wxString ellipsizedText; - if ( GetEllipsizeMode() != wxELLIPSIZE_NONE ) - { - ellipsizedText = wxControl::Ellipsize - ( - text, - *dc, - GetEllipsizeMode(), - rectText.width, - wxELLIPSIZE_FLAGS_NONE - ); - } - int flags = 0; if ( state & wxDATAVIEW_CELL_SELECTED ) flags |= wxCONTROL_SELECTED | wxCONTROL_FOCUSED; if ( !GetOwner()->GetOwner()->IsEnabled() ) flags |= wxCONTROL_DISABLED; - // get the alignment to use wxRendererNative::Get().DrawItemText( GetOwner()->GetOwner(), *dc, - ellipsizedText.empty() ? text : ellipsizedText, + text, rectText, GetEffectiveAlignment(), - flags); + flags, + GetEllipsizeMode()); } void wxDataViewCustomRendererBase::SetEnabled(bool enabled) diff --git a/src/common/emptydmy.cpp b/src/common/emptydmy.cpp deleted file mode 100644 index 4c2b115372..0000000000 --- a/src/common/emptydmy.cpp +++ /dev/null @@ -1,3 +0,0 @@ -// This file exists so that it can be compiled into an object so the linker -// will have something to chew on so that builds don't break when a platform -// lacks any objects in a particular multilib. diff --git a/src/common/imagjpeg.cpp b/src/common/imagjpeg.cpp index cb4a319fc5..e215a7a76a 100644 --- a/src/common/imagjpeg.cpp +++ b/src/common/imagjpeg.cpp @@ -148,11 +148,26 @@ CPP_METHODDEF(void) wx_term_source ( j_decompress_ptr cinfo ) // JPEG error manager: +#ifdef __VISUALC__ + // We don't care about the size of this struct, but we still get an + // annoying warning C4324 here: + // + // 'wx_error_mgr' : structure was padded due to __declspec(align()) + // + // and suppressing it seems to be the only way to avoid it. + #pragma warning(push) + #pragma warning(disable: 4324) +#endif + struct wx_error_mgr : public jpeg_error_mgr { jmp_buf setjmp_buffer; /* for return to caller */ }; +#ifdef __VISUALC__ + #pragma warning(pop) +#endif + /* * Here's the routine that will replace the standard error_exit method: */ diff --git a/src/common/stdpbase.cpp b/src/common/stdpbase.cpp index 41e27e7724..143c4f117c 100644 --- a/src/common/stdpbase.cpp +++ b/src/common/stdpbase.cpp @@ -114,11 +114,6 @@ wxString wxStandardPathsBase::GetUserLocalDataDir() const return GetUserDataDir(); } -wxString wxStandardPathsBase::GetDocumentsDir() const -{ - return wxFileName::GetHomeDir(); -} - wxString wxStandardPathsBase::GetAppDocumentsDir() const { const wxString docsDir = GetDocumentsDir(); @@ -133,6 +128,11 @@ wxString wxStandardPathsBase::GetTempDir() const return wxFileName::GetTempDir(); } +wxString wxStandardPathsBase::GetUserDir(Dir WXUNUSED(userDir)) const +{ + return wxFileName::GetHomeDir(); +} + /* static */ wxString wxStandardPathsBase::AppendPathComponent(const wxString& dir, diff --git a/src/generic/busyinfo.cpp b/src/generic/busyinfo.cpp index cdff39650f..458b21cc5d 100644 --- a/src/generic/busyinfo.cpp +++ b/src/generic/busyinfo.cpp @@ -63,7 +63,11 @@ void wxBusyInfo::Init(const wxBusyInfoFlags& flags) wxDefaultSize, wxALIGN_CENTRE); title->SetFont(title->GetFont().Scaled(2)); +#if wxUSE_MARKUP title->SetLabelMarkup(flags.m_title); +#else + title->SetLabelText(flags.m_title); +#endif sizer->Add(title, wxSizerFlags().DoubleBorder().Expand()); } diff --git a/src/generic/datavgen.cpp b/src/generic/datavgen.cpp index 316f0609d8..f369504ada 100644 --- a/src/generic/datavgen.cpp +++ b/src/generic/datavgen.cpp @@ -1801,44 +1801,6 @@ wxBitmap wxDataViewMainWindow::CreateItemBitmap( unsigned int row, int &indent ) #endif // wxUSE_DRAG_AND_DROP - -// Draw focus rect for individual cell. Unlike native focus rect, we render -// this in foreground text color (typically white) to enhance contrast and -// make it visible. -static void DrawSelectedCellFocusRect(wxDC& dc, const wxRect& rect) -{ - // (This code is based on wxRendererGeneric::DrawFocusRect and modified.) - - // draw the pixels manually because the "dots" in wxPen with wxDOT style - // may be short traits and not really dots - // - // note that to behave in the same manner as DrawRect(), we must exclude - // the bottom and right borders from the rectangle - wxCoord x1 = rect.GetLeft(), - y1 = rect.GetTop(), - x2 = rect.GetRight(), - y2 = rect.GetBottom(); - - wxDCPenChanger pen(dc, wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT)); - - wxCoord z; - for ( z = x1 + 1; z < x2; z += 2 ) - dc.DrawPoint(z, rect.GetTop()); - - wxCoord shift = z == x2 ? 0 : 1; - for ( z = y1 + shift; z < y2; z += 2 ) - dc.DrawPoint(x2, z); - - shift = z == y2 ? 0 : 1; - for ( z = x2 - shift; z > x1; z -= 2 ) - dc.DrawPoint(z, y2); - - shift = z == x1 ? 0 : 1; - for ( z = y2 - shift; z > y1; z -= 2 ) - dc.DrawPoint(x1, z); -} - - void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) { wxDataViewModel *model = GetModel(); @@ -1994,29 +1956,18 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) if (selected || item == m_currentRow) { - wxRect rect( x_start, GetLineStart( item ), + wxRect rowRect( x_start, GetLineStart( item ), x_last - x_start, GetLineHeight( item ) ); - // draw selection and whole-item focus: - if ( selected ) - { - int flags = wxCONTROL_SELECTED; - if (m_hasFocus) - flags |= wxCONTROL_FOCUSED; + bool renderColumnFocus = false; - wxRendererNative::Get().DrawItemSelectionRect - ( - this, - dc, - rect, - flags - ); - } + int flags = wxCONTROL_SELECTED; + if ( m_hasFocus ) + flags |= wxCONTROL_FOCUSED; // draw keyboard focus rect if applicable if ( item == m_currentRow && m_hasFocus ) { - bool renderColumnFocus = false; if ( m_useCellFocus && m_currentCol && m_currentColSetByKeyboard ) { @@ -2033,54 +1984,76 @@ void wxDataViewMainWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) if ( renderColumnFocus ) { + wxRect colRect(rowRect); + for ( unsigned int i = col_start; i < col_last; i++ ) { wxDataViewColumn *col = GetOwner()->GetColumnAt(i); if ( col->IsHidden() ) continue; - rect.width = col->GetWidth(); + colRect.width = col->GetWidth(); if ( col == m_currentCol ) { - // make the rect more visible by adding a small - // margin around it: - rect.Deflate(1, 1); + // Draw selection rect left of column + { + wxRect clipRect(rowRect); + clipRect.width = colRect.x; - if ( selected ) - { - // DrawFocusRect() uses XOR and is all but - // invisible against dark-blue background. Use - // the same color used for selected text. - DrawSelectedCellFocusRect(dc, rect); + wxDCClipper clip(dc, clipRect); + wxRendererNative::Get().DrawItemSelectionRect + ( + this, + dc, + rowRect, + flags + ); } - else + + // Draw selection rect right of column { - wxRendererNative::Get().DrawFocusRect - ( - this, - dc, - rect, - 0 - ); + wxRect clipRect(rowRect); + clipRect.x = colRect.x + colRect.width; + clipRect.width = rowRect.width - clipRect.x; + + wxDCClipper clip(dc, clipRect); + wxRendererNative::Get().DrawItemSelectionRect + ( + this, + dc, + rowRect, + flags + ); } + + // Draw column selection rect + wxRendererNative::Get().DrawItemSelectionRect + ( + this, + dc, + colRect, + flags | wxCONTROL_CURRENT | wxCONTROL_CELL + ); + break; } - rect.x += rect.width; + colRect.x += colRect.width; } } - else - { - // render focus rectangle for the whole row - wxRendererNative::Get().DrawFocusRect - ( - this, - dc, - rect, - selected ? (int)wxCONTROL_SELECTED : 0 - ); - } + } + + // draw selection and whole-item focus: + if ( selected && !renderColumnFocus ) + { + wxRendererNative::Get().DrawItemSelectionRect + ( + this, + dc, + rowRect, + flags | wxCONTROL_CURRENT + ); } } } diff --git a/src/generic/renderg.cpp b/src/generic/renderg.cpp index 96f3ac40d9..3de6859a98 100644 --- a/src/generic/renderg.cpp +++ b/src/generic/renderg.cpp @@ -150,7 +150,8 @@ public: const wxString& text, const wxRect& rect, int align = wxALIGN_LEFT | wxALIGN_TOP, - int flags = 0) wxOVERRIDE; + int flags = 0, + wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END) wxOVERRIDE; virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win) wxOVERRIDE; @@ -182,6 +183,46 @@ protected: static wxRendererGeneric* sm_rendererGeneric; }; +// ---------------------------------------------------------------------------- +// misc. drawing functions +// ---------------------------------------------------------------------------- + +// Draw focus rect for individual cell. Unlike native focus rect, we render +// this in foreground text color (typically white) to enhance contrast and +// make it visible. +static void DrawSelectedCellFocusRect(wxDC& dc, const wxRect& rect) +{ + // (This code is based on wxRendererGeneric::DrawFocusRect and modified.) + + // draw the pixels manually because the "dots" in wxPen with wxDOT style + // may be short traits and not really dots + // + // note that to behave in the same manner as DrawRect(), we must exclude + // the bottom and right borders from the rectangle + wxCoord x1 = rect.GetLeft(), + y1 = rect.GetTop(), + x2 = rect.GetRight(), + y2 = rect.GetBottom(); + + wxDCPenChanger pen(dc, wxSystemSettings::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT)); + + wxCoord z; + for (z = x1 + 1; z < x2; z += 2) + dc.DrawPoint(z, rect.GetTop()); + + wxCoord shift = z == x2 ? 0 : 1; + for (z = y1 + shift; z < y2; z += 2) + dc.DrawPoint(x2, z); + + shift = z == y2 ? 0 : 1; + for (z = x2 - shift; z > x1; z -= 2) + dc.DrawPoint(z, y2); + + shift = z == x1 ? 0 : 1; + for (z = y2 - shift; z > y1; z -= 2) + dc.DrawPoint(x1, z); +} + // ============================================================================ // wxRendererGeneric implementation // ============================================================================ @@ -753,17 +794,27 @@ wxRendererGeneric::DrawItemSelectionRect(wxWindow * win, } dc.SetBrush(brush); - if ((flags & wxCONTROL_CURRENT) && (flags & wxCONTROL_FOCUSED) + bool drawFocusRect = (flags & wxCONTROL_CURRENT) && (flags & wxCONTROL_FOCUSED) #if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON && IsControlActive( (ControlRef)win->GetHandle() ) #endif - ) + ; + + if ( drawFocusRect && !(flags & wxCONTROL_CELL) ) dc.SetPen( *wxBLACK_PEN ); else dc.SetPen( *wxTRANSPARENT_PEN ); dc.DrawRectangle( rect ); + if ( drawFocusRect && (flags & wxCONTROL_CELL) ) + { + wxRect focusRect(rect); + focusRect.Deflate(1); + + DrawSelectedCellFocusRect(dc, focusRect); + } + // it's unused everywhere except in wxOSX/Carbon wxUnusedVar(win); } @@ -883,12 +934,13 @@ void wxRendererGeneric::DrawGauge(wxWindow* win, } void -wxRendererGeneric::DrawItemText(wxWindow* win, +wxRendererGeneric::DrawItemText(wxWindow* WXUNUSED(win), wxDC& dc, const wxString& text, const wxRect& rect, int align, - int flags) + int flags, + wxEllipsizeMode ellipsizeMode) { // Determine text color wxColour textColour; @@ -907,17 +959,15 @@ wxRendererGeneric::DrawItemText(wxWindow* win, { textColour = wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT); } - else // enabled but not selected - { - textColour = win->GetForegroundColour(); - } const wxString paintText = wxControl::Ellipsize(text, dc, - wxELLIPSIZE_END, + ellipsizeMode, rect.GetWidth()); - // Draw text - dc.SetTextForeground(textColour); + // Draw text taking care not to change its colour if it had been set by the + // caller for a normal item to allow having items in non-default colours. + if ( textColour.IsOk() ) + dc.SetTextForeground(textColour); dc.SetTextBackground(wxTransparentColour); dc.DrawLabel(paintText, rect, align); } diff --git a/src/gtk/dataobj.cpp b/src/gtk/dataobj.cpp index 1754d6cda9..afdea3f3ee 100644 --- a/src/gtk/dataobj.cpp +++ b/src/gtk/dataobj.cpp @@ -235,7 +235,7 @@ wxTextDataObject::GetAllFormats(wxDataFormat *formats, bool wxFileDataObject::GetDataHere(void *buf) const { - char* out = reinterpret_cast(buf); + char* out = static_cast(buf); for (size_t i = 0; i < m_filenames.GetCount(); i++) { @@ -243,10 +243,11 @@ bool wxFileDataObject::GetDataHere(void *buf) const if (uri) { size_t const len = strlen(uri); - strcpy(out, uri); + memcpy(out, uri, len); out += len; *(out++) = '\r'; *(out++) = '\n'; + g_free(uri); } } *out = 0; diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index 22a8f64313..031de383dc 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -4458,9 +4458,6 @@ void wxWindowGTK::GTKApplyWidgetStyle(bool forceStyle) g_object_unref(style); #endif } - - // Style change may affect GTK+'s size calculation: - InvalidateBestSize(); } void wxWindowGTK::DoApplyWidgetStyle(GtkRcStyle *style) @@ -4768,6 +4765,7 @@ bool wxWindowGTK::SetFont( const wxFont &font ) // apply style change (forceStyle=true so that new style is applied // even if the font changed from valid to wxNullFont): GTKApplyWidgetStyle(true); + InvalidateBestSize(); } #ifdef __WXGTK3__ diff --git a/src/msw/app.cpp b/src/msw/app.cpp index 2f6a62fb87..860bde87e3 100644 --- a/src/msw/app.cpp +++ b/src/msw/app.cpp @@ -377,10 +377,7 @@ bool wxConsoleStderr::DoInit() if ( !m_dllKernel32.Load(wxT("kernel32.dll")) ) return false; - typedef BOOL (WINAPI *AttachConsole_t)(DWORD dwProcessId); - AttachConsole_t wxDL_INIT_FUNC(pfn, AttachConsole, m_dllKernel32); - - if ( !pfnAttachConsole || !pfnAttachConsole(ATTACH_PARENT_PROCESS) ) + if ( !::AttachConsole(ATTACH_PARENT_PROCESS) ) return false; // console attached, set m_hStderr now to ensure that we free it in the @@ -892,37 +889,6 @@ int wxApp::GetComCtl32Version() return s_verComCtl32; } -/* static */ -int wxApp::GetShell32Version() -{ - static int s_verShell32 = -1; - if ( s_verShell32 == -1 ) - { - // we're prepared to handle the errors - wxLogNull noLog; - - wxDynamicLibrary dllShell32(wxT("shell32.dll"), wxDL_VERBATIM); - if ( dllShell32.IsLoaded() ) - { - s_verShell32 = CallDllGetVersion(dllShell32); - - if ( !s_verShell32 ) - { - // there doesn't seem to be any way to distinguish between 4.00 - // and 4.70 (starting from 4.71 we have DllGetVersion()) so - // just assume it is 4.0 - s_verShell32 = 400; - } - } - else // failed load the DLL? - { - s_verShell32 = 0; - } - } - - return s_verShell32; -} - #else // !wxUSE_DYNLIB_CLASS /* static */ @@ -931,12 +897,6 @@ int wxApp::GetComCtl32Version() return 0; } -/* static */ -int wxApp::GetShell32Version() -{ - return 0; -} - #endif // wxUSE_DYNLIB_CLASS/!wxUSE_DYNLIB_CLASS #if wxUSE_EXCEPTIONS diff --git a/src/msw/datecontrols.cpp b/src/msw/datecontrols.cpp index 501ff039fb..954e981f95 100644 --- a/src/msw/datecontrols.cpp +++ b/src/msw/datecontrols.cpp @@ -54,13 +54,6 @@ bool wxMSWDateControls::CheckInitialization() // it's enough to give the error only once s_initResult = false; - if ( wxApp::GetComCtl32Version() < 470 ) - { - wxLogError(_("This system doesn't support date controls, please upgrade your version of comctl32.dll")); - - return false; - } - #if wxUSE_DYNLIB_CLASS INITCOMMONCONTROLSEX icex; icex.dwSize = sizeof(icex); diff --git a/src/msw/datectrl.cpp b/src/msw/datectrl.cpp index 92d7dc0d3f..05beb336e0 100644 --- a/src/msw/datectrl.cpp +++ b/src/msw/datectrl.cpp @@ -70,9 +70,7 @@ WXDWORD wxDatePickerCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const { WXDWORD styleMSW = wxDatePickerCtrlBase::MSWGetStyle(style, exstyle); - // although MSDN doesn't mention it, DTS_UPDOWN doesn't work with - // comctl32.dll 4.72 - if ( wxApp::GetComCtl32Version() > 472 && (style & wxDP_SPIN) ) + if ( style & wxDP_SPIN ) styleMSW |= DTS_UPDOWN; //else: drop down by default diff --git a/src/msw/dirdlg.cpp b/src/msw/dirdlg.cpp index 7f6145c52b..384a50b9e0 100644 --- a/src/msw/dirdlg.cpp +++ b/src/msw/dirdlg.cpp @@ -267,19 +267,14 @@ int wxDirDialog::ShowSHBrowseForFolder(WXHWND owner) static const int verComCtl32 = wxApp::GetComCtl32Version(); - // we always add the edit box (it doesn't hurt anybody, does it?) if it is - // supported by the system - if ( verComCtl32 >= 471 ) - { - bi.ulFlags |= BIF_EDITBOX; - } + // we always add the edit box (it doesn't hurt anybody, does it?) + bi.ulFlags |= BIF_EDITBOX; // to have the "New Folder" button we must use the "new" dialog style which // is also the only way to have a resizable dialog // - // "new" style is only available in the version 5.0+ of comctl32.dll const bool needNewDir = !HasFlag(wxDD_DIR_MUST_EXIST); - if ( (needNewDir || HasFlag(wxRESIZE_BORDER)) && (verComCtl32 >= 500) ) + if ( needNewDir || HasFlag(wxRESIZE_BORDER) ) { if (needNewDir) { diff --git a/src/msw/display.cpp b/src/msw/display.cpp index 67d6969897..4f5f6970de 100644 --- a/src/msw/display.cpp +++ b/src/msw/display.cpp @@ -70,32 +70,6 @@ static const wxChar displayDllName[] = wxT("user32.dll"); -// ---------------------------------------------------------------------------- -// typedefs for dynamically loaded Windows functions -// ---------------------------------------------------------------------------- - -typedef LONG (WINAPI *ChangeDisplaySettingsEx_t)(LPCTSTR lpszDeviceName, - LPDEVMODE lpDevMode, - HWND hwnd, - DWORD dwFlags, - LPVOID lParam); - -typedef BOOL (WINAPI *EnumDisplayMonitors_t)(HDC,LPCRECT,MONITORENUMPROC,LPARAM); -typedef HMONITOR (WINAPI *MonitorFromPoint_t)(POINT,DWORD); -typedef HMONITOR (WINAPI *MonitorFromWindow_t)(HWND,DWORD); -typedef BOOL (WINAPI *GetMonitorInfo_t)(HMONITOR,LPMONITORINFO); - -// emulation of ChangeDisplaySettingsEx() for Win95 -LONG WINAPI ChangeDisplaySettingsExForWin95(LPCTSTR WXUNUSED(lpszDeviceName), - LPDEVMODE lpDevMode, - HWND WXUNUSED(hwnd), - DWORD dwFlags, - LPVOID WXUNUSED(lParam)) -{ - return ::ChangeDisplaySettings(lpDevMode, dwFlags); -} - - // ---------------------------------------------------------------------------- // wxDisplayMSW declaration // ---------------------------------------------------------------------------- @@ -148,12 +122,6 @@ private: WX_DEFINE_ARRAY(HMONITOR, wxMonitorHandleArray); -// functions dynamically bound by wxDisplayFactoryMSW ctor. -static MonitorFromPoint_t gs_MonitorFromPoint = NULL; -static MonitorFromWindow_t gs_MonitorFromWindow = NULL; -static GetMonitorInfo_t gs_GetMonitorInfo = NULL; -static EnumDisplayMonitors_t gs_EnumDisplayMonitors = NULL; - class wxDisplayFactoryMSW : public wxDisplayFactory { public: @@ -236,7 +204,7 @@ wxDisplayFactoryMSW* wxDisplayFactoryMSW::ms_factory = NULL; bool wxDisplayMSW::GetMonInfo(MONITORINFOEX& monInfo) const { - if ( !gs_GetMonitorInfo(m_hmon, &monInfo) ) + if ( !::GetMonitorInfo(m_hmon, &monInfo) ) { wxLogLastError(wxT("GetMonitorInfo")); return false; @@ -390,30 +358,8 @@ bool wxDisplayMSW::ChangeMode(const wxVideoMode& mode) } - // get pointer to the function dynamically - // - // we're only called from the main thread, so it's ok to use static - // variable - static ChangeDisplaySettingsEx_t pfnChangeDisplaySettingsEx = NULL; - if ( !pfnChangeDisplaySettingsEx ) - { - wxDynamicLibrary dllDisplay(displayDllName, wxDL_VERBATIM | wxDL_QUIET); - if ( dllDisplay.IsLoaded() ) - { - wxDL_INIT_FUNC_AW(pfn, ChangeDisplaySettingsEx, dllDisplay); - } - //else: huh, no this DLL must always be present, what's going on?? - - if ( !pfnChangeDisplaySettingsEx ) - { - // we must be under Win95 and so there is no multiple monitors - // support anyhow - pfnChangeDisplaySettingsEx = ChangeDisplaySettingsExForWin95; - } - } - // do change the mode - switch ( pfnChangeDisplaySettingsEx + switch ( ::ChangeDisplaySettingsEx ( GetName().t_str(), // display name pDevMode, // dev mode or NULL to reset @@ -478,25 +424,6 @@ wxDisplayFactoryMSW::wxDisplayFactoryMSW() m_hiddenHwnd = NULL; m_hiddenClass = NULL; - if ( gs_MonitorFromPoint==NULL || gs_MonitorFromWindow==NULL - || gs_GetMonitorInfo==NULL || gs_EnumDisplayMonitors==NULL ) - { - // First initialization, or last initialization failed. - wxDynamicLibrary dllDisplay(displayDllName, wxDL_VERBATIM | wxDL_QUIET); - - wxDL_INIT_FUNC(gs_, MonitorFromPoint, dllDisplay); - wxDL_INIT_FUNC(gs_, MonitorFromWindow, dllDisplay); - wxDL_INIT_FUNC_AW(gs_, GetMonitorInfo, dllDisplay); - wxDL_INIT_FUNC(gs_, EnumDisplayMonitors, dllDisplay); - - // we can safely let dllDisplay go out of scope, the DLL itself will - // still remain loaded as all programs link to it statically anyhow - } - - if ( gs_MonitorFromPoint==NULL || gs_MonitorFromWindow==NULL - || gs_GetMonitorInfo==NULL || gs_EnumDisplayMonitors==NULL ) - return; - DoRefreshMonitors(); // Also create a hidden window to listen for WM_SETTINGCHANGE that we @@ -535,7 +462,7 @@ void wxDisplayFactoryMSW::DoRefreshMonitors() { m_displays.Clear(); - if ( !gs_EnumDisplayMonitors(NULL, NULL, MultimonEnumProc, (LPARAM)this) ) + if ( !::EnumDisplayMonitors(NULL, NULL, MultimonEnumProc, (LPARAM)this) ) { wxLogLastError(wxT("EnumDisplayMonitors")); } @@ -586,14 +513,14 @@ int wxDisplayFactoryMSW::GetFromPoint(const wxPoint& pt) pt2.x = pt.x; pt2.y = pt.y; - return FindDisplayFromHMONITOR(gs_MonitorFromPoint(pt2, + return FindDisplayFromHMONITOR(::MonitorFromPoint(pt2, MONITOR_DEFAULTTONULL)); } int wxDisplayFactoryMSW::GetFromWindow(const wxWindow *window) { #ifdef __WXMSW__ - return FindDisplayFromHMONITOR(gs_MonitorFromWindow(GetHwndOf(window), + return FindDisplayFromHMONITOR(::MonitorFromWindow(GetHwndOf(window), MONITOR_DEFAULTTONULL)); #else const wxSize halfsize = window->GetSize() / 2; diff --git a/src/msw/dlmsw.cpp b/src/msw/dlmsw.cpp index 7b8d0bc19f..614a551061 100644 --- a/src/msw/dlmsw.cpp +++ b/src/msw/dlmsw.cpp @@ -32,40 +32,6 @@ // private classes // ---------------------------------------------------------------------------- -// wrap some functions from version.dll: load them dynamically and provide a -// clean interface -class wxVersionDLL -{ -public: - // load version.dll and bind to its functions - wxVersionDLL(); - - // return the file version as string, e.g. "x.y.z.w" - wxString GetFileVersion(const wxString& filename) const; - -private: - typedef DWORD (APIENTRY *GetFileVersionInfoSize_t)(PTSTR, PDWORD); - typedef BOOL (APIENTRY *GetFileVersionInfo_t)(PTSTR, DWORD, DWORD, PVOID); - typedef BOOL (APIENTRY *VerQueryValue_t)(const PVOID, PTSTR, PVOID *, PUINT); - - #define DO_FOR_ALL_VER_FUNCS(what) \ - what(GetFileVersionInfoSize); \ - what(GetFileVersionInfo); \ - what(VerQueryValue) - - #define DECLARE_VER_FUNCTION(func) func ## _t m_pfn ## func - - DO_FOR_ALL_VER_FUNCS(DECLARE_VER_FUNCTION); - - #undef DECLARE_VER_FUNCTION - - - wxDynamicLibrary m_dll; - - - wxDECLARE_NO_COPY_CLASS(wxVersionDLL); -}; - // class used to create wxDynamicLibraryDetails objects class WXDLLIMPEXP_BASE wxDynamicLibraryDetailsCreator { @@ -74,87 +40,44 @@ public: struct EnumModulesProcParams { wxDynamicLibraryDetailsArray *dlls; - wxVersionDLL *verDLL; }; static BOOL CALLBACK EnumModulesProc(const wxChar* name, DWORD64 base, ULONG size, PVOID data); }; -// ============================================================================ -// wxVersionDLL implementation -// ============================================================================ - // ---------------------------------------------------------------------------- -// loading +// DLL version operations // ---------------------------------------------------------------------------- -wxVersionDLL::wxVersionDLL() -{ - // don't give errors if DLL can't be loaded or used, we're prepared to - // handle it - wxLogNull noLog; - - if ( m_dll.Load(wxT("version.dll"), wxDL_VERBATIM) ) - { - // the functions we load have either 'A' or 'W' suffix depending on - // whether we're in ANSI or Unicode build - #ifdef UNICODE - #define SUFFIX L"W" - #else // ANSI - #define SUFFIX "A" - #endif // UNICODE/ANSI - - #define LOAD_VER_FUNCTION(name) \ - m_pfn ## name = (name ## _t)m_dll.GetSymbol(wxT(#name SUFFIX)); \ - if ( !m_pfn ## name ) \ - { \ - m_dll.Unload(); \ - return; \ - } - - DO_FOR_ALL_VER_FUNCS(LOAD_VER_FUNCTION); - - #undef LOAD_VER_FUNCTION - } -} - -// ---------------------------------------------------------------------------- -// wxVersionDLL operations -// ---------------------------------------------------------------------------- - -wxString wxVersionDLL::GetFileVersion(const wxString& filename) const +static wxString GetFileVersion(const wxString& filename) { wxString ver; - if ( m_dll.IsLoaded() ) - { - wxChar *pc = const_cast((const wxChar*) filename.t_str()); + wxChar *pc = const_cast((const wxChar*) filename.t_str()); - DWORD dummy; - DWORD sizeVerInfo = m_pfnGetFileVersionInfoSize(pc, &dummy); - if ( sizeVerInfo ) + DWORD dummy; + DWORD sizeVerInfo = ::GetFileVersionInfoSize(pc, &dummy); + if ( sizeVerInfo ) + { + wxCharBuffer buf(sizeVerInfo); + if ( ::GetFileVersionInfo(pc, 0, sizeVerInfo, buf.data()) ) { - wxCharBuffer buf(sizeVerInfo); - if ( m_pfnGetFileVersionInfo(pc, 0, sizeVerInfo, buf.data()) ) + void *pVer; + UINT sizeInfo; + if ( ::VerQueryValue(buf.data(), + const_cast(wxT("\\")), + &pVer, + &sizeInfo) ) { - void *pVer; - UINT sizeInfo; - if ( m_pfnVerQueryValue(buf.data(), - const_cast(wxT("\\")), - &pVer, - &sizeInfo) ) - { - VS_FIXEDFILEINFO *info = (VS_FIXEDFILEINFO *)pVer; - ver.Printf(wxT("%d.%d.%d.%d"), - HIWORD(info->dwFileVersionMS), - LOWORD(info->dwFileVersionMS), - HIWORD(info->dwFileVersionLS), - LOWORD(info->dwFileVersionLS)); - } + VS_FIXEDFILEINFO *info = (VS_FIXEDFILEINFO *)pVer; + ver.Printf(wxT("%d.%d.%d.%d"), + HIWORD(info->dwFileVersionMS), + LOWORD(info->dwFileVersionMS), + HIWORD(info->dwFileVersionLS), + LOWORD(info->dwFileVersionLS)); } } } - //else: we failed to load DLL, can't retrieve version info return ver; } @@ -191,7 +114,7 @@ wxDynamicLibraryDetailsCreator::EnumModulesProc(const wxChar* name, if ( !fullname.empty() ) { details->m_path = fullname; - details->m_version = params->verDLL->GetFileVersion(fullname); + details->m_version = GetFileVersion(fullname); } } @@ -258,12 +181,8 @@ wxDynamicLibraryDetailsArray wxDynamicLibrary::ListLoaded() #if wxUSE_DBGHELP if ( wxDbgHelpDLL::Init() ) { - // prepare to use functions for version info extraction - wxVersionDLL verDLL; - wxDynamicLibraryDetailsCreator::EnumModulesProcParams params; params.dlls = &dlls; - params.verDLL = &verDLL; if ( !wxDbgHelpDLL::CallEnumerateLoadedModules ( diff --git a/src/msw/graphicsd2d.cpp b/src/msw/graphicsd2d.cpp index 98c3700166..13534bc9a5 100644 --- a/src/msw/graphicsd2d.cpp +++ b/src/msw/graphicsd2d.cpp @@ -46,6 +46,8 @@ #include "wx/graphics.h" #include "wx/dc.h" +#include "wx/dcclient.h" +#include "wx/dcmemory.h" #include "wx/dynlib.h" #include "wx/image.h" #include "wx/module.h" @@ -53,6 +55,7 @@ #include "wx/private/graphics.h" #include "wx/stack.h" #include "wx/sharedptr.h" +#include "wx/window.h" // This must be the last header included to only affect the DEFINE_GUID() // occurrences below but not any GUIDs declared in the standard files included @@ -311,10 +314,10 @@ class wxD2DResourceManager; class wxD2DManagedObject { public: - virtual void Bind(wxD2DResourceManager* manager) = NULL; - virtual void UnBind() = NULL; - virtual bool IsBound() = NULL; - virtual wxD2DResourceManager* GetManager() = NULL; + virtual void Bind(wxD2DResourceManager* manager) = 0; + virtual void UnBind() = 0; + virtual bool IsBound() = 0; + virtual wxD2DResourceManager* GetManager() = 0; virtual ~wxD2DManagedObject() {}; }; @@ -1352,6 +1355,8 @@ public: { } + virtual ~wxHatchBitmapSource() {} + HRESULT STDMETHODCALLTYPE GetSize(__RPC__out UINT *width, __RPC__out UINT *height) wxOVERRIDE { if (width != NULL) *width = 8; @@ -1372,10 +1377,9 @@ public: return S_OK; } - HRESULT STDMETHODCALLTYPE CopyPalette(__RPC__in_opt IWICPalette *palette) wxOVERRIDE + HRESULT STDMETHODCALLTYPE CopyPalette(__RPC__in_opt IWICPalette* WXUNUSED(palette)) wxOVERRIDE { - palette = NULL; - return S_OK; + return WINCODEC_ERR_PALETTEUNAVAILABLE; } HRESULT STDMETHODCALLTYPE CopyPixels( @@ -1449,7 +1453,7 @@ public: ULONG STDMETHODCALLTYPE Release(void) wxOVERRIDE { - wxCHECK2_MSG(m_refCount > 0, 0, "Unbalanced number of calls to Release"); + wxCHECK_MSG(m_refCount > 0, 0, "Unbalanced number of calls to Release"); ULONG refCount = InterlockedDecrement(&m_refCount); if (m_refCount == 0) @@ -2794,7 +2798,7 @@ private: // A ID2D1DrawingStateBlock represents the drawing state of a render target: // the anti aliasing mode, transform, tags, and text-rendering options. // The context owns these pointers and is responsible for releasing them. - wxStack> m_stateStack; + wxStack > m_stateStack; ClipMode m_clipMode; @@ -2803,7 +2807,7 @@ private: // A direct2d layer is a device-dependent resource. wxCOMPtr m_clipLayer; - wxStack> m_layers; + wxStack > m_layers; ID2D1RenderTarget* m_cachedRenderTarget; @@ -3698,6 +3702,12 @@ void wxD2DRenderer::GetVersion(int* major, int* minor, int* micro) const case wxDirect2D::wxD2D_VERSION_1_1: *minor = 1; break; + case wxDirect2D::wxD2D_VERSION_NONE: + // This is not supposed to happen, but we handle this value in + // the switch to ensure that we'll get warnings if any new + // values, not handled here, are added to the enum later. + *minor = -1; + break; } } diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index 67edd145b1..73b51d7f54 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -54,6 +54,18 @@ #define NMLVFINDITEM NM_FINDITEM #endif +// MinGW headers lack casts to WPARAM inside several ListView_XXX() macros, so +// add them to suppress the warnings about implicit conversions/truncation. +// However do not add them for MSVC as it has casts not only to WPARAM but +// actually to int first, and then to WPARAM, and casting to WPARAM here would +// result in warnings when casting 64 bit WPARAM to 32 bit int inside the +// macros in Win64 builds. +#ifdef __MINGW32__ + #define NO_ITEM (static_cast(-1)) +#else + #define NO_ITEM (-1) +#endif + // ---------------------------------------------------------------------------- // private functions // ---------------------------------------------------------------------------- @@ -277,26 +289,23 @@ bool wxListCtrl::Create(wxWindow *parent, void wxListCtrl::MSWSetExListStyles() { - // for comctl32.dll v 4.70+ we want to have some non default extended + // we want to have some non default extended // styles because it's prettier (and also because wxGTK does it like this) - if ( wxApp::GetComCtl32Version() >= 470 ) - { - ::SendMessage - ( - GetHwnd(), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, - // LVS_EX_LABELTIP shouldn't be used under Windows CE where it's - // not defined in the SDK headers + ::SendMessage + ( + GetHwnd(), LVM_SETEXTENDEDLISTVIEWSTYLE, 0, + // LVS_EX_LABELTIP shouldn't be used under Windows CE where it's + // not defined in the SDK headers #ifdef LVS_EX_LABELTIP - LVS_EX_LABELTIP | + LVS_EX_LABELTIP | #endif - LVS_EX_FULLROWSELECT | - LVS_EX_SUBITEMIMAGES | - // normally this should be governed by a style as it's probably not - // always appropriate, but we don't have any free styles left and - // it seems better to enable it by default than disable - LVS_EX_HEADERDRAGDROP - ); - } + LVS_EX_FULLROWSELECT | + LVS_EX_SUBITEMIMAGES | + // normally this should be governed by a style as it's probably not + // always appropriate, but we don't have any free styles left and + // it seems better to enable it by default than disable + LVS_EX_HEADERDRAGDROP + ); } WXDWORD wxListCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const @@ -359,13 +368,6 @@ WXDWORD wxListCtrl::MSWGetStyle(long style, WXDWORD *exstyle) const #if !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) ) if ( style & wxLC_VIRTUAL ) { - int ver = wxApp::GetComCtl32Version(); - if ( ver < 470 ) - { - wxLogWarning(_("Please install a newer version of comctl32.dll\n(at least version 4.70 is required but you have %d.%02d)\nor this program won't operate correctly."), - ver / 100, ver % 100); - } - wstyle |= LVS_OWNERDATA; } #endif // ancient cygwin @@ -1337,10 +1339,7 @@ void wxListCtrl::AssignImageList(wxImageList *imageList, int which) wxSize wxListCtrl::MSWGetBestViewRect(int x, int y) const { - // The cast is necessary to suppress a MinGW warning due to a missing cast - // to WPARAM in the definition of ListView_ApproximateViewRect() in its - // own headers (this was the case up to at least MinGW 4.8). - const DWORD rc = ListView_ApproximateViewRect(GetHwnd(), x, y, (WPARAM)-1); + const DWORD rc = ListView_ApproximateViewRect(GetHwnd(), x, y, NO_ITEM); wxSize size(LOWORD(rc), HIWORD(rc)); @@ -1622,7 +1621,7 @@ wxListCtrl::HitTest(const wxPoint& point, int& flags, long *ptrSubItem) const long item; #ifdef LVM_SUBITEMHITTEST - if ( ptrSubItem && wxApp::GetComCtl32Version() >= 470 ) + if ( ptrSubItem ) { item = ListView_SubItemHitTest(GetHwnd(), &hitTestInfo); *ptrSubItem = hitTestInfo.iSubItem; @@ -2738,12 +2737,8 @@ static void HandleItemPaint(LPNMLVCUSTOMDRAW pLVCD, HFONT hfont) } // same thing for CDIS_FOCUS (except simpler as there is only one of them) - // - // NB: cast is needed to work around the bug in mingw32 headers which don't - // have it inside ListView_GetNextItem() itself (unlike SDK ones) if ( ::GetFocus() == hwndList && - ListView_GetNextItem( - hwndList, static_cast(-1), LVNI_FOCUSED) == item ) + ListView_GetNextItem(hwndList, NO_ITEM, LVNI_FOCUSED) == item ) { nmcd.uItemState |= CDIS_FOCUS; } @@ -3280,40 +3275,36 @@ static void wxConvertToMSWListCol(HWND hwndList, #ifdef NM_CUSTOMDRAW // _WIN32_IE >= 0x0300 if ( item.m_mask & wxLIST_MASK_IMAGE ) { - if ( wxApp::GetComCtl32Version() >= 470 ) + lvCol.mask |= LVCF_IMAGE; + + // we use LVCFMT_BITMAP_ON_RIGHT because the images on the right + // seem to be generally nicer than on the left and the generic + // version only draws them on the right (we don't have a flag to + // specify the image location anyhow) + // + // we don't use LVCFMT_COL_HAS_IMAGES because it doesn't seem to + // make any difference in my tests -- but maybe we should? + if ( item.m_image != -1 ) { - lvCol.mask |= LVCF_IMAGE; - - // we use LVCFMT_BITMAP_ON_RIGHT because the images on the right - // seem to be generally nicer than on the left and the generic - // version only draws them on the right (we don't have a flag to - // specify the image location anyhow) - // - // we don't use LVCFMT_COL_HAS_IMAGES because it doesn't seem to - // make any difference in my tests -- but maybe we should? - if ( item.m_image != -1 ) + // as we're going to overwrite the format field, get its + // current value first -- unless we want to overwrite it anyhow + if ( !(lvCol.mask & LVCF_FMT) ) { - // as we're going to overwrite the format field, get its - // current value first -- unless we want to overwrite it anyhow - if ( !(lvCol.mask & LVCF_FMT) ) + LV_COLUMN lvColOld; + wxZeroMemory(lvColOld); + lvColOld.mask = LVCF_FMT; + if ( ListView_GetColumn(hwndList, col, &lvColOld) ) { - LV_COLUMN lvColOld; - wxZeroMemory(lvColOld); - lvColOld.mask = LVCF_FMT; - if ( ListView_GetColumn(hwndList, col, &lvColOld) ) - { - lvCol.fmt = lvColOld.fmt; - } - - lvCol.mask |= LVCF_FMT; + lvCol.fmt = lvColOld.fmt; } - lvCol.fmt |= LVCFMT_BITMAP_ON_RIGHT | LVCFMT_IMAGE; + lvCol.mask |= LVCF_FMT; } - lvCol.iImage = item.m_image; + lvCol.fmt |= LVCFMT_BITMAP_ON_RIGHT | LVCFMT_IMAGE; } - //else: it doesn't support item images anyhow + + lvCol.iImage = item.m_image; } #endif // _WIN32_IE >= 0x0300 } diff --git a/src/msw/menu.cpp b/src/msw/menu.cpp index 3ab2343f1a..86dd6df83c 100644 --- a/src/msw/menu.cpp +++ b/src/msw/menu.cpp @@ -580,21 +580,11 @@ bool wxMenu::DoInsertOrAppend(wxMenuItem *pItem, size_t pos) // boxes are used together with bitmaps and this is not the // case in wx API WinStruct mi; - - // don't call SetMenuInfo() directly, this would prevent - // the app from starting up under Windows 95/NT 4 - typedef BOOL (WINAPI *SetMenuInfo_t)(HMENU, MENUINFO *); - - wxDynamicLibrary dllUser(wxT("user32")); - wxDYNLIB_FUNCTION(SetMenuInfo_t, SetMenuInfo, dllUser); - if ( pfnSetMenuInfo ) + mi.fMask = MIM_STYLE; + mi.dwStyle = MNS_CHECKORBMP; + if ( !::SetMenuInfo(GetHmenu(), &mi) ) { - mi.fMask = MIM_STYLE; - mi.dwStyle = MNS_CHECKORBMP; - if ( !(*pfnSetMenuInfo)(GetHmenu(), &mi) ) - { - wxLogLastError(wxT("SetMenuInfo(MNS_NOCHECK)")); - } + wxLogLastError(wxT("SetMenuInfo(MNS_NOCHECK)")); } } } diff --git a/src/msw/mimetype.cpp b/src/msw/mimetype.cpp index a8b9c2882f..9a2bf348a8 100644 --- a/src/msw/mimetype.cpp +++ b/src/msw/mimetype.cpp @@ -227,31 +227,13 @@ wxString wxAssocQueryString(ASSOCSTR assoc, wxString ext, const wxString& verb = wxString()) { - typedef HRESULT (WINAPI *AssocQueryString_t)(ASSOCF, ASSOCSTR, - LPCTSTR, LPCTSTR, LPTSTR, - DWORD *); - static AssocQueryString_t s_pfnAssocQueryString = (AssocQueryString_t)-1; - static wxDynamicLibrary s_dllShlwapi; - - if ( s_pfnAssocQueryString == (AssocQueryString_t)-1 ) - { - if ( !s_dllShlwapi.Load(wxT("shlwapi.dll"), wxDL_VERBATIM | wxDL_QUIET) ) - s_pfnAssocQueryString = NULL; - else - wxDL_INIT_FUNC_AW(s_pfn, AssocQueryString, s_dllShlwapi); - } - - if ( !s_pfnAssocQueryString ) - return wxString(); - - DWORD dwSize = MAX_PATH; TCHAR bufOut[MAX_PATH] = { 0 }; if ( ext.empty() || ext[0] != '.' ) ext.Prepend('.'); - HRESULT hr = s_pfnAssocQueryString + HRESULT hr = ::AssocQueryString ( wxASSOCF_NOTRUNCATE,// Fail if buffer is too small. assoc, // The association to retrieve. diff --git a/src/msw/notifmsg.cpp b/src/msw/notifmsg.cpp index 61d3d656ad..d25e9ab5fe 100644 --- a/src/msw/notifmsg.cpp +++ b/src/msw/notifmsg.cpp @@ -452,7 +452,7 @@ bool wxNotificationMessage::Show(int timeout) { if ( !m_impl ) { - if ( !ms_alwaysUseGeneric && wxTheApp->GetShell32Version() >= 500 ) + if ( !ms_alwaysUseGeneric ) { if ( timeout == Timeout_Never ) m_impl = new wxManualNotifMsgImpl(GetParent()); diff --git a/src/msw/renderer.cpp b/src/msw/renderer.cpp index 2bd7934c79..a390d5b86b 100644 --- a/src/msw/renderer.cpp +++ b/src/msw/renderer.cpp @@ -26,6 +26,7 @@ #ifndef WX_PRECOMP #include "wx/string.h" #include "wx/window.h" + #include "wx/control.h" // for wxControl::Ellipsize() #include "wx/dc.h" #include "wx/settings.h" #endif //WX_PRECOMP @@ -338,7 +339,8 @@ public: const wxString& text, const wxRect& rect, int align = wxALIGN_LEFT | wxALIGN_TOP, - int flags = 0); + int flags = 0, + wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END); virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win); @@ -385,6 +387,12 @@ void wxRendererMSWBase::DrawItemSelectionRect(wxWindow *win, const wxRect& rect, int flags) { + if ( flags & wxCONTROL_CELL ) + { + m_rendererNative.DrawItemSelectionRect(win, dc, rect, flags); + return; + } + wxBrush brush; if ( flags & wxCONTROL_SELECTED ) { @@ -615,6 +623,27 @@ int wxRendererMSW::GetHeaderButtonMargin(wxWindow *WXUNUSED(win)) #if wxUSE_UXTHEME +namespace +{ + +int GetListItemState(int flags) +{ + int itemState = (flags & wxCONTROL_CURRENT) ? LISS_HOT : LISS_NORMAL; + if ( flags & wxCONTROL_SELECTED ) + { + itemState = (flags & wxCONTROL_CURRENT) ? LISS_HOTSELECTED : LISS_SELECTED; + if ( !(flags & wxCONTROL_FOCUSED) ) + itemState = LISS_SELECTEDNOTFOCUS; + } + + if ( flags & wxCONTROL_DISABLED ) + itemState = LISS_DISABLED; + + return itemState; +} + +} // anonymous namespace + /* static */ wxRendererNative& wxRendererXP::Get() { @@ -941,13 +970,7 @@ wxRendererXP::DrawItemSelectionRect(wxWindow *win, { wxUxThemeHandle hTheme(win, L"LISTVIEW"); - int itemState = LISS_NORMAL; - if ( flags & wxCONTROL_SELECTED ) - itemState = LISS_SELECTED; - if ( !(flags & wxCONTROL_FOCUSED) ) - itemState = LISS_SELECTEDNOTFOCUS; - if ( flags & wxCONTROL_DISABLED ) - itemState |= LISS_DISABLED; + const int itemState = GetListItemState(flags); wxUxThemeEngine* const te = wxUxThemeEngine::Get(); if ( te->IsThemePartDefined(hTheme, LVP_LISTITEM, itemState) ) @@ -970,17 +993,12 @@ void wxRendererXP::DrawItemText(wxWindow* win, const wxString& text, const wxRect& rect, int align, - int flags) + int flags, + wxEllipsizeMode ellipsizeMode) { wxUxThemeHandle hTheme(win, L"LISTVIEW"); - int itemState = LISS_NORMAL; - if ( flags & wxCONTROL_SELECTED ) - itemState = LISS_SELECTED; - if ( !(flags & wxCONTROL_FOCUSED) ) - itemState = LISS_SELECTEDNOTFOCUS; - if ( flags & wxCONTROL_DISABLED ) - itemState |= LISS_DISABLED; + const int itemState = GetListItemState(flags); wxUxThemeEngine* te = wxUxThemeEngine::Get(); if ( te->DrawThemeTextEx && // Might be not available if we're under XP @@ -999,11 +1017,14 @@ void wxRendererXP::DrawItemText(wxWindow* win, textOpts.crText = wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT).GetPixel(); } - DWORD textFlags = DT_NOPREFIX | DT_END_ELLIPSIS; - if ( align & wxALIGN_CENTER ) + DWORD textFlags = DT_NOPREFIX; + if ( align & wxALIGN_CENTER_HORIZONTAL ) textFlags |= DT_CENTER; else if ( align & wxALIGN_RIGHT ) + { textFlags |= DT_RIGHT; + rc.right--; // Alignment is inconsistent with DrawLabel otherwise + } else textFlags |= DT_LEFT; @@ -1014,12 +1035,37 @@ void wxRendererXP::DrawItemText(wxWindow* win, else textFlags |= DT_TOP; + const wxString* drawText = &text; + wxString ellipsizedText; + switch ( ellipsizeMode ) + { + case wxELLIPSIZE_NONE: + // no flag required + break; + + case wxELLIPSIZE_START: + case wxELLIPSIZE_MIDDLE: + // no native support for this ellipsize modes, use wxWidgets + // implementation (may not be 100% accurate because per + // definition the theme defines the font but should be close + // enough with current windows themes) + drawText = &ellipsizedText; + ellipsizedText = wxControl::Ellipsize(text, dc, ellipsizeMode, + rect.width, + wxELLIPSIZE_FLAGS_NONE); + break; + + case wxELLIPSIZE_END: + textFlags |= DT_END_ELLIPSIS; + break; + } + te->DrawThemeTextEx(hTheme, dc.GetHDC(), LVP_LISTITEM, itemState, - text.wchar_str(), -1, textFlags, &rc, &textOpts); + drawText->wchar_str(), -1, textFlags, &rc, &textOpts); } else { - m_rendererNative.DrawItemText(win, dc, text, rect, align, flags); + m_rendererNative.DrawItemText(win, dc, text, rect, align, flags, ellipsizeMode); } } diff --git a/src/msw/slider.cpp b/src/msw/slider.cpp index 2afb961fd2..551bb169be 100644 --- a/src/msw/slider.cpp +++ b/src/msw/slider.cpp @@ -580,7 +580,7 @@ WXHBRUSH wxSlider::DoMSWControlColor(WXHDC pDC, wxColour colBg, WXHWND hWnd) // Anything really refreshing the slider would work here, we use a // dummy WM_ENABLE but using TBM_SETPOS would work too, for example. - ::PostMessage(hWnd, WM_ENABLE, (BOOL)IsEnabled(), 0); + ::PostMessage(hWnd, WM_ENABLE, ::IsWindowEnabled(hWnd), 0); } return hBrush; diff --git a/src/msw/spinbutt.cpp b/src/msw/spinbutt.cpp index 95170e6683..7ac8abfe1c 100644 --- a/src/msw/spinbutt.cpp +++ b/src/msw/spinbutt.cpp @@ -168,17 +168,12 @@ int wxSpinButton::GetValue() const { int n; #ifdef UDM_GETPOS32 - if ( wxApp::GetComCtl32Version() >= 580 ) - { - // use the full 32 bit range if available - n = ::SendMessage(GetHwnd(), UDM_GETPOS32, 0, 0); - } - else + // use the full 32 bit range if available + n = ::SendMessage(GetHwnd(), UDM_GETPOS32, 0, 0); +#else + // we're limited to 16 bit + n = (short)LOWORD(::SendMessage(GetHwnd(), UDM_GETPOS, 0, 0)); #endif // UDM_GETPOS32 - { - // we're limited to 16 bit - n = (short)LOWORD(::SendMessage(GetHwnd(), UDM_GETPOS, 0, 0)); - } if (n < m_min) n = m_min; if (n > m_max) n = m_max; @@ -191,16 +186,11 @@ void wxSpinButton::SetValue(int val) // wxSpinButtonBase::SetValue(val); -- no, it is pure virtual #ifdef UDM_SETPOS32 - if ( wxApp::GetComCtl32Version() >= 580 ) - { - // use the full 32 bit range if available - ::SendMessage(GetHwnd(), UDM_SETPOS32, 0, val); - } - else // we're limited to 16 bit + // use the full 32 bit range if available + ::SendMessage(GetHwnd(), UDM_SETPOS32, 0, val); +#else + ::SendMessage(GetHwnd(), UDM_SETPOS, 0, MAKELONG((short) val, 0)); #endif // UDM_SETPOS32 - { - ::SendMessage(GetHwnd(), UDM_SETPOS, 0, MAKELONG((short) val, 0)); - } } void wxSpinButton::NormalizeValue() @@ -215,17 +205,13 @@ void wxSpinButton::SetRange(int minVal, int maxVal) wxSpinButtonBase::SetRange(minVal, maxVal); #ifdef UDM_SETRANGE32 - if ( wxApp::GetComCtl32Version() >= 471 ) - { - // use the full 32 bit range if available - ::SendMessage(GetHwnd(), UDM_SETRANGE32, minVal, maxVal); - } - else // we're limited to 16 bit + // use the full 32 bit range if available + ::SendMessage(GetHwnd(), UDM_SETRANGE32, minVal, maxVal); +#else + // we're limited to 16 bit + ::SendMessage(GetHwnd(), UDM_SETRANGE, 0, + (LPARAM) MAKELONG((short)maxVal, (short)minVal)); #endif // UDM_SETRANGE32 - { - ::SendMessage(GetHwnd(), UDM_SETRANGE, 0, - (LPARAM) MAKELONG((short)maxVal, (short)minVal)); - } // the current value might be out of the new range, force it to be in it NormalizeValue(); diff --git a/src/msw/stdpaths.cpp b/src/msw/stdpaths.cpp index ee8c601f18..8e03fcf6fe 100644 --- a/src/msw/stdpaths.cpp +++ b/src/msw/stdpaths.cpp @@ -36,6 +36,7 @@ #include "wx/msw/private.h" #include "wx/msw/wrapshl.h" +#include // ---------------------------------------------------------------------------- // types @@ -43,6 +44,7 @@ typedef HRESULT (WINAPI *SHGetFolderPath_t)(HWND, int, HANDLE, DWORD, LPTSTR); typedef HRESULT (WINAPI *SHGetSpecialFolderPath_t)(HWND, LPTSTR, int, BOOL); +typedef HRESULT (WINAPI *SHGetKnownFolderPath_t)(const GUID&, DWORD, HANDLE, PWSTR *); // ---------------------------------------------------------------------------- // constants @@ -86,6 +88,9 @@ typedef HRESULT (WINAPI *SHGetSpecialFolderPath_t)(HWND, LPTSTR, int, BOOL); namespace { +DEFINE_GUID(wxFOLDERID_Downloads, + 0x374de290, 0x123f, 0x4565, 0x91, 0x64, 0x39, 0xc4, 0x92, 0x5e, 0x46, 0x7b); + struct ShellFunctions { ShellFunctions() @@ -97,6 +102,7 @@ struct ShellFunctions SHGetFolderPath_t pSHGetFolderPath; SHGetSpecialFolderPath_t pSHGetSpecialFolderPath; + SHGetKnownFolderPath_t pSHGetKnownFolderPath; bool initialized; }; @@ -146,6 +152,9 @@ void ResolveShellFunctions() dllShellFunctions.GetSymbol(funcname + UNICODE_SUFFIX); } + gs_shellFuncs.pSHGetKnownFolderPath = (SHGetKnownFolderPath_t) + dllShellFunctions.GetSymbol("SHGetKnownFolderPath"); + // finally we fall back on SHGetSpecialFolderLocation (shell32.dll 4.0), // but we don't need to test for it -- it is available even under Win95 @@ -242,6 +251,28 @@ wxString wxStandardPaths::DoGetDirectory(int csidl) return dir; } +wxString wxStandardPaths::DoGetKnownFolder(const GUID& rfid) +{ + if (!gs_shellFuncs.initialized) + ResolveShellFunctions(); + + wxString dir; + + if ( gs_shellFuncs.pSHGetKnownFolderPath ) + { + PWSTR pDir; + HRESULT hr = gs_shellFuncs.pSHGetKnownFolderPath(rfid, 0, 0, &pDir); + if ( SUCCEEDED(hr) ) + { + dir = pDir; + CoTaskMemFree(pDir); + } + } + + return dir; +} + + wxString wxStandardPaths::GetAppDir() const { if ( m_appDir.empty() ) @@ -252,9 +283,38 @@ wxString wxStandardPaths::GetAppDir() const return m_appDir; } -wxString wxStandardPaths::GetDocumentsDir() const +wxString wxStandardPaths::GetUserDir(Dir userDir) const { - return DoGetDirectory(CSIDL_PERSONAL); + int csidl; + switch (userDir) + { + case Dir_Desktop: + csidl = CSIDL_DESKTOPDIRECTORY; + break; + case Dir_Downloads: + { + csidl = CSIDL_PERSONAL; + // Downloads folder is only available since Vista + wxString dir = DoGetKnownFolder(wxFOLDERID_Downloads); + if ( !dir.empty() ) + return dir; + break; + } + case Dir_Music: + csidl = CSIDL_MYMUSIC; + break; + case Dir_Pictures: + csidl = CSIDL_MYPICTURES; + break; + case Dir_Videos: + csidl = CSIDL_MYVIDEO; + break; + default: + csidl = CSIDL_PERSONAL; + break; + } + + return DoGetDirectory(csidl); } // ---------------------------------------------------------------------------- diff --git a/src/msw/taskbar.cpp b/src/msw/taskbar.cpp index f5d9fd1368..a09cff9964 100644 --- a/src/msw/taskbar.cpp +++ b/src/msw/taskbar.cpp @@ -45,14 +45,6 @@ #define NIF_INFO 0x00000010 #endif -#ifndef NOTIFYICONDATA_V1_SIZE - #ifdef UNICODE - #define NOTIFYICONDATA_V1_SIZE 0x0098 - #else - #define NOTIFYICONDATA_V1_SIZE 0x0058 - #endif -#endif - #ifndef NOTIFYICONDATA_V2_SIZE #ifdef UNICODE #define NOTIFYICONDATA_V2_SIZE 0x03A8 @@ -122,12 +114,8 @@ struct NotifyIconData : public NOTIFYICONDATA // we could do complicated tests for the exact system version it's // easier to just use an old size which should be supported everywhere // from Windows 2000 up and which is all we need as we don't use any - // newer features so far. But if we're running under a really ancient - // system (Win9x), fall back to even smaller size -- then the balloon - // related features won't be available but the rest will still work. - cbSize = wxTheApp->GetShell32Version() >= 500 - ? NOTIFYICONDATA_V2_SIZE - : NOTIFYICONDATA_V1_SIZE; + // newer features so far. + cbSize = NOTIFYICONDATA_V2_SIZE; hWnd = (HWND) hwnd; uCallbackMessage = gs_msgTaskbar; diff --git a/src/msw/textentry.cpp b/src/msw/textentry.cpp index 12fa0b4dfa..d352b42bd0 100644 --- a/src/msw/textentry.cpp +++ b/src/msw/textentry.cpp @@ -39,6 +39,9 @@ #include "wx/msw/uxtheme.h" #endif +#include "wx/msw/wrapwin.h" +#include + #define GetEditHwnd() ((HWND)(GetEditHWND())) // ---------------------------------------------------------------------------- @@ -775,24 +778,6 @@ void wxTextEntry::GetSelection(long *from, long *to) const bool wxTextEntry::DoAutoCompleteFileNames(int flags) { - typedef HRESULT (WINAPI *SHAutoComplete_t)(HWND, DWORD); - static SHAutoComplete_t s_pfnSHAutoComplete = (SHAutoComplete_t)-1; - static wxDynamicLibrary s_dllShlwapi; - if ( s_pfnSHAutoComplete == (SHAutoComplete_t)-1 ) - { - if ( !s_dllShlwapi.Load(wxT("shlwapi.dll"), wxDL_VERBATIM | wxDL_QUIET) ) - { - s_pfnSHAutoComplete = NULL; - } - else - { - wxDL_INIT_FUNC(s_pfn, SHAutoComplete, s_dllShlwapi); - } - } - - if ( !s_pfnSHAutoComplete ) - return false; - DWORD dwFlags = 0; if ( flags & wxFILE ) dwFlags |= SHACF_FILESYS_ONLY; @@ -804,7 +789,7 @@ bool wxTextEntry::DoAutoCompleteFileNames(int flags) return false; } - HRESULT hr = (*s_pfnSHAutoComplete)(GetEditHwnd(), dwFlags); + HRESULT hr = ::SHAutoComplete(GetEditHwnd(), dwFlags); if ( FAILED(hr) ) { wxLogApiError(wxT("SHAutoComplete()"), hr); diff --git a/src/msw/toolbar.cpp b/src/msw/toolbar.cpp index 904636c272..aac582f054 100644 --- a/src/msw/toolbar.cpp +++ b/src/msw/toolbar.cpp @@ -386,8 +386,7 @@ bool wxToolBar::MSWCreateToolbar(const wxPoint& pos, const wxSize& size) ::SendMessage(GetHwnd(), TB_BUTTONSTRUCTSIZE, sizeof(TBBUTTON), 0); #ifdef TB_SETEXTENDEDSTYLE - if ( wxApp::GetComCtl32Version() >= 471 ) - ::SendMessage(GetHwnd(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS); + ::SendMessage(GetHwnd(), TB_SETEXTENDEDSTYLE, 0, TBSTYLE_EX_DRAWDDARROWS); #endif return true; @@ -523,10 +522,10 @@ WXDWORD wxToolBar::MSWGetStyle(long style, WXDWORD *exstyle) const if ( !(style & wxTB_NO_TOOLTIPS) ) msStyle |= TBSTYLE_TOOLTIPS; - if ( style & wxTB_FLAT && wxApp::GetComCtl32Version() > 400 ) + if ( style & wxTB_FLAT ) msStyle |= TBSTYLE_FLAT; - if ( style & wxTB_HORZ_LAYOUT && wxApp::GetComCtl32Version() >= 470 ) + if ( style & wxTB_HORZ_LAYOUT ) msStyle |= TBSTYLE_LIST; if ( style & wxTB_NODIVIDER ) @@ -607,34 +606,27 @@ void wxToolBar::CreateDisabledImageList() { wxDELETE(m_disabledImgList); - // as we can't use disabled image list with older versions of comctl32.dll, - // don't even bother creating it - if ( wxApp::GetComCtl32Version() >= 470 ) + // search for the first disabled button img in the toolbar, if any + for ( wxToolBarToolsList::compatibility_iterator + node = m_tools.GetFirst(); node; node = node->GetNext() ) { - // search for the first disabled button img in the toolbar, if any - for ( wxToolBarToolsList::compatibility_iterator - node = m_tools.GetFirst(); node; node = node->GetNext() ) + wxToolBarToolBase *tool = node->GetData(); + wxBitmap bmpDisabled = tool->GetDisabledBitmap(); + if ( bmpDisabled.IsOk() ) { - wxToolBarToolBase *tool = node->GetData(); - wxBitmap bmpDisabled = tool->GetDisabledBitmap(); - if ( bmpDisabled.IsOk() ) - { - const wxSize sizeBitmap = bmpDisabled.GetSize(); - m_disabledImgList = new wxImageList - ( - sizeBitmap.x, - sizeBitmap.y, - // Don't use mask if we have alpha - // (wxImageList will fall back to - // mask if alpha not supported) - !bmpDisabled.HasAlpha(), - GetToolsCount() - ); - break; - } + const wxSize sizeBitmap = bmpDisabled.GetSize(); + m_disabledImgList = new wxImageList + ( + sizeBitmap.x, + sizeBitmap.y, + // Don't use mask if we have alpha + // (wxImageList will fall back to + // mask if alpha not supported) + !bmpDisabled.HasAlpha(), + GetToolsCount() + ); + break; } - - // we don't have any disabled bitmaps } } @@ -824,35 +816,30 @@ bool wxToolBar::Realize() if ( oldToolBarBitmap ) { #ifdef TB_REPLACEBITMAP - if ( wxApp::GetComCtl32Version() >= 400 ) + TBREPLACEBITMAP replaceBitmap; + replaceBitmap.hInstOld = NULL; + replaceBitmap.hInstNew = NULL; + replaceBitmap.nIDOld = (UINT_PTR)oldToolBarBitmap; + replaceBitmap.nIDNew = (UINT_PTR)hBitmap; + replaceBitmap.nButtons = nButtons; + if ( !::SendMessage(GetHwnd(), TB_REPLACEBITMAP, + 0, (LPARAM) &replaceBitmap) ) { - TBREPLACEBITMAP replaceBitmap; - replaceBitmap.hInstOld = NULL; - replaceBitmap.hInstNew = NULL; - replaceBitmap.nIDOld = (UINT_PTR)oldToolBarBitmap; - replaceBitmap.nIDNew = (UINT_PTR)hBitmap; - replaceBitmap.nButtons = nButtons; - if ( !::SendMessage(GetHwnd(), TB_REPLACEBITMAP, - 0, (LPARAM) &replaceBitmap) ) - { - wxFAIL_MSG(wxT("Could not replace the old bitmap")); - } - - ::DeleteObject(oldToolBarBitmap); - - // already done - addBitmap = false; + wxFAIL_MSG(wxT("Could not replace the old bitmap")); } - else + + ::DeleteObject(oldToolBarBitmap); + + // already done + addBitmap = false; +#else + // we can't replace the old bitmap, so we will add another one + // (awfully inefficient, but what else to do?) and shift the bitmap + // indices accordingly + addBitmap = true; + + bitmapId = m_nButtons; #endif // TB_REPLACEBITMAP - { - // we can't replace the old bitmap, so we will add another one - // (awfully inefficient, but what else to do?) and shift the bitmap - // indices accordingly - addBitmap = true; - - bitmapId = m_nButtons; - } } if ( addBitmap ) // no old bitmap or we can't replace it @@ -867,22 +854,18 @@ bool wxToolBar::Realize() } } - // disable image lists are only supported in comctl32.dll 4.70+ - if ( wxApp::GetComCtl32Version() >= 470 ) - { - HIMAGELIST hil = m_disabledImgList - ? GetHimagelistOf(m_disabledImgList) - : 0; + HIMAGELIST hil = m_disabledImgList + ? GetHimagelistOf(m_disabledImgList) + : 0; - // notice that we set the image list even if don't have one right - // now as we could have it before and need to reset it in this case - HIMAGELIST oldImageList = (HIMAGELIST) - ::SendMessage(GetHwnd(), TB_SETDISABLEDIMAGELIST, 0, (LPARAM)hil); + // notice that we set the image list even if don't have one right + // now as we could have it before and need to reset it in this case + HIMAGELIST oldImageList = (HIMAGELIST) + ::SendMessage(GetHwnd(), TB_SETDISABLEDIMAGELIST, 0, (LPARAM)hil); - // delete previous image list if any - if ( oldImageList ) - ::DeleteObject(oldImageList); - } + // delete previous image list if any + if ( oldImageList ) + ::DeleteObject(oldImageList); } @@ -900,14 +883,6 @@ bool wxToolBar::Realize() { wxToolBarTool *tool = static_cast(node->GetData()); - // don't add separators to the vertical toolbar with old comctl32.dll - // versions as they didn't handle this properly - if ( IsVertical() && tool->IsSeparator() && - wxApp::GetComCtl32Version() <= 472 ) - { - continue; - } - TBBUTTON& button = buttons[i]; wxZeroMemory(button); @@ -1492,21 +1467,9 @@ void wxToolBar::SetRows(int nRows) // The button size is bigger than the bitmap size wxSize wxToolBar::GetToolSize() const { - // TB_GETBUTTONSIZE is supported from version 4.70 -#if defined(_WIN32_IE) && (_WIN32_IE >= 0x300 ) \ - && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) ) - if ( wxApp::GetComCtl32Version() >= 470 ) - { - DWORD dw = ::SendMessage(GetHwnd(), TB_GETBUTTONSIZE, 0, 0); + DWORD dw = ::SendMessage(GetHwnd(), TB_GETBUTTONSIZE, 0, 0); - return wxSize(LOWORD(dw), HIWORD(dw)); - } - else -#endif // comctl32.dll 4.70+ - { - // defaults - return wxSize(m_defaultWidth + 8, m_defaultHeight + 7); - } + return wxSize(LOWORD(dw), HIWORD(dw)); } wxToolBarToolBase *wxToolBar::FindToolForPosition(wxCoord x, wxCoord y) const diff --git a/src/msw/tooltip.cpp b/src/msw/tooltip.cpp index a5e7404251..cff40f66fd 100644 --- a/src/msw/tooltip.cpp +++ b/src/msw/tooltip.cpp @@ -130,10 +130,7 @@ public: // then as the control gets "focus lost" events and dismisses the // tooltip which then reappears because mouse remains hovering over the // control, see SF patch 1821229 - if ( wxApp::GetComCtl32Version() >= 470 ) - { - uFlags |= TTF_TRANSPARENT; - } + uFlags |= TTF_TRANSPARENT; } }; @@ -539,81 +536,76 @@ void wxToolTip::DoSetTip(WXHWND hWnd) bool wxToolTip::AdjustMaxWidth() { - if ( wxApp::GetComCtl32Version() >= 470 ) - { - // use TTM_SETMAXTIPWIDTH to make tooltip multiline using the - // extent of its first line as max value - HFONT hfont = (HFONT) - SendTooltipMessage(GetToolTipCtrl(), WM_GETFONT, 0); + // use TTM_SETMAXTIPWIDTH to make tooltip multiline using the + // extent of its first line as max value + HFONT hfont = (HFONT) + SendTooltipMessage(GetToolTipCtrl(), WM_GETFONT, 0); + if ( !hfont ) + { + hfont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); if ( !hfont ) { - hfont = (HFONT)GetStockObject(DEFAULT_GUI_FONT); - if ( !hfont ) - { - wxLogLastError(wxT("GetStockObject(DEFAULT_GUI_FONT)")); - } + wxLogLastError(wxT("GetStockObject(DEFAULT_GUI_FONT)")); } - - MemoryHDC hdc; - if ( !hdc ) - { - wxLogLastError(wxT("CreateCompatibleDC(NULL)")); - } - - if ( !SelectObject(hdc, hfont) ) - { - wxLogLastError(wxT("SelectObject(hfont)")); - } - - // find the width of the widest line - int maxWidth = 0; - wxStringTokenizer tokenizer(m_text, wxT("\n")); - while ( tokenizer.HasMoreTokens() ) - { - const wxString token = tokenizer.GetNextToken(); - - SIZE sz; - if ( !::GetTextExtentPoint32(hdc, token.t_str(), - token.length(), &sz) ) - { - wxLogLastError(wxT("GetTextExtentPoint32")); - } - - if ( sz.cx > maxWidth ) - maxWidth = sz.cx; - } - - // limit size to ms_maxWidth, if set - if ( ms_maxWidth == 0 ) - { - // this is more or less arbitrary but seems to work well - static const int DEFAULT_MAX_WIDTH = 400; - - ms_maxWidth = wxGetClientDisplayRect().width / 2; - - if ( ms_maxWidth > DEFAULT_MAX_WIDTH ) - ms_maxWidth = DEFAULT_MAX_WIDTH; - } - - if ( ms_maxWidth != -1 && maxWidth > ms_maxWidth ) - maxWidth = ms_maxWidth; - - // only set a new width if it is bigger than the current setting: - // otherwise adding a tooltip with shorter line(s) than a previous - // one would result in breaking the longer lines unnecessarily as - // all our tooltips share the same maximal width - if ( maxWidth > SendTooltipMessage(GetToolTipCtrl(), - TTM_GETMAXTIPWIDTH, 0) ) - { - SendTooltipMessage(GetToolTipCtrl(), TTM_SETMAXTIPWIDTH, - wxUIntToPtr(maxWidth)); - } - - return true; } - return false; + MemoryHDC hdc; + if ( !hdc ) + { + wxLogLastError(wxT("CreateCompatibleDC(NULL)")); + } + + if ( !SelectObject(hdc, hfont) ) + { + wxLogLastError(wxT("SelectObject(hfont)")); + } + + // find the width of the widest line + int maxWidth = 0; + wxStringTokenizer tokenizer(m_text, wxT("\n")); + while ( tokenizer.HasMoreTokens() ) + { + const wxString token = tokenizer.GetNextToken(); + + SIZE sz; + if ( !::GetTextExtentPoint32(hdc, token.t_str(), + token.length(), &sz) ) + { + wxLogLastError(wxT("GetTextExtentPoint32")); + } + + if ( sz.cx > maxWidth ) + maxWidth = sz.cx; + } + + // limit size to ms_maxWidth, if set + if ( ms_maxWidth == 0 ) + { + // this is more or less arbitrary but seems to work well + static const int DEFAULT_MAX_WIDTH = 400; + + ms_maxWidth = wxGetClientDisplayRect().width / 2; + + if ( ms_maxWidth > DEFAULT_MAX_WIDTH ) + ms_maxWidth = DEFAULT_MAX_WIDTH; + } + + if ( ms_maxWidth != -1 && maxWidth > ms_maxWidth ) + maxWidth = ms_maxWidth; + + // only set a new width if it is bigger than the current setting: + // otherwise adding a tooltip with shorter line(s) than a previous + // one would result in breaking the longer lines unnecessarily as + // all our tooltips share the same maximal width + if ( maxWidth > SendTooltipMessage(GetToolTipCtrl(), + TTM_GETMAXTIPWIDTH, 0) ) + { + SendTooltipMessage(GetToolTipCtrl(), TTM_SETMAXTIPWIDTH, + wxUIntToPtr(maxWidth)); + } + + return true; } void wxToolTip::DoForAllWindows(void (wxToolTip::*func)(WXHWND)) diff --git a/src/msw/toplevel.cpp b/src/msw/toplevel.cpp index 03c90de8b2..0ddfefcbe6 100644 --- a/src/msw/toplevel.cpp +++ b/src/msw/toplevel.cpp @@ -1078,44 +1078,28 @@ bool wxTopLevelWindowMSW::EnableMinimizeButton(bool enable) void wxTopLevelWindowMSW::RequestUserAttention(int flags) { -#if defined(FLASHW_STOP) && wxUSE_DYNLIB_CLASS - // available in the headers, check if it is supported by the system - typedef BOOL (WINAPI *FlashWindowEx_t)(FLASHWINFO *pfwi); - static FlashWindowEx_t s_pfnFlashWindowEx = NULL; - if ( !s_pfnFlashWindowEx ) +#if defined(FLASHW_STOP) + WinStruct fwi; + fwi.hwnd = GetHwnd(); + fwi.dwFlags = FLASHW_ALL; + if ( flags & wxUSER_ATTENTION_INFO ) { - wxDynamicLibrary dllUser32(wxT("user32.dll")); - s_pfnFlashWindowEx = (FlashWindowEx_t) - dllUser32.GetSymbol(wxT("FlashWindowEx")); - - // we can safely unload user32.dll here, it's going to remain loaded as - // long as the program is running anyhow + // just flash a few times + fwi.uCount = 3; + } + else // wxUSER_ATTENTION_ERROR + { + // flash until the user notices it + fwi.dwFlags |= FLASHW_TIMERNOFG; } - if ( s_pfnFlashWindowEx ) - { - WinStruct fwi; - fwi.hwnd = GetHwnd(); - fwi.dwFlags = FLASHW_ALL; - if ( flags & wxUSER_ATTENTION_INFO ) - { - // just flash a few times - fwi.uCount = 3; - } - else // wxUSER_ATTENTION_ERROR - { - // flash until the user notices it - fwi.dwFlags |= FLASHW_TIMERNOFG; - } - - s_pfnFlashWindowEx(&fwi); - } - else // FlashWindowEx() not available -#endif // FlashWindowEx() defined + ::FlashWindowEx(&fwi); +#else { wxUnusedVar(flags); ::FlashWindow(GetHwnd(), TRUE); } +#endif // defined(FLASHW_STOP) } wxMenu *wxTopLevelWindowMSW::MSWGetSystemMenu() const @@ -1157,28 +1141,6 @@ wxMenu *wxTopLevelWindowMSW::MSWGetSystemMenu() const bool wxTopLevelWindowMSW::SetTransparent(wxByte alpha) { -#if wxUSE_DYNLIB_CLASS - typedef DWORD (WINAPI *PSETLAYEREDWINDOWATTR)(HWND, DWORD, BYTE, DWORD); - static PSETLAYEREDWINDOWATTR - pSetLayeredWindowAttributes = (PSETLAYEREDWINDOWATTR)-1; - - if ( pSetLayeredWindowAttributes == (PSETLAYEREDWINDOWATTR)-1 ) - { - wxDynamicLibrary dllUser32(wxT("user32.dll")); - - // use RawGetSymbol() and not GetSymbol() to avoid error messages under - // Windows 95: there is nothing the user can do about this anyhow - pSetLayeredWindowAttributes = (PSETLAYEREDWINDOWATTR) - dllUser32.RawGetSymbol(wxT("SetLayeredWindowAttributes")); - - // it's ok to destroy dllUser32 here, we link statically to user32.dll - // anyhow so it won't be unloaded - } - - if ( !pSetLayeredWindowAttributes ) - return false; -#endif // wxUSE_DYNLIB_CLASS - LONG exstyle = GetWindowLong(GetHwnd(), GWL_EXSTYLE); // if setting alpha to fully opaque then turn off the layered style @@ -1189,14 +1151,12 @@ bool wxTopLevelWindowMSW::SetTransparent(wxByte alpha) return true; } -#if wxUSE_DYNLIB_CLASS // Otherwise, set the layered style if needed and set the alpha value if ((exstyle & WS_EX_LAYERED) == 0 ) SetWindowLong(GetHwnd(), GWL_EXSTYLE, exstyle | WS_EX_LAYERED); - if ( pSetLayeredWindowAttributes(GetHwnd(), 0, (BYTE)alpha, LWA_ALPHA) ) + if ( ::SetLayeredWindowAttributes(GetHwnd(), 0, (BYTE)alpha, LWA_ALPHA) ) return true; -#endif // wxUSE_DYNLIB_CLASS return false; } diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index 9046400eda..a2dc9138b4 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -763,8 +763,7 @@ bool wxTreeCtrl::Create(wxWindow *parent, if ( m_windowStyle & wxTR_FULL_ROW_HIGHLIGHT ) { - if ( wxApp::GetComCtl32Version() >= 471 ) - wstyle |= TVS_FULLROWSELECT; + wstyle |= TVS_FULLROWSELECT; } #if defined(TVS_INFOTIP) diff --git a/src/msw/utilsgui.cpp b/src/msw/utilsgui.cpp index c3afab2db3..fec084786c 100644 --- a/src/msw/utilsgui.cpp +++ b/src/msw/utilsgui.cpp @@ -29,10 +29,11 @@ #include "wx/utils.h" #endif //WX_PRECOMP -#include "wx/dynlib.h" - #include "wx/msw/private.h" // includes +#include "wx/msw/wrapwin.h" +#include + // ============================================================================ // implementation // ============================================================================ @@ -264,34 +265,7 @@ void wxDrawLine(HDC hdc, int x1, int y1, int x2, int y2) extern bool wxEnableFileNameAutoComplete(HWND hwnd) { -#if wxUSE_DYNLIB_CLASS - typedef HRESULT (WINAPI *SHAutoComplete_t)(HWND, DWORD); - - static SHAutoComplete_t s_pfnSHAutoComplete = NULL; - static bool s_initialized = false; - - if ( !s_initialized ) - { - s_initialized = true; - - wxLogNull nolog; - wxDynamicLibrary dll(wxT("shlwapi.dll")); - if ( dll.IsLoaded() ) - { - s_pfnSHAutoComplete = - (SHAutoComplete_t)dll.GetSymbol(wxT("SHAutoComplete")); - if ( s_pfnSHAutoComplete ) - { - // won't be unloaded until the process termination, no big deal - dll.Detach(); - } - } - } - - if ( !s_pfnSHAutoComplete ) - return false; - - HRESULT hr = s_pfnSHAutoComplete(hwnd, 0x10 /* SHACF_FILESYS_ONLY */); + HRESULT hr = ::SHAutoComplete(hwnd, 0x10 /* SHACF_FILESYS_ONLY */); if ( FAILED(hr) ) { wxLogApiError(wxT("SHAutoComplete"), hr); @@ -299,8 +273,4 @@ extern bool wxEnableFileNameAutoComplete(HWND hwnd) } return true; -#else - wxUnusedVar(hwnd); - return false; -#endif // wxUSE_DYNLIB_CLASS/!wxUSE_DYNLIB_CLASS } diff --git a/src/msw/window.cpp b/src/msw/window.cpp index 845bd98f3a..4543dd16a6 100644 --- a/src/msw/window.cpp +++ b/src/msw/window.cpp @@ -637,24 +637,6 @@ wxWindowMSW::MSWShowWithEffect(bool show, if ( !wxWindowBase::Show(show) ) return false; - typedef BOOL (WINAPI *AnimateWindow_t)(HWND, DWORD, DWORD); - - static AnimateWindow_t s_pfnAnimateWindow = NULL; - static bool s_initDone = false; - if ( !s_initDone ) - { - wxDynamicLibrary dllUser32(wxT("user32.dll"), wxDL_VERBATIM | wxDL_QUIET); - wxDL_INIT_FUNC(s_pfn, AnimateWindow, dllUser32); - - s_initDone = true; - - // notice that it's ok to unload user32.dll here as it won't be really - // unloaded, being still in use because we link to it statically too - } - - if ( !s_pfnAnimateWindow ) - return Show(show); - // Show() has a side effect of sending a WM_SIZE to the window, which helps // ensuring that it's laid out correctly, but AnimateWindow() doesn't do // this so send the event ourselves @@ -719,7 +701,7 @@ wxWindowMSW::MSWShowWithEffect(bool show, return false; } - if ( !(*s_pfnAnimateWindow)(GetHwnd(), timeout, dwFlags) ) + if ( !::AnimateWindow(GetHwnd(), timeout, dwFlags) ) { wxLogLastError(wxT("AnimateWindow")); diff --git a/src/osx/carbon/apprsrc.h b/src/osx/carbon/apprsrc.h deleted file mode 100644 index 55d7f307ad..0000000000 --- a/src/osx/carbon/apprsrc.h +++ /dev/null @@ -1 +0,0 @@ -// TODO REMOVE diff --git a/src/osx/carbon/joystick.cpp b/src/osx/carbon/joystick.cpp deleted file mode 100644 index 2faa009f42..0000000000 --- a/src/osx/carbon/joystick.cpp +++ /dev/null @@ -1 +0,0 @@ -// todo remove \ No newline at end of file diff --git a/src/osx/cocoa/settings.mm b/src/osx/cocoa/settings.mm new file mode 100644 index 0000000000..2be681b19e --- /dev/null +++ b/src/osx/cocoa/settings.mm @@ -0,0 +1,243 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/osx/cocoa/settings.mm +// Purpose: wxSettings +// Author: David Elliott +// Modified by: Tobias Taschner +// Created: 2005/01/11 +// Copyright: (c) 2005 David Elliott +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#include "wx/wxprec.h" + +#include "wx/settings.h" + +#ifndef WX_PRECOMP + #include "wx/utils.h" + #include "wx/gdicmn.h" +#endif + +#include "wx/osx/core/private.h" + +#import + +// ---------------------------------------------------------------------------- +// wxSystemSettingsNative +// ---------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// colours +// ---------------------------------------------------------------------------- + +wxColour wxSystemSettingsNative::GetColour(wxSystemColour index) +{ + NSColor* sysColor = nil; + switch( index ) + { + case wxSYS_COLOUR_SCROLLBAR: + sysColor = [NSColor scrollBarColor]; // color of slot + break; + case wxSYS_COLOUR_DESKTOP: // No idea how to get desktop background + // fall through, window background is reasonable + case wxSYS_COLOUR_ACTIVECAPTION: // No idea how to get this + // fall through, window background is reasonable + case wxSYS_COLOUR_INACTIVECAPTION: // No idea how to get this + // fall through, window background is reasonable + case wxSYS_COLOUR_MENU: + case wxSYS_COLOUR_MENUBAR: + case wxSYS_COLOUR_WINDOW: + case wxSYS_COLOUR_WINDOWFRAME: + case wxSYS_COLOUR_ACTIVEBORDER: + case wxSYS_COLOUR_INACTIVEBORDER: + case wxSYS_COLOUR_GRADIENTACTIVECAPTION: + case wxSYS_COLOUR_GRADIENTINACTIVECAPTION: + sysColor = [NSColor windowFrameColor]; + break; + case wxSYS_COLOUR_BTNFACE: + sysColor = [NSColor controlColor]; + break; + case wxSYS_COLOUR_LISTBOX: + sysColor = [NSColor controlBackgroundColor]; + break; + case wxSYS_COLOUR_BTNSHADOW: + sysColor = [NSColor controlShadowColor]; + break; + case wxSYS_COLOUR_BTNTEXT: + case wxSYS_COLOUR_MENUTEXT: + case wxSYS_COLOUR_WINDOWTEXT: + case wxSYS_COLOUR_CAPTIONTEXT: + case wxSYS_COLOUR_INFOTEXT: + case wxSYS_COLOUR_INACTIVECAPTIONTEXT: + case wxSYS_COLOUR_LISTBOXTEXT: + sysColor = [NSColor controlTextColor]; + break; + case wxSYS_COLOUR_HIGHLIGHT: + sysColor = [NSColor selectedControlColor]; + break; + case wxSYS_COLOUR_BTNHIGHLIGHT: + sysColor = [NSColor controlHighlightColor]; + break; + case wxSYS_COLOUR_GRAYTEXT: + sysColor = [NSColor disabledControlTextColor]; + break; + case wxSYS_COLOUR_3DDKSHADOW: + sysColor = [NSColor controlShadowColor]; + break; + case wxSYS_COLOUR_3DLIGHT: + sysColor = [NSColor controlHighlightColor]; + break; + case wxSYS_COLOUR_HIGHLIGHTTEXT: + case wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT: + sysColor = [NSColor alternateSelectedControlTextColor]; + break; + case wxSYS_COLOUR_INFOBK: + // tooltip (bogus) + sysColor = [NSColor windowBackgroundColor]; + break; + case wxSYS_COLOUR_APPWORKSPACE: + // MDI window color (bogus) + sysColor = [NSColor windowBackgroundColor]; + break; + case wxSYS_COLOUR_HOTLIGHT: + // OSX doesn't change color on mouse hover + sysColor = [NSColor controlTextColor]; + break; + case wxSYS_COLOUR_MENUHILIGHT: + sysColor = [NSColor selectedMenuItemColor]; + break; + case wxSYS_COLOUR_MAX: + default: + if(index>=wxSYS_COLOUR_MAX) + { + wxFAIL_MSG(wxT("Invalid system colour index")); + return wxColour(); + } + } + + if ( sysColor ) + { + CGColorRef cgCol = sysColor.CGColor; + // wxColour takes ownership of CF reference + CFRetain(cgCol); + return wxColour(cgCol); + } + else + { + wxFAIL_MSG(wxT("Unimplemented system colour index")); + return wxColour(); + } +} + +// ---------------------------------------------------------------------------- +// fonts +// ---------------------------------------------------------------------------- + +wxFont wxSystemSettingsNative::GetFont(wxSystemFont index) +{ + switch (index) + { + case wxSYS_ANSI_VAR_FONT : + case wxSYS_SYSTEM_FONT : + case wxSYS_DEVICE_DEFAULT_FONT : + case wxSYS_DEFAULT_GUI_FONT : + { + return *wxSMALL_FONT ; + } ; + break ; + case wxSYS_OEM_FIXED_FONT : + case wxSYS_ANSI_FIXED_FONT : + case wxSYS_SYSTEM_FIXED_FONT : + default : + { + return *wxNORMAL_FONT ; + } ; + break ; + + } + return *wxNORMAL_FONT; +} + +// ---------------------------------------------------------------------------- +// system metrics/features +// ---------------------------------------------------------------------------- + +// Get a system metric, e.g. scrollbar size +int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow *WXUNUSED(win)) +{ + switch ( index ) + { + case wxSYS_MOUSE_BUTTONS: + return 2; // we emulate a two button mouse (ctrl + click = right button ) + + // TODO case wxSYS_BORDER_X: + // TODO case wxSYS_BORDER_Y: + // TODO case wxSYS_CURSOR_X: + // TODO case wxSYS_CURSOR_Y: + // TODO case wxSYS_DCLICK_X: + // TODO case wxSYS_DCLICK_Y: + // TODO case wxSYS_DRAG_X: + // TODO case wxSYS_DRAG_Y: + // TODO case wxSYS_EDGE_X: + // TODO case wxSYS_EDGE_Y: + + case wxSYS_HSCROLL_ARROW_X: + return 16; + case wxSYS_HSCROLL_ARROW_Y: + return 16; + case wxSYS_HTHUMB_X: + return 16; + + // TODO case wxSYS_ICON_X: + // TODO case wxSYS_ICON_Y: + // TODO case wxSYS_ICONSPACING_X: + // TODO case wxSYS_ICONSPACING_Y: + // TODO case wxSYS_WINDOWMIN_X: + // TODO case wxSYS_WINDOWMIN_Y: + // TODO case wxSYS_SCREEN_X: + // TODO case wxSYS_SCREEN_Y: + // TODO case wxSYS_FRAMESIZE_X: + // TODO case wxSYS_FRAMESIZE_Y: + // TODO case wxSYS_SMALLICON_X: + // TODO case wxSYS_SMALLICON_Y: + + case wxSYS_HSCROLL_Y: + return 16; + case wxSYS_VSCROLL_X: + return 16; + case wxSYS_VSCROLL_ARROW_X: + return 16; + case wxSYS_VSCROLL_ARROW_Y: + return 16; + case wxSYS_VTHUMB_Y: + return 16; + + // TODO case wxSYS_CAPTION_Y: + // TODO case wxSYS_MENU_Y: + // TODO case wxSYS_NETWORK_PRESENT: + + case wxSYS_PENWINDOWS_PRESENT: + return 0; + + // TODO case wxSYS_SHOW_SOUNDS: + + case wxSYS_SWAP_BUTTONS: + return 0; + + default: + return -1; // unsupported metric + } + return 0; +} + +bool wxSystemSettingsNative::HasFeature(wxSystemFeature index) +{ + switch (index) + { + case wxSYS_CAN_ICONIZE_FRAME: + case wxSYS_CAN_DRAW_FRAME_DECORATIONS: + return true; + + default: + return false; + } +} diff --git a/src/osx/cocoa/srchctrl.mm b/src/osx/cocoa/srchctrl.mm index e1e5c585d8..162408426b 100644 --- a/src/osx/cocoa/srchctrl.mm +++ b/src/osx/cocoa/srchctrl.mm @@ -204,6 +204,10 @@ wxWidgetImplType* wxWidgetImpl::CreateSearchControl( wxSearchCtrl* wxpeer, { NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ; wxNSSearchField* v = [[wxNSSearchField alloc] initWithFrame:r]; + + // Make it behave consistently with the single line wxTextCtrl + [[v cell] setScrollable:YES]; + [[v cell] setSendsWholeSearchString:YES]; // per wx default cancel is not shown [[v cell] setCancelButtonCell:nil]; diff --git a/src/osx/cocoa/stdpaths.mm b/src/osx/cocoa/stdpaths.mm new file mode 100644 index 0000000000..6af1dfa497 --- /dev/null +++ b/src/osx/cocoa/stdpaths.mm @@ -0,0 +1,129 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/osx/cocoa/stdpaths.mm +// Purpose: wxStandardPaths for Cocoa +// Author: Tobias Taschner +// Created: 2015-09-09 +// Copyright: (c) 2015 wxWidgets development team +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#include "wx/wxprec.h" + +#if wxUSE_STDPATHS + +#include "wx/stdpaths.h" +#include "wx/osx/private.h" +#include "wx/osx/core/cfstring.h" + +#import + +// ============================================================================ +// implementation +// ============================================================================ + +static wxString GetFMDirectory( + NSSearchPathDirectory directory, + NSSearchPathDomainMask domainMask) +{ + NSURL* url = [[NSFileManager defaultManager] URLForDirectory:directory + inDomain:domainMask + appropriateForURL:nil + create:NO error:nil]; + return wxCFStringRef::AsString(url.path); +} + +wxStandardPaths::wxStandardPaths() +{ + +} + +wxStandardPaths::~wxStandardPaths() +{ + +} + +wxString wxStandardPaths::GetExecutablePath() const +{ + return wxCFStringRef::AsString([NSBundle mainBundle].executablePath); +} + +wxString wxStandardPaths::GetConfigDir() const +{ + return GetFMDirectory(NSLibraryDirectory, NSLocalDomainMask) + "/Preferences"; +} + +wxString wxStandardPaths::GetUserConfigDir() const +{ + return GetFMDirectory(NSLibraryDirectory, NSUserDomainMask) + "/Preferences"; +} + +wxString wxStandardPaths::GetDataDir() const +{ + return wxCFStringRef::AsString([NSBundle mainBundle].sharedSupportPath); +} + +wxString wxStandardPaths::GetLocalDataDir() const +{ + return AppendAppInfo(GetFMDirectory(NSApplicationSupportDirectory, NSLocalDomainMask)); +} + +wxString wxStandardPaths::GetUserDataDir() const +{ + return AppendAppInfo(GetFMDirectory(NSApplicationSupportDirectory, NSUserDomainMask)); +} + +wxString wxStandardPaths::GetPluginsDir() const +{ + return wxCFStringRef::AsString([NSBundle mainBundle].builtInPlugInsPath); +} + +wxString wxStandardPaths::GetResourcesDir() const +{ + return wxCFStringRef::AsString([NSBundle mainBundle].resourcePath); +} + +wxString +wxStandardPaths::GetLocalizedResourcesDir(const wxString& lang, + ResourceCat category) const +{ + return wxStandardPathsBase:: + GetLocalizedResourcesDir(lang, category) + wxT(".lproj"); +} + +wxString wxStandardPaths::GetUserDir(Dir userDir) const +{ + NSSearchPathDirectory dirType; + switch (userDir) + { + case Dir_Desktop: + dirType = NSDesktopDirectory; + break; + case Dir_Downloads: + dirType = NSDownloadsDirectory; + break; + case Dir_Music: + dirType = NSMusicDirectory; + break; + case Dir_Pictures: + dirType = NSPicturesDirectory; + break; + case Dir_Videos: + dirType = NSMoviesDirectory; + break; + default: + dirType = NSDocumentDirectory; + break; + } + + return GetFMDirectory(dirType, NSUserDomainMask); +} + +#endif // wxUSE_STDPATHS diff --git a/src/osx/core/stdpaths_cf.cpp b/src/osx/core/stdpaths_cf.cpp index c5b4571bf0..85a165e25b 100644 --- a/src/osx/core/stdpaths_cf.cpp +++ b/src/osx/core/stdpaths_cf.cpp @@ -96,17 +96,62 @@ wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const return ret; } -wxString wxStandardPathsCF::GetDocumentsDir() const +wxString wxStandardPathsCF::GetUserDir(Dir userDir) const { #if defined( __WXMAC__ ) && wxOSX_USE_CARBON + OSType folderType; + switch (userDir) + { + case Dir_Desktop: + folderType = kDesktopFolderType; + break; + case Dir_Downloads: + folderType = kDownloadsFolderType; + break; + case Dir_Music: + folderType = kMusicDocumentsFolderType; + break; + case Dir_Pictures: + folderType = kPictureDocumentsFolderType; + break; + case Dir_Videos: + folderType = kMovieDocumentsFolderType; + break; + default: + folderType = kDocumentsFolderType; + break; + } + return wxMacFindFolderNoSeparator ( kUserDomain, - kDocumentsFolderType, + folderType, kCreateFolder ); #else - return wxFileName::GetHomeDir() + wxT("/Documents"); + wxString userDirName; + switch (userDir) + { + case Dir_Desktop: + userDirName = "Desktop"; + break; + case Dir_Downloads: + userDirName = "Downloads"; + break; + case Dir_Music: + userDirName = "Music"; + break; + case Dir_Pictures: + userDirName = "Pictures"; + break; + case Dir_Videos: + userDirName = "Movies"; + break; + default: + userDirName = "Documents"; + break; + } + return wxFileName::GetHomeDir() + "/" + userDirName; #endif } diff --git a/src/osx/core/utilsexc_cf.cpp b/src/osx/core/utilsexc_cf.cpp index 38297a0602..3af6c85a32 100644 --- a/src/osx/core/utilsexc_cf.cpp +++ b/src/osx/core/utilsexc_cf.cpp @@ -160,7 +160,12 @@ wxStandardPaths& wxGUIAppTraits::GetStandardPaths() // Derive a class just to be able to create it: wxStandardPaths ctor is // protected to prevent its misuse, but it also means we can't create an // object of this class directly. - class wxStandardPathsDefault : public wxStandardPathsCF + class wxStandardPathsDefault : public +#if defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) + wxStandardPaths +#else + wxStandardPathsCF +#endif { public: wxStandardPathsDefault() { } diff --git a/src/unix/stdpaths.cpp b/src/unix/stdpaths.cpp index 4e0c37b18f..2880ff9f41 100644 --- a/src/unix/stdpaths.cpp +++ b/src/unix/stdpaths.cpp @@ -233,7 +233,7 @@ wxStandardPaths::GetLocalizedResourcesDir(const wxString& lang, return GetInstallPrefix() + wxT("/share/locale/") + lang + wxT("/LC_MESSAGES"); } -wxString wxStandardPaths::GetDocumentsDir() const +wxString wxStandardPaths::GetUserDir(Dir userDir) const { { wxLogNull logNull; @@ -246,6 +246,29 @@ wxString wxStandardPaths::GetDocumentsDir() const wxString dirsFile = configPath + wxT("/user-dirs.dirs"); if (wxFileExists(dirsFile)) { + wxString userDirId; + switch (userDir) + { + case Dir_Desktop: + userDirId = "XDG_DESKTOP_DIR"; + break; + case Dir_Downloads: + userDirId = "XDG_DOWNLOAD_DIR"; + break; + case Dir_Music: + userDirId = "XDG_MUSIC_DIR"; + break; + case Dir_Pictures: + userDirId = "XDG_PICTURES_DIR"; + break; + case Dir_Videos: + userDirId = "XDG_VIDEOS_DIR"; + break; + default: + userDirId = "XDG_DOCUMENTS_DIR"; + break; + } + wxTextFile textFile; if (textFile.Open(dirsFile)) { @@ -253,13 +276,15 @@ wxString wxStandardPaths::GetDocumentsDir() const for (i = 0; i < textFile.GetLineCount(); i++) { wxString line(textFile[i]); - int pos = line.Find(wxT("XDG_DOCUMENTS_DIR")); + int pos = line.Find(userDirId); if (pos != wxNOT_FOUND) { wxString value = line.AfterFirst(wxT('=')); value.Replace(wxT("$HOME"), homeDir); value.Trim(true); value.Trim(false); + // Remove quotes + value.Replace("\"", "", true /* replace all */); if (!value.IsEmpty() && wxDirExists(value)) return value; else @@ -270,7 +295,7 @@ wxString wxStandardPaths::GetDocumentsDir() const } } - return wxStandardPathsBase::GetDocumentsDir(); + return wxStandardPathsBase::GetUserDir(userDir); } #endif // __VMS/!__VMS diff --git a/tests/interactive/output.cpp b/tests/interactive/output.cpp index d55764fba5..7c656ae677 100644 --- a/tests/interactive/output.cpp +++ b/tests/interactive/output.cpp @@ -404,6 +404,11 @@ void InteractiveOutputTestCase::TestStandardPaths() wxPrintf(wxT("Data dir (user):\t%s\n"), stdp.GetUserDataDir().c_str()); wxPrintf(wxT("Data dir (user local):\t%s\n"), stdp.GetUserLocalDataDir().c_str()); wxPrintf(wxT("Documents dir:\t\t%s\n"), stdp.GetDocumentsDir().c_str()); + wxPrintf(wxT("Desktop dir:\t\t%s\n"), stdp.GetUserDir(wxStandardPaths::Dir_Desktop).c_str()); + wxPrintf(wxT("Downloads dir:\t\t%s\n"), stdp.GetUserDir(wxStandardPaths::Dir_Downloads).c_str()); + wxPrintf(wxT("Music dir:\t\t%s\n"), stdp.GetUserDir(wxStandardPaths::Dir_Music).c_str()); + wxPrintf(wxT("Pictures dir:\t\t%s\n"), stdp.GetUserDir(wxStandardPaths::Dir_Pictures).c_str()); + wxPrintf(wxT("Videos dir:\t\t%s\n"), stdp.GetUserDir(wxStandardPaths::Dir_Videos).c_str()); wxPrintf(wxT("Executable path:\t%s\n"), stdp.GetExecutablePath().c_str()); wxPrintf(wxT("Plugins dir:\t\t%s\n"), stdp.GetPluginsDir().c_str()); wxPrintf(wxT("Resources dir:\t\t%s\n"), stdp.GetResourcesDir().c_str());