From d2f3b08582317760addae3bf02f28bb42dc2bf70 Mon Sep 17 00:00:00 2001
From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= <vslavik@fastmail.fm>
Date: Sat, 17 May 2008 09:41:25 +0000
Subject: [PATCH] wxUniv: implement wxSYS_VSCROLL_X/Y metrics in wxUniv code,
 they depend on the theme, not lowlovel port

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53616 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 Makefile.in                                 | 32 ++++++++---------
 build/bakefiles/files.bkl                   |  2 +-
 build/msw/makefile.bcc                      | 32 ++++++++---------
 build/msw/makefile.gcc                      | 32 ++++++++---------
 build/msw/makefile.vc                       | 32 ++++++++---------
 build/msw/makefile.wat                      | 32 ++++++++---------
 build/msw/wx_core.dsp                       | 40 ++++++++++-----------
 build/msw/wx_vc7_core.vcproj                | 30 ++++++++--------
 build/msw/wx_vc8_core.vcproj                | 40 ++++++++++-----------
 include/wx/settings.h                       |  4 +++
 include/wx/univ/colschem.h                  |  2 +-
 src/dfb/settings.cpp                        |  7 ----
 src/mgl/settings.cpp                        |  3 --
 src/univ/{colschem.cpp => settingsuniv.cpp} | 27 ++++++++------
 14 files changed, 158 insertions(+), 157 deletions(-)
 rename src/univ/{colschem.cpp => settingsuniv.cpp} (87%)

diff --git a/Makefile.in b/Makefile.in
index a16696635e..6e58ef585b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3996,7 +3996,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
 	monodll_checkbox.o \
 	monodll_checklst.o \
 	monodll_choice.o \
-	monodll_colschem.o \
 	monodll_combobox.o \
 	monodll_control.o \
 	monodll_ctrlrend.o \
@@ -4013,6 +4012,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS =  \
 	monodll_scrarrow.o \
 	monodll_scrolbar.o \
 	monodll_scrthumb.o \
+	monodll_settingsuniv.o \
 	monodll_slider.o \
 	monodll_spinbutt.o \
 	monodll_statbmp.o \
@@ -5909,7 +5909,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
 	monolib_checkbox.o \
 	monolib_checklst.o \
 	monolib_choice.o \
-	monolib_colschem.o \
 	monolib_combobox.o \
 	monolib_control.o \
 	monolib_ctrlrend.o \
@@ -5926,6 +5925,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_1 =  \
 	monolib_scrarrow.o \
 	monolib_scrolbar.o \
 	monolib_scrthumb.o \
+	monolib_settingsuniv.o \
 	monolib_slider.o \
 	monolib_spinbutt.o \
 	monolib_statbmp.o \
@@ -8108,7 +8108,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
 	coredll_checkbox.o \
 	coredll_checklst.o \
 	coredll_choice.o \
-	coredll_colschem.o \
 	coredll_combobox.o \
 	coredll_control.o \
 	coredll_ctrlrend.o \
@@ -8125,6 +8124,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_2 =  \
 	coredll_scrarrow.o \
 	coredll_scrolbar.o \
 	coredll_scrthumb.o \
+	coredll_settingsuniv.o \
 	coredll_slider.o \
 	coredll_spinbutt.o \
 	coredll_statbmp.o \
@@ -9607,7 +9607,6 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
 	corelib_checkbox.o \
 	corelib_checklst.o \
 	corelib_choice.o \
-	corelib_colschem.o \
 	corelib_combobox.o \
 	corelib_control.o \
 	corelib_ctrlrend.o \
@@ -9624,6 +9623,7 @@ COND_USE_GUI_1_WXUNIV_1___CORE_SRC_OBJECTS_3 =  \
 	corelib_scrarrow.o \
 	corelib_scrolbar.o \
 	corelib_scrthumb.o \
+	corelib_settingsuniv.o \
 	corelib_slider.o \
 	corelib_spinbutt.o \
 	corelib_statbmp.o \
@@ -14128,9 +14128,6 @@ monodll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONODLL_ODEP)
 monodll_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
-monodll_colschem.o: $(srcdir)/src/univ/colschem.cpp $(MONODLL_ODEP)
-	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
-
 monodll_ctrlrend.o: $(srcdir)/src/univ/ctrlrend.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/ctrlrend.cpp
 
@@ -14149,6 +14146,9 @@ monodll_scrarrow.o: $(srcdir)/src/univ/scrarrow.cpp $(MONODLL_ODEP)
 monodll_scrthumb.o: $(srcdir)/src/univ/scrthumb.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/scrthumb.cpp
 
+monodll_settingsuniv.o: $(srcdir)/src/univ/settingsuniv.cpp $(MONODLL_ODEP)
+	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/settingsuniv.cpp
+
 monodll_stdrend.o: $(srcdir)/src/univ/stdrend.cpp $(MONODLL_ODEP)
 	$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/univ/stdrend.cpp
 
@@ -18670,9 +18670,6 @@ monolib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(MONOLIB_ODEP)
 monolib_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
-monolib_colschem.o: $(srcdir)/src/univ/colschem.cpp $(MONOLIB_ODEP)
-	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
-
 monolib_ctrlrend.o: $(srcdir)/src/univ/ctrlrend.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/ctrlrend.cpp
 
@@ -18691,6 +18688,9 @@ monolib_scrarrow.o: $(srcdir)/src/univ/scrarrow.cpp $(MONOLIB_ODEP)
 monolib_scrthumb.o: $(srcdir)/src/univ/scrthumb.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/scrthumb.cpp
 
+monolib_settingsuniv.o: $(srcdir)/src/univ/settingsuniv.cpp $(MONOLIB_ODEP)
+	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/settingsuniv.cpp
+
 monolib_stdrend.o: $(srcdir)/src/univ/stdrend.cpp $(MONOLIB_ODEP)
 	$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/univ/stdrend.cpp
 
@@ -24619,9 +24619,6 @@ coredll_regiong.o: $(srcdir)/src/generic/regiong.cpp $(COREDLL_ODEP)
 coredll_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(COREDLL_ODEP)
 	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
-coredll_colschem.o: $(srcdir)/src/univ/colschem.cpp $(COREDLL_ODEP)
-	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
-
 coredll_ctrlrend.o: $(srcdir)/src/univ/ctrlrend.cpp $(COREDLL_ODEP)
 	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/ctrlrend.cpp
 
@@ -24640,6 +24637,9 @@ coredll_scrarrow.o: $(srcdir)/src/univ/scrarrow.cpp $(COREDLL_ODEP)
 coredll_scrthumb.o: $(srcdir)/src/univ/scrthumb.cpp $(COREDLL_ODEP)
 	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/scrthumb.cpp
 
+coredll_settingsuniv.o: $(srcdir)/src/univ/settingsuniv.cpp $(COREDLL_ODEP)
+	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/settingsuniv.cpp
+
 coredll_stdrend.o: $(srcdir)/src/univ/stdrend.cpp $(COREDLL_ODEP)
 	$(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/univ/stdrend.cpp
 
@@ -27700,9 +27700,6 @@ corelib_regiong.o: $(srcdir)/src/generic/regiong.cpp $(CORELIB_ODEP)
 corelib_gsockpm.o: $(srcdir)/src/os2/gsockpm.cpp $(CORELIB_ODEP)
 	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/os2/gsockpm.cpp
 
-corelib_colschem.o: $(srcdir)/src/univ/colschem.cpp $(CORELIB_ODEP)
-	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/colschem.cpp
-
 corelib_ctrlrend.o: $(srcdir)/src/univ/ctrlrend.cpp $(CORELIB_ODEP)
 	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/ctrlrend.cpp
 
@@ -27721,6 +27718,9 @@ corelib_scrarrow.o: $(srcdir)/src/univ/scrarrow.cpp $(CORELIB_ODEP)
 corelib_scrthumb.o: $(srcdir)/src/univ/scrthumb.cpp $(CORELIB_ODEP)
 	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/scrthumb.cpp
 
+corelib_settingsuniv.o: $(srcdir)/src/univ/settingsuniv.cpp $(CORELIB_ODEP)
+	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/settingsuniv.cpp
+
 corelib_stdrend.o: $(srcdir)/src/univ/stdrend.cpp $(CORELIB_ODEP)
 	$(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/univ/stdrend.cpp
 
diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl
index d01ce30d19..3fba399264 100644
--- a/build/bakefiles/files.bkl
+++ b/build/bakefiles/files.bkl
@@ -2721,7 +2721,6 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/univ/checkbox.cpp
     src/univ/checklst.cpp
     src/univ/choice.cpp
-    src/univ/colschem.cpp
     src/univ/combobox.cpp
     src/univ/control.cpp
     src/univ/ctrlrend.cpp
@@ -2738,6 +2737,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
     src/univ/scrarrow.cpp
     src/univ/scrolbar.cpp
     src/univ/scrthumb.cpp
+    src/univ/settingsuniv.cpp
     src/univ/slider.cpp
     src/univ/spinbutt.cpp
     src/univ/statbmp.cpp
diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc
index c3c8bd1553..73512c957d 100644
--- a/build/msw/makefile.bcc
+++ b/build/msw/makefile.bcc
@@ -1773,7 +1773,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_checkbox.obj \
 	$(OBJS)\monodll_checklst.obj \
 	$(OBJS)\monodll_choice.obj \
-	$(OBJS)\monodll_colschem.obj \
 	$(OBJS)\monodll_combobox.obj \
 	$(OBJS)\monodll_control.obj \
 	$(OBJS)\monodll_ctrlrend.obj \
@@ -1790,6 +1789,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_scrarrow.obj \
 	$(OBJS)\monodll_scrolbar.obj \
 	$(OBJS)\monodll_scrthumb.obj \
+	$(OBJS)\monodll_settingsuniv.obj \
 	$(OBJS)\monodll_slider.obj \
 	$(OBJS)\monodll_spinbutt.obj \
 	$(OBJS)\monodll_statbmp.obj \
@@ -2423,7 +2423,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_checkbox.obj \
 	$(OBJS)\monolib_checklst.obj \
 	$(OBJS)\monolib_choice.obj \
-	$(OBJS)\monolib_colschem.obj \
 	$(OBJS)\monolib_combobox.obj \
 	$(OBJS)\monolib_control.obj \
 	$(OBJS)\monolib_ctrlrend.obj \
@@ -2440,6 +2439,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_scrarrow.obj \
 	$(OBJS)\monolib_scrolbar.obj \
 	$(OBJS)\monolib_scrthumb.obj \
+	$(OBJS)\monolib_settingsuniv.obj \
 	$(OBJS)\monolib_slider.obj \
 	$(OBJS)\monolib_spinbutt.obj \
 	$(OBJS)\monolib_statbmp.obj \
@@ -2988,7 +2988,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_checkbox.obj \
 	$(OBJS)\coredll_checklst.obj \
 	$(OBJS)\coredll_choice.obj \
-	$(OBJS)\coredll_colschem.obj \
 	$(OBJS)\coredll_combobox.obj \
 	$(OBJS)\coredll_control.obj \
 	$(OBJS)\coredll_ctrlrend.obj \
@@ -3005,6 +3004,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_scrarrow.obj \
 	$(OBJS)\coredll_scrolbar.obj \
 	$(OBJS)\coredll_scrthumb.obj \
+	$(OBJS)\coredll_settingsuniv.obj \
 	$(OBJS)\coredll_slider.obj \
 	$(OBJS)\coredll_spinbutt.obj \
 	$(OBJS)\coredll_statbmp.obj \
@@ -3455,7 +3455,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_checkbox.obj \
 	$(OBJS)\corelib_checklst.obj \
 	$(OBJS)\corelib_choice.obj \
-	$(OBJS)\corelib_colschem.obj \
 	$(OBJS)\corelib_combobox.obj \
 	$(OBJS)\corelib_control.obj \
 	$(OBJS)\corelib_ctrlrend.obj \
@@ -3472,6 +3471,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_scrarrow.obj \
 	$(OBJS)\corelib_scrolbar.obj \
 	$(OBJS)\corelib_scrthumb.obj \
+	$(OBJS)\corelib_settingsuniv.obj \
 	$(OBJS)\corelib_slider.obj \
 	$(OBJS)\corelib_spinbutt.obj \
 	$(OBJS)\corelib_statbmp.obj \
@@ -5632,9 +5632,6 @@ $(OBJS)\monodll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monodll_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\monodll_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\monodll_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -5653,6 +5650,9 @@ $(OBJS)\monodll_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monodll_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\monodll_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\monodll_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -7769,9 +7769,6 @@ $(OBJS)\monolib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monolib_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\monolib_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\monolib_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -7790,6 +7787,9 @@ $(OBJS)\monolib_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monolib_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\monolib_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\monolib_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -10290,9 +10290,6 @@ $(OBJS)\coredll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\coredll_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\coredll_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\coredll_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -10311,6 +10308,9 @@ $(OBJS)\coredll_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\coredll_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\coredll_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\coredll_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -11621,9 +11621,6 @@ $(OBJS)\corelib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\corelib_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\corelib_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\corelib_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -11642,6 +11639,9 @@ $(OBJS)\corelib_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\corelib_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\corelib_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\corelib_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc
index 25d87bf5e3..4fc642b0e3 100644
--- a/build/msw/makefile.gcc
+++ b/build/msw/makefile.gcc
@@ -1792,7 +1792,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_checkbox.o \
 	$(OBJS)\monodll_checklst.o \
 	$(OBJS)\monodll_choice.o \
-	$(OBJS)\monodll_colschem.o \
 	$(OBJS)\monodll_combobox.o \
 	$(OBJS)\monodll_control.o \
 	$(OBJS)\monodll_ctrlrend.o \
@@ -1809,6 +1808,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_scrarrow.o \
 	$(OBJS)\monodll_scrolbar.o \
 	$(OBJS)\monodll_scrthumb.o \
+	$(OBJS)\monodll_settingsuniv.o \
 	$(OBJS)\monodll_slider.o \
 	$(OBJS)\monodll_spinbutt.o \
 	$(OBJS)\monodll_statbmp.o \
@@ -2448,7 +2448,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_checkbox.o \
 	$(OBJS)\monolib_checklst.o \
 	$(OBJS)\monolib_choice.o \
-	$(OBJS)\monolib_colschem.o \
 	$(OBJS)\monolib_combobox.o \
 	$(OBJS)\monolib_control.o \
 	$(OBJS)\monolib_ctrlrend.o \
@@ -2465,6 +2464,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_scrarrow.o \
 	$(OBJS)\monolib_scrolbar.o \
 	$(OBJS)\monolib_scrthumb.o \
+	$(OBJS)\monolib_settingsuniv.o \
 	$(OBJS)\monolib_slider.o \
 	$(OBJS)\monolib_spinbutt.o \
 	$(OBJS)\monolib_statbmp.o \
@@ -3029,7 +3029,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_checkbox.o \
 	$(OBJS)\coredll_checklst.o \
 	$(OBJS)\coredll_choice.o \
-	$(OBJS)\coredll_colschem.o \
 	$(OBJS)\coredll_combobox.o \
 	$(OBJS)\coredll_control.o \
 	$(OBJS)\coredll_ctrlrend.o \
@@ -3046,6 +3045,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_scrarrow.o \
 	$(OBJS)\coredll_scrolbar.o \
 	$(OBJS)\coredll_scrthumb.o \
+	$(OBJS)\coredll_settingsuniv.o \
 	$(OBJS)\coredll_slider.o \
 	$(OBJS)\coredll_spinbutt.o \
 	$(OBJS)\coredll_statbmp.o \
@@ -3504,7 +3504,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_checkbox.o \
 	$(OBJS)\corelib_checklst.o \
 	$(OBJS)\corelib_choice.o \
-	$(OBJS)\corelib_colschem.o \
 	$(OBJS)\corelib_combobox.o \
 	$(OBJS)\corelib_control.o \
 	$(OBJS)\corelib_ctrlrend.o \
@@ -3521,6 +3520,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_scrarrow.o \
 	$(OBJS)\corelib_scrolbar.o \
 	$(OBJS)\corelib_scrthumb.o \
+	$(OBJS)\corelib_settingsuniv.o \
 	$(OBJS)\corelib_slider.o \
 	$(OBJS)\corelib_spinbutt.o \
 	$(OBJS)\corelib_statbmp.o \
@@ -5774,9 +5774,6 @@ $(OBJS)\monodll_msgdlgg.o: ../../src/generic/msgdlgg.cpp
 $(OBJS)\monodll_tabg.o: ../../src/generic/tabg.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\monodll_colschem.o: ../../src/univ/colschem.cpp
-	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
-
 $(OBJS)\monodll_ctrlrend.o: ../../src/univ/ctrlrend.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -5795,6 +5792,9 @@ $(OBJS)\monodll_scrarrow.o: ../../src/univ/scrarrow.cpp
 $(OBJS)\monodll_scrthumb.o: ../../src/univ/scrthumb.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monodll_settingsuniv.o: ../../src/univ/settingsuniv.cpp
+	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monodll_stdrend.o: ../../src/univ/stdrend.cpp
 	$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -8025,9 +8025,6 @@ $(OBJS)\monolib_msgdlgg.o: ../../src/generic/msgdlgg.cpp
 $(OBJS)\monolib_tabg.o: ../../src/generic/tabg.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\monolib_colschem.o: ../../src/univ/colschem.cpp
-	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
-
 $(OBJS)\monolib_ctrlrend.o: ../../src/univ/ctrlrend.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -8046,6 +8043,9 @@ $(OBJS)\monolib_scrarrow.o: ../../src/univ/scrarrow.cpp
 $(OBJS)\monolib_scrthumb.o: ../../src/univ/scrthumb.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\monolib_settingsuniv.o: ../../src/univ/settingsuniv.cpp
+	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\monolib_stdrend.o: ../../src/univ/stdrend.cpp
 	$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -10660,9 +10660,6 @@ $(OBJS)\coredll_msgdlgg.o: ../../src/generic/msgdlgg.cpp
 $(OBJS)\coredll_tabg.o: ../../src/generic/tabg.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\coredll_colschem.o: ../../src/univ/colschem.cpp
-	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
-
 $(OBJS)\coredll_ctrlrend.o: ../../src/univ/ctrlrend.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -10681,6 +10678,9 @@ $(OBJS)\coredll_scrarrow.o: ../../src/univ/scrarrow.cpp
 $(OBJS)\coredll_scrthumb.o: ../../src/univ/scrthumb.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\coredll_settingsuniv.o: ../../src/univ/settingsuniv.cpp
+	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\coredll_stdrend.o: ../../src/univ/stdrend.cpp
 	$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
 
@@ -12103,9 +12103,6 @@ $(OBJS)\corelib_msgdlgg.o: ../../src/generic/msgdlgg.cpp
 $(OBJS)\corelib_tabg.o: ../../src/generic/tabg.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
-$(OBJS)\corelib_colschem.o: ../../src/univ/colschem.cpp
-	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
-
 $(OBJS)\corelib_ctrlrend.o: ../../src/univ/ctrlrend.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
@@ -12124,6 +12121,9 @@ $(OBJS)\corelib_scrarrow.o: ../../src/univ/scrarrow.cpp
 $(OBJS)\corelib_scrthumb.o: ../../src/univ/scrthumb.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
+$(OBJS)\corelib_settingsuniv.o: ../../src/univ/settingsuniv.cpp
+	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+
 $(OBJS)\corelib_stdrend.o: ../../src/univ/stdrend.cpp
 	$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
 
diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc
index 38ddbec986..f0aeb488f5 100644
--- a/build/msw/makefile.vc
+++ b/build/msw/makefile.vc
@@ -1947,7 +1947,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_checkbox.obj \
 	$(OBJS)\monodll_checklst.obj \
 	$(OBJS)\monodll_choice.obj \
-	$(OBJS)\monodll_colschem.obj \
 	$(OBJS)\monodll_combobox.obj \
 	$(OBJS)\monodll_control.obj \
 	$(OBJS)\monodll_ctrlrend.obj \
@@ -1964,6 +1963,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  \
 	$(OBJS)\monodll_scrarrow.obj \
 	$(OBJS)\monodll_scrolbar.obj \
 	$(OBJS)\monodll_scrthumb.obj \
+	$(OBJS)\monodll_settingsuniv.obj \
 	$(OBJS)\monodll_slider.obj \
 	$(OBJS)\monodll_spinbutt.obj \
 	$(OBJS)\monodll_statbmp.obj \
@@ -2603,7 +2603,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_checkbox.obj \
 	$(OBJS)\monolib_checklst.obj \
 	$(OBJS)\monolib_choice.obj \
-	$(OBJS)\monolib_colschem.obj \
 	$(OBJS)\monolib_combobox.obj \
 	$(OBJS)\monolib_control.obj \
 	$(OBJS)\monolib_ctrlrend.obj \
@@ -2620,6 +2619,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  \
 	$(OBJS)\monolib_scrarrow.obj \
 	$(OBJS)\monolib_scrolbar.obj \
 	$(OBJS)\monolib_scrthumb.obj \
+	$(OBJS)\monolib_settingsuniv.obj \
 	$(OBJS)\monolib_slider.obj \
 	$(OBJS)\monolib_spinbutt.obj \
 	$(OBJS)\monolib_statbmp.obj \
@@ -3198,7 +3198,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_checkbox.obj \
 	$(OBJS)\coredll_checklst.obj \
 	$(OBJS)\coredll_choice.obj \
-	$(OBJS)\coredll_colschem.obj \
 	$(OBJS)\coredll_combobox.obj \
 	$(OBJS)\coredll_control.obj \
 	$(OBJS)\coredll_ctrlrend.obj \
@@ -3215,6 +3214,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  \
 	$(OBJS)\coredll_scrarrow.obj \
 	$(OBJS)\coredll_scrolbar.obj \
 	$(OBJS)\coredll_scrthumb.obj \
+	$(OBJS)\coredll_settingsuniv.obj \
 	$(OBJS)\coredll_slider.obj \
 	$(OBJS)\coredll_spinbutt.obj \
 	$(OBJS)\coredll_statbmp.obj \
@@ -3671,7 +3671,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_checkbox.obj \
 	$(OBJS)\corelib_checklst.obj \
 	$(OBJS)\corelib_choice.obj \
-	$(OBJS)\corelib_colschem.obj \
 	$(OBJS)\corelib_combobox.obj \
 	$(OBJS)\corelib_control.obj \
 	$(OBJS)\corelib_ctrlrend.obj \
@@ -3688,6 +3687,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  \
 	$(OBJS)\corelib_scrarrow.obj \
 	$(OBJS)\corelib_scrolbar.obj \
 	$(OBJS)\corelib_scrthumb.obj \
+	$(OBJS)\corelib_settingsuniv.obj \
 	$(OBJS)\corelib_slider.obj \
 	$(OBJS)\corelib_spinbutt.obj \
 	$(OBJS)\corelib_statbmp.obj \
@@ -5964,9 +5964,6 @@ $(OBJS)\monodll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monodll_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\monodll_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\monodll_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -5985,6 +5982,9 @@ $(OBJS)\monodll_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monodll_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\monodll_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\monodll_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -8101,9 +8101,6 @@ $(OBJS)\monolib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monolib_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\monolib_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\monolib_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -8122,6 +8119,9 @@ $(OBJS)\monolib_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monolib_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\monolib_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\monolib_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -10622,9 +10622,6 @@ $(OBJS)\coredll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\coredll_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\coredll_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\coredll_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -10643,6 +10640,9 @@ $(OBJS)\coredll_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\coredll_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\coredll_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\coredll_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
@@ -11953,9 +11953,6 @@ $(OBJS)\corelib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\corelib_tabg.obj: ..\..\src\generic\tabg.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\tabg.cpp
 
-$(OBJS)\corelib_colschem.obj: ..\..\src\univ\colschem.cpp
-	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\colschem.cpp
-
 $(OBJS)\corelib_ctrlrend.obj: ..\..\src\univ\ctrlrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\ctrlrend.cpp
 
@@ -11974,6 +11971,9 @@ $(OBJS)\corelib_scrarrow.obj: ..\..\src\univ\scrarrow.cpp
 $(OBJS)\corelib_scrthumb.obj: ..\..\src\univ\scrthumb.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\scrthumb.cpp
 
+$(OBJS)\corelib_settingsuniv.obj: ..\..\src\univ\settingsuniv.cpp
+	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\settingsuniv.cpp
+
 $(OBJS)\corelib_stdrend.obj: ..\..\src\univ\stdrend.cpp
 	$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\univ\stdrend.cpp
 
diff --git a/build/msw/makefile.wat b/build/msw/makefile.wat
index 2de9ac4125..7805036bc9 100644
--- a/build/msw/makefile.wat
+++ b/build/msw/makefile.wat
@@ -511,7 +511,6 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_checkbox.obj &
 	$(OBJS)\monodll_checklst.obj &
 	$(OBJS)\monodll_choice.obj &
-	$(OBJS)\monodll_colschem.obj &
 	$(OBJS)\monodll_combobox.obj &
 	$(OBJS)\monodll_control.obj &
 	$(OBJS)\monodll_ctrlrend.obj &
@@ -528,6 +527,7 @@ ____CORE_SRC_FILENAMES_OBJECTS =  &
 	$(OBJS)\monodll_scrarrow.obj &
 	$(OBJS)\monodll_scrolbar.obj &
 	$(OBJS)\monodll_scrthumb.obj &
+	$(OBJS)\monodll_settingsuniv.obj &
 	$(OBJS)\monodll_slider.obj &
 	$(OBJS)\monodll_spinbutt.obj &
 	$(OBJS)\monodll_statbmp.obj &
@@ -1172,7 +1172,6 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_checkbox.obj &
 	$(OBJS)\monolib_checklst.obj &
 	$(OBJS)\monolib_choice.obj &
-	$(OBJS)\monolib_colschem.obj &
 	$(OBJS)\monolib_combobox.obj &
 	$(OBJS)\monolib_control.obj &
 	$(OBJS)\monolib_ctrlrend.obj &
@@ -1189,6 +1188,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS =  &
 	$(OBJS)\monolib_scrarrow.obj &
 	$(OBJS)\monolib_scrolbar.obj &
 	$(OBJS)\monolib_scrthumb.obj &
+	$(OBJS)\monolib_settingsuniv.obj &
 	$(OBJS)\monolib_slider.obj &
 	$(OBJS)\monolib_spinbutt.obj &
 	$(OBJS)\monolib_statbmp.obj &
@@ -1764,7 +1764,6 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_checkbox.obj &
 	$(OBJS)\coredll_checklst.obj &
 	$(OBJS)\coredll_choice.obj &
-	$(OBJS)\coredll_colschem.obj &
 	$(OBJS)\coredll_combobox.obj &
 	$(OBJS)\coredll_control.obj &
 	$(OBJS)\coredll_ctrlrend.obj &
@@ -1781,6 +1780,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS =  &
 	$(OBJS)\coredll_scrarrow.obj &
 	$(OBJS)\coredll_scrolbar.obj &
 	$(OBJS)\coredll_scrthumb.obj &
+	$(OBJS)\coredll_settingsuniv.obj &
 	$(OBJS)\coredll_slider.obj &
 	$(OBJS)\coredll_spinbutt.obj &
 	$(OBJS)\coredll_statbmp.obj &
@@ -2241,7 +2241,6 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_checkbox.obj &
 	$(OBJS)\corelib_checklst.obj &
 	$(OBJS)\corelib_choice.obj &
-	$(OBJS)\corelib_colschem.obj &
 	$(OBJS)\corelib_combobox.obj &
 	$(OBJS)\corelib_control.obj &
 	$(OBJS)\corelib_ctrlrend.obj &
@@ -2258,6 +2257,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS =  &
 	$(OBJS)\corelib_scrarrow.obj &
 	$(OBJS)\corelib_scrolbar.obj &
 	$(OBJS)\corelib_scrthumb.obj &
+	$(OBJS)\corelib_settingsuniv.obj &
 	$(OBJS)\corelib_slider.obj &
 	$(OBJS)\corelib_spinbutt.obj &
 	$(OBJS)\corelib_statbmp.obj &
@@ -6006,9 +6006,6 @@ $(OBJS)\monodll_msgdlgg.obj :  .AUTODEPEND ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monodll_tabg.obj :  .AUTODEPEND ..\..\src\generic\tabg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
-$(OBJS)\monodll_colschem.obj :  .AUTODEPEND ..\..\src\univ\colschem.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
-
 $(OBJS)\monodll_ctrlrend.obj :  .AUTODEPEND ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
@@ -6027,6 +6024,9 @@ $(OBJS)\monodll_scrarrow.obj :  .AUTODEPEND ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monodll_scrthumb.obj :  .AUTODEPEND ..\..\src\univ\scrthumb.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
+$(OBJS)\monodll_settingsuniv.obj :  .AUTODEPEND ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+
 $(OBJS)\monodll_stdrend.obj :  .AUTODEPEND ..\..\src\univ\stdrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
 
@@ -8257,9 +8257,6 @@ $(OBJS)\monolib_msgdlgg.obj :  .AUTODEPEND ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\monolib_tabg.obj :  .AUTODEPEND ..\..\src\generic\tabg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
-$(OBJS)\monolib_colschem.obj :  .AUTODEPEND ..\..\src\univ\colschem.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
-
 $(OBJS)\monolib_ctrlrend.obj :  .AUTODEPEND ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
@@ -8278,6 +8275,9 @@ $(OBJS)\monolib_scrarrow.obj :  .AUTODEPEND ..\..\src\univ\scrarrow.cpp
 $(OBJS)\monolib_scrthumb.obj :  .AUTODEPEND ..\..\src\univ\scrthumb.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
+$(OBJS)\monolib_settingsuniv.obj :  .AUTODEPEND ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+
 $(OBJS)\monolib_stdrend.obj :  .AUTODEPEND ..\..\src\univ\stdrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
 
@@ -10892,9 +10892,6 @@ $(OBJS)\coredll_msgdlgg.obj :  .AUTODEPEND ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\coredll_tabg.obj :  .AUTODEPEND ..\..\src\generic\tabg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
-$(OBJS)\coredll_colschem.obj :  .AUTODEPEND ..\..\src\univ\colschem.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
-
 $(OBJS)\coredll_ctrlrend.obj :  .AUTODEPEND ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
@@ -10913,6 +10910,9 @@ $(OBJS)\coredll_scrarrow.obj :  .AUTODEPEND ..\..\src\univ\scrarrow.cpp
 $(OBJS)\coredll_scrthumb.obj :  .AUTODEPEND ..\..\src\univ\scrthumb.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
+$(OBJS)\coredll_settingsuniv.obj :  .AUTODEPEND ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+
 $(OBJS)\coredll_stdrend.obj :  .AUTODEPEND ..\..\src\univ\stdrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
 
@@ -12335,9 +12335,6 @@ $(OBJS)\corelib_msgdlgg.obj :  .AUTODEPEND ..\..\src\generic\msgdlgg.cpp
 $(OBJS)\corelib_tabg.obj :  .AUTODEPEND ..\..\src\generic\tabg.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
-$(OBJS)\corelib_colschem.obj :  .AUTODEPEND ..\..\src\univ\colschem.cpp
-	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
-
 $(OBJS)\corelib_ctrlrend.obj :  .AUTODEPEND ..\..\src\univ\ctrlrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
@@ -12356,6 +12353,9 @@ $(OBJS)\corelib_scrarrow.obj :  .AUTODEPEND ..\..\src\univ\scrarrow.cpp
 $(OBJS)\corelib_scrthumb.obj :  .AUTODEPEND ..\..\src\univ\scrthumb.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
+$(OBJS)\corelib_settingsuniv.obj :  .AUTODEPEND ..\..\src\univ\settingsuniv.cpp
+	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+
 $(OBJS)\corelib_stdrend.obj :  .AUTODEPEND ..\..\src\univ\stdrend.cpp
 	$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
 
diff --git a/build/msw/wx_core.dsp b/build/msw/wx_core.dsp
index ab12076d97..6bd40f472b 100644
--- a/build/msw/wx_core.dsp
+++ b/build/msw/wx_core.dsp
@@ -3285,7 +3285,7 @@ SOURCE=..\..\src\univ\choice.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\colschem.cpp
+SOURCE=..\..\src\univ\combobox.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3320,7 +3320,7 @@ SOURCE=..\..\src\univ\colschem.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\combobox.cpp
+SOURCE=..\..\src\univ\control.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3355,7 +3355,7 @@ SOURCE=..\..\src\univ\combobox.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\control.cpp
+SOURCE=..\..\src\univ\ctrlrend.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3390,7 +3390,7 @@ SOURCE=..\..\src\univ\control.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\ctrlrend.cpp
+SOURCE=..\..\src\univ\dialog.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3425,7 +3425,7 @@ SOURCE=..\..\src\univ\ctrlrend.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\dialog.cpp
+SOURCE=..\..\src\univ\framuniv.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3460,7 +3460,7 @@ SOURCE=..\..\src\univ\dialog.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\framuniv.cpp
+SOURCE=..\..\src\univ\gauge.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3495,7 +3495,7 @@ SOURCE=..\..\src\univ\framuniv.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\gauge.cpp
+SOURCE=..\..\src\univ\themes\gtk.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3530,7 +3530,7 @@ SOURCE=..\..\src\univ\gauge.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\themes\gtk.cpp
+SOURCE=..\..\src\univ\inpcons.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3565,7 +3565,7 @@ SOURCE=..\..\src\univ\themes\gtk.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\inpcons.cpp
+SOURCE=..\..\src\univ\inphand.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3600,7 +3600,7 @@ SOURCE=..\..\src\univ\inpcons.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\inphand.cpp
+SOURCE=..\..\src\univ\listbox.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3635,7 +3635,7 @@ SOURCE=..\..\src\univ\inphand.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\listbox.cpp
+SOURCE=..\..\src\univ\menu.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3670,7 +3670,7 @@ SOURCE=..\..\src\univ\listbox.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\menu.cpp
+SOURCE=..\..\src\univ\themes\metal.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3705,7 +3705,7 @@ SOURCE=..\..\src\univ\menu.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\themes\metal.cpp
+SOURCE=..\..\src\univ\themes\mono.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3740,7 +3740,7 @@ SOURCE=..\..\src\univ\themes\metal.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\themes\mono.cpp
+SOURCE=..\..\src\univ\notebook.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3775,7 +3775,7 @@ SOURCE=..\..\src\univ\themes\mono.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\notebook.cpp
+SOURCE=..\..\src\univ\radiobox.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3810,7 +3810,7 @@ SOURCE=..\..\src\univ\notebook.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\radiobox.cpp
+SOURCE=..\..\src\univ\radiobut.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3845,7 +3845,7 @@ SOURCE=..\..\src\univ\radiobox.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\radiobut.cpp
+SOURCE=..\..\src\univ\scrarrow.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3880,7 +3880,7 @@ SOURCE=..\..\src\univ\radiobut.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\scrarrow.cpp
+SOURCE=..\..\src\univ\scrolbar.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3915,7 +3915,7 @@ SOURCE=..\..\src\univ\scrarrow.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\scrolbar.cpp
+SOURCE=..\..\src\univ\scrthumb.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
@@ -3950,7 +3950,7 @@ SOURCE=..\..\src\univ\scrolbar.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\src\univ\scrthumb.cpp
+SOURCE=..\..\src\univ\settingsuniv.cpp
 
 !IF  "$(CFG)" == "core - Win32 DLL Universal Release"
 
diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj
index a1b4766e7a..1f9e530e44 100644
--- a/build/msw/wx_vc7_core.vcproj
+++ b/build/msw/wx_vc7_core.vcproj
@@ -1996,21 +1996,6 @@
 					Name="Debug|Win32"
 					ExcludedFromBuild="true"/>
 			</File>
-			<File
-				RelativePath="..\..\src\univ\colschem.cpp">
-				<FileConfiguration
-					Name="DLL Release|Win32"
-					ExcludedFromBuild="true"/>
-				<FileConfiguration
-					Name="DLL Debug|Win32"
-					ExcludedFromBuild="true"/>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"/>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"/>
-			</File>
 			<File
 				RelativePath="..\..\src\univ\combobox.cpp">
 				<FileConfiguration
@@ -2296,6 +2281,21 @@
 					Name="Debug|Win32"
 					ExcludedFromBuild="true"/>
 			</File>
+			<File
+				RelativePath="..\..\src\univ\settingsuniv.cpp">
+				<FileConfiguration
+					Name="DLL Release|Win32"
+					ExcludedFromBuild="true"/>
+				<FileConfiguration
+					Name="DLL Debug|Win32"
+					ExcludedFromBuild="true"/>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"/>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"/>
+			</File>
 			<File
 				RelativePath="..\..\src\univ\slider.cpp">
 				<FileConfiguration
diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj
index f4a41d9128..13612de558 100644
--- a/build/msw/wx_vc8_core.vcproj
+++ b/build/msw/wx_vc8_core.vcproj
@@ -2666,26 +2666,6 @@
 					ExcludedFromBuild="true"
 				/>
 			</File>
-			<File
-				RelativePath="..\..\src\univ\colschem.cpp"
-				>
-				<FileConfiguration
-					Name="DLL Release|Win32"
-					ExcludedFromBuild="true"
-				/>
-				<FileConfiguration
-					Name="DLL Debug|Win32"
-					ExcludedFromBuild="true"
-				/>
-				<FileConfiguration
-					Name="Release|Win32"
-					ExcludedFromBuild="true"
-				/>
-				<FileConfiguration
-					Name="Debug|Win32"
-					ExcludedFromBuild="true"
-				/>
-			</File>
 			<File
 				RelativePath="..\..\src\univ\combobox.cpp"
 				>
@@ -3066,6 +3046,26 @@
 					ExcludedFromBuild="true"
 				/>
 			</File>
+			<File
+				RelativePath="..\..\src\univ\settingsuniv.cpp"
+				>
+				<FileConfiguration
+					Name="DLL Release|Win32"
+					ExcludedFromBuild="true"
+				/>
+				<FileConfiguration
+					Name="DLL Debug|Win32"
+					ExcludedFromBuild="true"
+				/>
+				<FileConfiguration
+					Name="Release|Win32"
+					ExcludedFromBuild="true"
+				/>
+				<FileConfiguration
+					Name="Debug|Win32"
+					ExcludedFromBuild="true"
+				/>
+			</File>
 			<File
 				RelativePath="..\..\src\univ\slider.cpp"
 				>
diff --git a/include/wx/settings.h b/include/wx/settings.h
index 4ec32c1b03..76500b4eb8 100644
--- a/include/wx/settings.h
+++ b/include/wx/settings.h
@@ -187,6 +187,10 @@ public:
     // system ones, otherwise wxSystemSettings is just the same as
     // wxSystemSettingsNative
     static wxColour GetColour(wxSystemColour index);
+
+    // some metrics are toolkit-dependent and provided by wxUniv, some are
+    // lowlevel
+    static int GetMetric(wxSystemMetric index, wxWindow *win = NULL);
 #endif // __WXUNIVERSAL__
 
     // Get system screen design (desktop, pda, ..) used for
diff --git a/include/wx/univ/colschem.h b/include/wx/univ/colschem.h
index ff4b728aac..f6a4ae30d0 100644
--- a/include/wx/univ/colschem.h
+++ b/include/wx/univ/colschem.h
@@ -81,7 +81,7 @@ public:
     virtual wxColour GetBackground(wxWindow *win) const = 0;
 
     // virtual dtor for any base class
-    virtual ~wxColourScheme();
+    virtual ~wxColourScheme() {}
 };
 
 // some people just can't spell it correctly :-)
diff --git a/src/dfb/settings.cpp b/src/dfb/settings.cpp
index 2e1fe2058f..a30af695a9 100644
--- a/src/dfb/settings.cpp
+++ b/src/dfb/settings.cpp
@@ -77,13 +77,6 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index,
             wxDisplaySize(NULL, &val);
             return val;
 
-#warning "FIXME this"
-#if 0
-        case wxSYS_VSCROLL_X:
-        case wxSYS_HSCROLL_Y:
-            return 15;
-#endif
-
         default:
             wxFAIL_MSG( "unsupported metric" );
             return -1;
diff --git a/src/mgl/settings.cpp b/src/mgl/settings.cpp
index 93224a6c29..9b2d8621b4 100644
--- a/src/mgl/settings.cpp
+++ b/src/mgl/settings.cpp
@@ -91,9 +91,6 @@ int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(w
         case wxSYS_SCREEN_Y:
             wxDisplaySize(NULL, &val);
             return val;
-        case wxSYS_VSCROLL_X:
-        case wxSYS_HSCROLL_Y:
-            return 15;
         default:
         {
         }
diff --git a/src/univ/colschem.cpp b/src/univ/settingsuniv.cpp
similarity index 87%
rename from src/univ/colschem.cpp
rename to src/univ/settingsuniv.cpp
index 1408cd8377..24a352a736 100644
--- a/src/univ/colschem.cpp
+++ b/src/univ/settingsuniv.cpp
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
-// Name:        src/univ/colschem.cpp
-// Purpose:     (trivial) wxColourScheme implementation
+// Name:        src/univ/settingsuniv.cpp
+// Purpose:     wxSystemSettings wxUniv-specific parts
 // Author:      Vadim Zeitlin
 // Modified by:
 // Created:     20.08.00
@@ -31,19 +31,12 @@
 
 #include "wx/univ/colschem.h"
 #include "wx/univ/theme.h"
+#include "wx/univ/renderer.h"
 
 // ============================================================================
 // implementation
 // ============================================================================
 
-// ----------------------------------------------------------------------------
-// wxColourScheme
-// ----------------------------------------------------------------------------
-
-wxColourScheme::~wxColourScheme()
-{
-}
-
 // ----------------------------------------------------------------------------
 // wxSystemSettings
 // ----------------------------------------------------------------------------
@@ -93,3 +86,17 @@ wxColour wxSystemSettings::GetColour(wxSystemColour index)
 
     return wxTheme::Get()->GetColourScheme()->Get(col);
 }
+
+int wxSystemSettings::GetMetric(wxSystemMetric index, wxWindow *win)
+{
+    switch ( index )
+    {
+        case wxSYS_VSCROLL_X:
+            return wxTheme::Get()->GetRenderer()->GetScrollbarArrowSize().x;
+        case wxSYS_HSCROLL_Y:
+            return wxTheme::Get()->GetRenderer()->GetScrollbarArrowSize().y;
+
+        default:
+            return wxSystemSettingsNative::GetMetric(index, win);
+    }
+}
-- 
2.47.2