diff --git a/Makefile.in b/Makefile.in index eac11c8bd2..347fbe8970 100644 --- a/Makefile.in +++ b/Makefile.in @@ -3195,6 +3195,7 @@ COND_TOOLKIT_MSW_GUI_HDR = \ wx/msw/accel.h \ wx/msw/anybutton.h \ wx/msw/app.h \ + wx/msw/appprogress.h \ wx/msw/bitmap.h \ wx/msw/bmpbuttn.h \ wx/msw/brush.h \ @@ -3639,6 +3640,7 @@ COND_TOOLKIT_WINCE_GUI_HDR = \ wx/msw/accel.h \ wx/msw/anybutton.h \ wx/msw/app.h \ + wx/msw/appprogress.h \ wx/msw/bitmap.h \ wx/msw/bmpbuttn.h \ wx/msw/brush.h \ @@ -3893,6 +3895,7 @@ COND_WXUNIV_0_ADVANCED_HDR = \ wx/tipdlg.h \ wx/treelist.h \ wx/wizard.h \ + wx/addremovectrl.h \ $(ADVANCED_PLATFORM_HDR) \ $(ADVANCED_PLATFORM_NATIVE_HDR) @COND_WXUNIV_0@ADVANCED_HDR = $(COND_WXUNIV_0_ADVANCED_HDR) @@ -3946,6 +3949,7 @@ COND_WXUNIV_1_ADVANCED_HDR = \ wx/tipdlg.h \ wx/treelist.h \ wx/wizard.h \ + wx/addremovectrl.h \ $(ADVANCED_PLATFORM_HDR) \ wx/generic/animate.h @COND_WXUNIV_1@ADVANCED_HDR = $(COND_WXUNIV_1_ADVANCED_HDR) @@ -5828,8 +5832,8 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS = \ monodll_prntdlgg.o \ monodll_msw_accel.o \ monodll_msw_anybutton.o \ - monodll_artmsw.o \ monodll_appprogress.o \ + monodll_artmsw.o \ monodll_msw_bmpbuttn.o \ monodll_msw_button.o \ monodll_msw_checkbox.o \ @@ -5986,8 +5990,8 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS = \ monodll_prntdlgg.o \ monodll_msw_accel.o \ monodll_msw_anybutton.o \ - monodll_artmsw.o \ monodll_appprogress.o \ + monodll_artmsw.o \ monodll_msw_bmpbuttn.o \ monodll_msw_button.o \ monodll_msw_checkbox.o \ @@ -6495,6 +6499,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS = \ monodll_tipdlg.o \ monodll_treelist.o \ monodll_wizard.o \ + monodll_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS) \ $(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS) @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS) @@ -6532,6 +6537,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS = \ monodll_tipdlg.o \ monodll_treelist.o \ monodll_wizard.o \ + monodll_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_1) \ $(__ADVANCED_UNIV_SRC_OBJECTS) @COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS) @@ -8185,8 +8191,8 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_1 = \ monolib_prntdlgg.o \ monolib_msw_accel.o \ monolib_msw_anybutton.o \ - monolib_artmsw.o \ monolib_appprogress.o \ + monolib_artmsw.o \ monolib_msw_bmpbuttn.o \ monolib_msw_button.o \ monolib_msw_checkbox.o \ @@ -8343,8 +8349,8 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_1 = \ monolib_prntdlgg.o \ monolib_msw_accel.o \ monolib_msw_anybutton.o \ - monolib_artmsw.o \ monolib_appprogress.o \ + monolib_artmsw.o \ monolib_msw_bmpbuttn.o \ monolib_msw_button.o \ monolib_msw_checkbox.o \ @@ -8852,6 +8858,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1 = \ monolib_tipdlg.o \ monolib_treelist.o \ monolib_wizard.o \ + monolib_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_2) \ $(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1) @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1) @@ -8889,6 +8896,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1 = \ monolib_tipdlg.o \ monolib_treelist.o \ monolib_wizard.o \ + monolib_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_3) \ $(__ADVANCED_UNIV_SRC_OBJECTS_1) @COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1) @@ -10699,8 +10707,8 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_2 = \ coredll_prntdlgg.o \ coredll_msw_accel.o \ coredll_msw_anybutton.o \ - coredll_artmsw.o \ coredll_appprogress.o \ + coredll_artmsw.o \ coredll_msw_bmpbuttn.o \ coredll_msw_button.o \ coredll_msw_checkbox.o \ @@ -10857,8 +10865,8 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_2 = \ coredll_prntdlgg.o \ coredll_msw_accel.o \ coredll_msw_anybutton.o \ - coredll_artmsw.o \ coredll_appprogress.o \ + coredll_artmsw.o \ coredll_msw_bmpbuttn.o \ coredll_msw_button.o \ coredll_msw_checkbox.o \ @@ -12477,8 +12485,8 @@ COND_TOOLKIT_MSW___GUI_SRC_OBJECTS_3 = \ corelib_prntdlgg.o \ corelib_msw_accel.o \ corelib_msw_anybutton.o \ - corelib_artmsw.o \ corelib_appprogress.o \ + corelib_artmsw.o \ corelib_msw_bmpbuttn.o \ corelib_msw_button.o \ corelib_msw_checkbox.o \ @@ -12635,8 +12643,8 @@ COND_TOOLKIT_WINCE___GUI_SRC_OBJECTS_3 = \ corelib_prntdlgg.o \ corelib_msw_accel.o \ corelib_msw_anybutton.o \ - corelib_artmsw.o \ corelib_appprogress.o \ + corelib_artmsw.o \ corelib_msw_bmpbuttn.o \ corelib_msw_button.o \ corelib_msw_checkbox.o \ @@ -13213,6 +13221,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2 = \ advdll_tipdlg.o \ advdll_treelist.o \ advdll_wizard.o \ + advdll_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_4) \ $(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2) @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2) @@ -13250,6 +13259,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2 = \ advdll_tipdlg.o \ advdll_treelist.o \ advdll_wizard.o \ + advdll_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_5) \ $(__ADVANCED_UNIV_SRC_OBJECTS_2) @COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2) @@ -13546,6 +13556,7 @@ COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3 = \ advlib_tipdlg.o \ advlib_treelist.o \ advlib_wizard.o \ + advlib_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_6) \ $(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3) @COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3) @@ -13583,6 +13594,7 @@ COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3 = \ advlib_tipdlg.o \ advlib_treelist.o \ advlib_wizard.o \ + advlib_addremovectrl.o \ $(__ADVANCED_PLATFORM_SRC_OBJECTS_7) \ $(__ADVANCED_UNIV_SRC_OBJECTS_3) @COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3) @@ -21362,18 +21374,18 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_msw_anybutton.o: $(srcdir)/src/msw/anybutton.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/anybutton.cpp -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONODLL_ODEP) -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONODLL_ODEP) -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(MONODLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monodll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONODLL_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monodll_msw_bmpbuttn.o: $(srcdir)/src/msw/bmpbuttn.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/msw/bmpbuttn.cpp @@ -22760,6 +22772,9 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@monodll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(MONODLL_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp +@COND_USE_GUI_1@monodll_addremovectrl.o: $(srcdir)/src/common/addremovectrl.cpp $(MONODLL_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/addremovectrl.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@monodll_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(MONODLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp @@ -27248,18 +27263,18 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_msw_anybutton.o: $(srcdir)/src/msw/anybutton.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/anybutton.cpp -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONOLIB_ODEP) -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONOLIB_ODEP) -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@monolib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(MONOLIB_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@monolib_msw_bmpbuttn.o: $(srcdir)/src/msw/bmpbuttn.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/msw/bmpbuttn.cpp @@ -28646,6 +28661,9 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@monolib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(MONOLIB_ODEP) @COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp +@COND_USE_GUI_1@monolib_addremovectrl.o: $(srcdir)/src/common/addremovectrl.cpp $(MONOLIB_ODEP) +@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/addremovectrl.cpp + @COND_TOOLKIT_MSW_USE_GUI_1@monolib_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(MONOLIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp @@ -33248,18 +33266,18 @@ coredll_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(COREDLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_msw_anybutton.o: $(srcdir)/src/msw/anybutton.cpp $(COREDLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/anybutton.cpp -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(COREDLL_ODEP) -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(COREDLL_ODEP) -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(COREDLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(COREDLL_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@coredll_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(COREDLL_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@coredll_msw_bmpbuttn.o: $(srcdir)/src/msw/bmpbuttn.cpp $(COREDLL_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/msw/bmpbuttn.cpp @@ -37646,18 +37664,18 @@ corelib_win32.o: $(srcdir)/src/univ/themes/win32.cpp $(CORELIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_msw_anybutton.o: $(srcdir)/src/msw/anybutton.cpp $(CORELIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/anybutton.cpp -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(CORELIB_ODEP) -@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(CORELIB_ODEP) -@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp - @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(CORELIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_appprogress.o: $(srcdir)/src/msw/appprogress.cpp $(CORELIB_ODEP) @COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/appprogress.cpp +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@corelib_artmsw.o: $(srcdir)/src/msw/artmsw.cpp $(CORELIB_ODEP) +@COND_TOOLKIT_WINCE_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/artmsw.cpp + @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@corelib_msw_bmpbuttn.o: $(srcdir)/src/msw/bmpbuttn.cpp $(CORELIB_ODEP) @COND_TOOLKIT_MSW_USE_GUI_1_WXUNIV_0@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/msw/bmpbuttn.cpp @@ -39050,6 +39068,9 @@ advdll_treelist.o: $(srcdir)/src/generic/treelist.cpp $(ADVDLL_ODEP) advdll_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVDLL_ODEP) $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp +advdll_addremovectrl.o: $(srcdir)/src/common/addremovectrl.cpp $(ADVDLL_ODEP) + $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/addremovectrl.cpp + @COND_TOOLKIT_MSW@advdll_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(ADVDLL_ODEP) @COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp @@ -39545,6 +39566,9 @@ advlib_treelist.o: $(srcdir)/src/generic/treelist.cpp $(ADVLIB_ODEP) advlib_wizard.o: $(srcdir)/src/generic/wizard.cpp $(ADVLIB_ODEP) $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/generic/wizard.cpp +advlib_addremovectrl.o: $(srcdir)/src/common/addremovectrl.cpp $(ADVLIB_ODEP) + $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/addremovectrl.cpp + @COND_TOOLKIT_MSW@advlib_taskbarcmn.o: $(srcdir)/src/common/taskbarcmn.cpp $(ADVLIB_ODEP) @COND_TOOLKIT_MSW@ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/common/taskbarcmn.cpp diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 861fb6a39a..0e75dd9cd4 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -2971,6 +2971,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/generic/tipdlg.cpp src/generic/treelist.cpp src/generic/wizard.cpp + src/common/addremovectrl.cpp @@ -3023,6 +3024,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! wx/tipdlg.h wx/treelist.h wx/wizard.h + wx/addremovectrl.h diff --git a/build/files b/build/files index a202dce467..c3606424b8 100644 --- a/build/files +++ b/build/files @@ -2512,6 +2512,7 @@ UNIV_HDR = # wxAdvanced ADVANCED_CMN_SRC = + src/common/addremovectrl.cpp src/common/animatecmn.cpp src/common/bmpcboxcmn.cpp src/common/calctrlcmn.cpp @@ -2548,6 +2549,7 @@ ADVANCED_CMN_SRC = ADVANCED_CMN_HDR = wx/aboutdlg.h + wx/addremovectrl.h wx/animate.h wx/bannerwindow.h wx/bmpcbox.h diff --git a/build/msw/makefile.bcc b/build/msw/makefile.bcc index 2d919b0b49..8f72d78dc5 100644 --- a/build/msw/makefile.bcc +++ b/build/msw/makefile.bcc @@ -1820,8 +1820,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_prntdlgg.obj \ $(OBJS)\monodll_msw_accel.obj \ $(OBJS)\monodll_msw_anybutton.obj \ - $(OBJS)\monodll_artmsw.obj \ $(OBJS)\monodll_appprogress.obj \ + $(OBJS)\monodll_artmsw.obj \ $(OBJS)\monodll_msw_bmpbuttn.obj \ $(OBJS)\monodll_msw_button.obj \ $(OBJS)\monodll_msw_checkbox.obj \ @@ -2351,6 +2351,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.obj \ $(OBJS)\monodll_treelist.obj \ $(OBJS)\monodll_wizard.obj \ + $(OBJS)\monodll_addremovectrl.obj \ $(OBJS)\monodll_taskbarcmn.obj \ $(OBJS)\monodll_aboutdlg.obj \ $(OBJS)\monodll_notifmsg.obj \ @@ -2403,6 +2404,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.obj \ $(OBJS)\monodll_treelist.obj \ $(OBJS)\monodll_wizard.obj \ + $(OBJS)\monodll_addremovectrl.obj \ $(OBJS)\monodll_taskbarcmn.obj \ $(OBJS)\monodll_aboutdlg.obj \ $(OBJS)\monodll_notifmsg.obj \ @@ -2633,8 +2635,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_prntdlgg.obj \ $(OBJS)\monolib_msw_accel.obj \ $(OBJS)\monolib_msw_anybutton.obj \ - $(OBJS)\monolib_artmsw.obj \ $(OBJS)\monolib_appprogress.obj \ + $(OBJS)\monolib_artmsw.obj \ $(OBJS)\monolib_msw_bmpbuttn.obj \ $(OBJS)\monolib_msw_button.obj \ $(OBJS)\monolib_msw_checkbox.obj \ @@ -3164,6 +3166,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.obj \ $(OBJS)\monolib_treelist.obj \ $(OBJS)\monolib_wizard.obj \ + $(OBJS)\monolib_addremovectrl.obj \ $(OBJS)\monolib_taskbarcmn.obj \ $(OBJS)\monolib_aboutdlg.obj \ $(OBJS)\monolib_notifmsg.obj \ @@ -3216,6 +3219,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.obj \ $(OBJS)\monolib_treelist.obj \ $(OBJS)\monolib_wizard.obj \ + $(OBJS)\monolib_addremovectrl.obj \ $(OBJS)\monolib_taskbarcmn.obj \ $(OBJS)\monolib_aboutdlg.obj \ $(OBJS)\monolib_notifmsg.obj \ @@ -3322,8 +3326,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_prntdlgg.obj \ $(OBJS)\coredll_msw_accel.obj \ $(OBJS)\coredll_msw_anybutton.obj \ - $(OBJS)\coredll_artmsw.obj \ $(OBJS)\coredll_appprogress.obj \ + $(OBJS)\coredll_artmsw.obj \ $(OBJS)\coredll_msw_bmpbuttn.obj \ $(OBJS)\coredll_msw_button.obj \ $(OBJS)\coredll_msw_checkbox.obj \ @@ -3887,8 +3891,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_prntdlgg.obj \ $(OBJS)\corelib_msw_accel.obj \ $(OBJS)\corelib_msw_anybutton.obj \ - $(OBJS)\corelib_artmsw.obj \ $(OBJS)\corelib_appprogress.obj \ + $(OBJS)\corelib_artmsw.obj \ $(OBJS)\corelib_msw_bmpbuttn.obj \ $(OBJS)\corelib_msw_button.obj \ $(OBJS)\corelib_msw_checkbox.obj \ @@ -4428,6 +4432,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.obj \ $(OBJS)\advdll_treelist.obj \ $(OBJS)\advdll_wizard.obj \ + $(OBJS)\advdll_addremovectrl.obj \ $(OBJS)\advdll_taskbarcmn.obj \ $(OBJS)\advdll_aboutdlg.obj \ $(OBJS)\advdll_notifmsg.obj \ @@ -4480,6 +4485,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.obj \ $(OBJS)\advdll_treelist.obj \ $(OBJS)\advdll_wizard.obj \ + $(OBJS)\advdll_addremovectrl.obj \ $(OBJS)\advdll_taskbarcmn.obj \ $(OBJS)\advdll_aboutdlg.obj \ $(OBJS)\advdll_notifmsg.obj \ @@ -4528,6 +4534,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.obj \ $(OBJS)\advlib_treelist.obj \ $(OBJS)\advlib_wizard.obj \ + $(OBJS)\advlib_addremovectrl.obj \ $(OBJS)\advlib_taskbarcmn.obj \ $(OBJS)\advlib_aboutdlg.obj \ $(OBJS)\advlib_notifmsg.obj \ @@ -4580,6 +4587,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.obj \ $(OBJS)\advlib_treelist.obj \ $(OBJS)\advlib_wizard.obj \ + $(OBJS)\advlib_addremovectrl.obj \ $(OBJS)\advlib_taskbarcmn.obj \ $(OBJS)\advlib_aboutdlg.obj \ $(OBJS)\advlib_notifmsg.obj \ @@ -5119,7 +5127,7 @@ $(LIBDIRNAME)\wxscintilla$(WXDEBUGFLAG).lib: $(WXSCINTILLA_OBJECTS) !if "$(MONOLITHIC)" == "1" && "$(SHARED)" == "1" $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\monodll_dummy.obj $(MONODLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\monodll_version.res $(__wxscintilla_library_link_DEP) ilink32 -Tpd -q -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @&&| - c0d32.obj $(MONODLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) ole2w32.lib oleacc.lib $(__wxscintilla) import32.lib cw32$(__THREADSFLAG_14)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\monodll_version.res + c0d32.obj $(MONODLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) ole2w32.lib oleacc.lib $(__wxscintilla) import32.lib cw32$(__THREADSFLAG_14)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\monodll_version.res | implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR) $@ !endif @@ -5255,7 +5263,7 @@ wxhtml: $(____wxhtml_namedll_DEP) $(____wxhtml_namelib_DEP) !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_WEBVIEW)" == "1" $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\webviewdll_dummy.obj $(WEBVIEWDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\webviewdll_version.res $(__coredll___depname) $(__basedll___depname) ilink32 -Tpd -q -L$(BCCDIR)\lib -L$(BCCDIR)\lib\psdk $(__DEBUGINFO) -L$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @&&| - c0d32.obj $(WEBVIEWDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_14)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\webviewdll_version.res + c0d32.obj $(WEBVIEWDLL_OBJECTS),$@,, $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) ole2w32.lib oleacc.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib import32.lib cw32$(__THREADSFLAG_14)$(__RUNTIME_LIBS_5).lib,, $(OBJS)\webviewdll_version.res | implib -f $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview $@ !endif @@ -6654,12 +6662,12 @@ $(OBJS)\monodll_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\monodll_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\monodll_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\monodll_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\monodll_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\monodll_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -8712,6 +8720,11 @@ $(OBJS)\monodll_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\wizard.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monodll_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\addremovectrl.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -9139,12 +9152,12 @@ $(OBJS)\monolib_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\monolib_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\monolib_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\monolib_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\monolib_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\monolib_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -11197,6 +11210,11 @@ $(OBJS)\monolib_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\wizard.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monolib_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\addremovectrl.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -12032,12 +12050,12 @@ $(OBJS)\coredll_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\coredll_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\coredll_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\coredll_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\coredll_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\coredll_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -13493,12 +13511,12 @@ $(OBJS)\corelib_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\corelib_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\corelib_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\corelib_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\corelib_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\corelib_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -15053,6 +15071,9 @@ $(OBJS)\advdll_treelist.obj: ..\..\src\generic\treelist.cpp $(OBJS)\advdll_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\wizard.cpp +$(OBJS)\advdll_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\addremovectrl.cpp + $(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -15203,6 +15224,9 @@ $(OBJS)\advlib_treelist.obj: ..\..\src\generic\treelist.cpp $(OBJS)\advlib_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\wizard.cpp +$(OBJS)\advlib_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\addremovectrl.cpp + $(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index c28100ed03..882998e8f0 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1839,8 +1839,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_prntdlgg.o \ $(OBJS)\monodll_msw_accel.o \ $(OBJS)\monodll_msw_anybutton.o \ - $(OBJS)\monodll_artmsw.o \ $(OBJS)\monodll_appprogress.o \ + $(OBJS)\monodll_artmsw.o \ $(OBJS)\monodll_msw_bmpbuttn.o \ $(OBJS)\monodll_msw_button.o \ $(OBJS)\monodll_msw_checkbox.o \ @@ -2373,6 +2373,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.o \ $(OBJS)\monodll_treelist.o \ $(OBJS)\monodll_wizard.o \ + $(OBJS)\monodll_addremovectrl.o \ $(OBJS)\monodll_taskbarcmn.o \ $(OBJS)\monodll_aboutdlg.o \ $(OBJS)\monodll_notifmsg.o \ @@ -2425,6 +2426,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.o \ $(OBJS)\monodll_treelist.o \ $(OBJS)\monodll_wizard.o \ + $(OBJS)\monodll_addremovectrl.o \ $(OBJS)\monodll_taskbarcmn.o \ $(OBJS)\monodll_aboutdlg.o \ $(OBJS)\monodll_notifmsg.o \ @@ -2658,8 +2660,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_prntdlgg.o \ $(OBJS)\monolib_msw_accel.o \ $(OBJS)\monolib_msw_anybutton.o \ - $(OBJS)\monolib_artmsw.o \ $(OBJS)\monolib_appprogress.o \ + $(OBJS)\monolib_artmsw.o \ $(OBJS)\monolib_msw_bmpbuttn.o \ $(OBJS)\monolib_msw_button.o \ $(OBJS)\monolib_msw_checkbox.o \ @@ -3192,6 +3194,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.o \ $(OBJS)\monolib_treelist.o \ $(OBJS)\monolib_wizard.o \ + $(OBJS)\monolib_addremovectrl.o \ $(OBJS)\monolib_taskbarcmn.o \ $(OBJS)\monolib_aboutdlg.o \ $(OBJS)\monolib_notifmsg.o \ @@ -3244,6 +3247,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.o \ $(OBJS)\monolib_treelist.o \ $(OBJS)\monolib_wizard.o \ + $(OBJS)\monolib_addremovectrl.o \ $(OBJS)\monolib_taskbarcmn.o \ $(OBJS)\monolib_aboutdlg.o \ $(OBJS)\monolib_notifmsg.o \ @@ -3363,8 +3367,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_prntdlgg.o \ $(OBJS)\coredll_msw_accel.o \ $(OBJS)\coredll_msw_anybutton.o \ - $(OBJS)\coredll_artmsw.o \ $(OBJS)\coredll_appprogress.o \ + $(OBJS)\coredll_artmsw.o \ $(OBJS)\coredll_msw_bmpbuttn.o \ $(OBJS)\coredll_msw_button.o \ $(OBJS)\coredll_msw_checkbox.o \ @@ -3936,8 +3940,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_prntdlgg.o \ $(OBJS)\corelib_msw_accel.o \ $(OBJS)\corelib_msw_anybutton.o \ - $(OBJS)\corelib_artmsw.o \ $(OBJS)\corelib_appprogress.o \ + $(OBJS)\corelib_artmsw.o \ $(OBJS)\corelib_msw_bmpbuttn.o \ $(OBJS)\corelib_msw_button.o \ $(OBJS)\corelib_msw_checkbox.o \ @@ -4484,6 +4488,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.o \ $(OBJS)\advdll_treelist.o \ $(OBJS)\advdll_wizard.o \ + $(OBJS)\advdll_addremovectrl.o \ $(OBJS)\advdll_taskbarcmn.o \ $(OBJS)\advdll_aboutdlg.o \ $(OBJS)\advdll_notifmsg.o \ @@ -4536,6 +4541,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.o \ $(OBJS)\advdll_treelist.o \ $(OBJS)\advdll_wizard.o \ + $(OBJS)\advdll_addremovectrl.o \ $(OBJS)\advdll_taskbarcmn.o \ $(OBJS)\advdll_aboutdlg.o \ $(OBJS)\advdll_notifmsg.o \ @@ -4588,6 +4594,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.o \ $(OBJS)\advlib_treelist.o \ $(OBJS)\advlib_wizard.o \ + $(OBJS)\advlib_addremovectrl.o \ $(OBJS)\advlib_taskbarcmn.o \ $(OBJS)\advlib_aboutdlg.o \ $(OBJS)\advlib_notifmsg.o \ @@ -4640,6 +4647,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.o \ $(OBJS)\advlib_treelist.o \ $(OBJS)\advlib_wizard.o \ + $(OBJS)\advlib_addremovectrl.o \ $(OBJS)\advlib_taskbarcmn.o \ $(OBJS)\advlib_aboutdlg.o \ $(OBJS)\advlib_notifmsg.o \ @@ -5201,7 +5209,7 @@ endif ifeq ($(MONOLITHIC),1) ifeq ($(SHARED),1) $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG).dll: $(MONODLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\libwxexpat$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxzlib$(WXDEBUGFLAG).a $(LIBDIRNAME)\libwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).a $(OBJS)\monodll_version_rc.o $(__wxscintilla_library_link_DEP) - $(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ $(MONODLL_OBJECTS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--out-implib=$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).a $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet $(__wxscintilla) + $(CXX) $(LINK_DLL_FLAGS) -fPIC -o $@ $(MONODLL_OBJECTS) $(__DEBUGINFO) $(__THREADSFLAG) -L$(LIBDIRNAME) -Wl,--out-implib=$(LIBDIRNAME)\libwx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).a $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) -lwxzlib$(WXDEBUGFLAG) -lwxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG) -lwxexpat$(WXDEBUGFLAG) $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lwininet $(__wxscintilla) endif endif @@ -6829,10 +6837,10 @@ $(OBJS)\monodll_msw_accel.o: ../../src/msw/accel.cpp $(OBJS)\monodll_msw_anybutton.o: ../../src/msw/anybutton.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monodll_artmsw.o: ../../src/msw/artmsw.cpp +$(OBJS)\monodll_appprogress.o: ../../src/msw/appprogress.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monodll_appprogress.o: ../../src/msw/appprogress.cpp +$(OBJS)\monodll_artmsw.o: ../../src/msw/artmsw.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\monodll_msw_bmpbuttn.o: ../../src/msw/bmpbuttn.cpp @@ -8887,6 +8895,11 @@ $(OBJS)\monodll_wizard.o: ../../src/generic/wizard.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< endif +ifeq ($(USE_GUI),1) +$(OBJS)\monodll_addremovectrl.o: ../../src/common/addremovectrl.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +endif + ifeq ($(USE_GUI),1) $(OBJS)\monodll_taskbarcmn.o: ../../src/common/taskbarcmn.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -9314,10 +9327,10 @@ $(OBJS)\monolib_msw_accel.o: ../../src/msw/accel.cpp $(OBJS)\monolib_msw_anybutton.o: ../../src/msw/anybutton.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monolib_artmsw.o: ../../src/msw/artmsw.cpp +$(OBJS)\monolib_appprogress.o: ../../src/msw/appprogress.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\monolib_appprogress.o: ../../src/msw/appprogress.cpp +$(OBJS)\monolib_artmsw.o: ../../src/msw/artmsw.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\monolib_msw_bmpbuttn.o: ../../src/msw/bmpbuttn.cpp @@ -11372,6 +11385,11 @@ $(OBJS)\monolib_wizard.o: ../../src/generic/wizard.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< endif +ifeq ($(USE_GUI),1) +$(OBJS)\monolib_addremovectrl.o: ../../src/common/addremovectrl.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +endif + ifeq ($(USE_GUI),1) $(OBJS)\monolib_taskbarcmn.o: ../../src/common/taskbarcmn.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -12207,10 +12225,10 @@ $(OBJS)\coredll_msw_accel.o: ../../src/msw/accel.cpp $(OBJS)\coredll_msw_anybutton.o: ../../src/msw/anybutton.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\coredll_artmsw.o: ../../src/msw/artmsw.cpp +$(OBJS)\coredll_appprogress.o: ../../src/msw/appprogress.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\coredll_appprogress.o: ../../src/msw/appprogress.cpp +$(OBJS)\coredll_artmsw.o: ../../src/msw/artmsw.cpp $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\coredll_msw_bmpbuttn.o: ../../src/msw/bmpbuttn.cpp @@ -13668,10 +13686,10 @@ $(OBJS)\corelib_msw_accel.o: ../../src/msw/accel.cpp $(OBJS)\corelib_msw_anybutton.o: ../../src/msw/anybutton.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\corelib_artmsw.o: ../../src/msw/artmsw.cpp +$(OBJS)\corelib_appprogress.o: ../../src/msw/appprogress.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< -$(OBJS)\corelib_appprogress.o: ../../src/msw/appprogress.cpp +$(OBJS)\corelib_artmsw.o: ../../src/msw/artmsw.cpp $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $< $(OBJS)\corelib_msw_bmpbuttn.o: ../../src/msw/bmpbuttn.cpp @@ -15228,6 +15246,9 @@ $(OBJS)\advdll_treelist.o: ../../src/generic/treelist.cpp $(OBJS)\advdll_wizard.o: ../../src/generic/wizard.cpp $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\advdll_addremovectrl.o: ../../src/common/addremovectrl.cpp + $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advdll_taskbarcmn.o: ../../src/common/taskbarcmn.cpp $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $< @@ -15378,6 +15399,9 @@ $(OBJS)\advlib_treelist.o: ../../src/generic/treelist.cpp $(OBJS)\advlib_wizard.o: ../../src/generic/wizard.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\advlib_addremovectrl.o: ../../src/common/addremovectrl.cpp + $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\advlib_taskbarcmn.o: ../../src/common/taskbarcmn.cpp $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index 6636eda958..9fc73b9b81 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -2120,8 +2120,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_prntdlgg.obj \ $(OBJS)\monodll_msw_accel.obj \ $(OBJS)\monodll_msw_anybutton.obj \ - $(OBJS)\monodll_artmsw.obj \ $(OBJS)\monodll_appprogress.obj \ + $(OBJS)\monodll_artmsw.obj \ $(OBJS)\monodll_msw_bmpbuttn.obj \ $(OBJS)\monodll_msw_button.obj \ $(OBJS)\monodll_msw_checkbox.obj \ @@ -2651,6 +2651,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.obj \ $(OBJS)\monodll_treelist.obj \ $(OBJS)\monodll_wizard.obj \ + $(OBJS)\monodll_addremovectrl.obj \ $(OBJS)\monodll_taskbarcmn.obj \ $(OBJS)\monodll_aboutdlg.obj \ $(OBJS)\monodll_notifmsg.obj \ @@ -2703,6 +2704,7 @@ ____ADVANCED_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_tipdlg.obj \ $(OBJS)\monodll_treelist.obj \ $(OBJS)\monodll_wizard.obj \ + $(OBJS)\monodll_addremovectrl.obj \ $(OBJS)\monodll_taskbarcmn.obj \ $(OBJS)\monodll_aboutdlg.obj \ $(OBJS)\monodll_notifmsg.obj \ @@ -2939,8 +2941,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_prntdlgg.obj \ $(OBJS)\monolib_msw_accel.obj \ $(OBJS)\monolib_msw_anybutton.obj \ - $(OBJS)\monolib_artmsw.obj \ $(OBJS)\monolib_appprogress.obj \ + $(OBJS)\monolib_artmsw.obj \ $(OBJS)\monolib_msw_bmpbuttn.obj \ $(OBJS)\monolib_msw_button.obj \ $(OBJS)\monolib_msw_checkbox.obj \ @@ -3470,6 +3472,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.obj \ $(OBJS)\monolib_treelist.obj \ $(OBJS)\monolib_wizard.obj \ + $(OBJS)\monolib_addremovectrl.obj \ $(OBJS)\monolib_taskbarcmn.obj \ $(OBJS)\monolib_aboutdlg.obj \ $(OBJS)\monolib_notifmsg.obj \ @@ -3522,6 +3525,7 @@ ____ADVANCED_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_tipdlg.obj \ $(OBJS)\monolib_treelist.obj \ $(OBJS)\monolib_wizard.obj \ + $(OBJS)\monolib_addremovectrl.obj \ $(OBJS)\monolib_taskbarcmn.obj \ $(OBJS)\monolib_aboutdlg.obj \ $(OBJS)\monolib_notifmsg.obj \ @@ -3694,8 +3698,8 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\coredll_prntdlgg.obj \ $(OBJS)\coredll_msw_accel.obj \ $(OBJS)\coredll_msw_anybutton.obj \ - $(OBJS)\coredll_artmsw.obj \ $(OBJS)\coredll_appprogress.obj \ + $(OBJS)\coredll_artmsw.obj \ $(OBJS)\coredll_msw_bmpbuttn.obj \ $(OBJS)\coredll_msw_button.obj \ $(OBJS)\coredll_msw_checkbox.obj \ @@ -4265,8 +4269,8 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\corelib_prntdlgg.obj \ $(OBJS)\corelib_msw_accel.obj \ $(OBJS)\corelib_msw_anybutton.obj \ - $(OBJS)\corelib_artmsw.obj \ $(OBJS)\corelib_appprogress.obj \ + $(OBJS)\corelib_artmsw.obj \ $(OBJS)\corelib_msw_bmpbuttn.obj \ $(OBJS)\corelib_msw_button.obj \ $(OBJS)\corelib_msw_checkbox.obj \ @@ -4824,6 +4828,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.obj \ $(OBJS)\advdll_treelist.obj \ $(OBJS)\advdll_wizard.obj \ + $(OBJS)\advdll_addremovectrl.obj \ $(OBJS)\advdll_taskbarcmn.obj \ $(OBJS)\advdll_aboutdlg.obj \ $(OBJS)\advdll_notifmsg.obj \ @@ -4876,6 +4881,7 @@ ____ADVANCED_SRC_FILENAMES_2_OBJECTS = \ $(OBJS)\advdll_tipdlg.obj \ $(OBJS)\advdll_treelist.obj \ $(OBJS)\advdll_wizard.obj \ + $(OBJS)\advdll_addremovectrl.obj \ $(OBJS)\advdll_taskbarcmn.obj \ $(OBJS)\advdll_aboutdlg.obj \ $(OBJS)\advdll_notifmsg.obj \ @@ -4930,6 +4936,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.obj \ $(OBJS)\advlib_treelist.obj \ $(OBJS)\advlib_wizard.obj \ + $(OBJS)\advlib_addremovectrl.obj \ $(OBJS)\advlib_taskbarcmn.obj \ $(OBJS)\advlib_aboutdlg.obj \ $(OBJS)\advlib_notifmsg.obj \ @@ -4982,6 +4989,7 @@ ____ADVANCED_SRC_FILENAMES_3_OBJECTS = \ $(OBJS)\advlib_tipdlg.obj \ $(OBJS)\advlib_treelist.obj \ $(OBJS)\advlib_wizard.obj \ + $(OBJS)\advlib_addremovectrl.obj \ $(OBJS)\advlib_taskbarcmn.obj \ $(OBJS)\advlib_aboutdlg.obj \ $(OBJS)\advlib_notifmsg.obj \ @@ -5829,7 +5837,7 @@ $(LIBDIRNAME)\wxscintilla$(WXDEBUGFLAG).lib: $(WXSCINTILLA_OBJECTS) !if "$(MONOLITHIC)" == "1" && "$(SHARED)" == "1" $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\monodll_dummy.obj $(MONODLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\monodll_version.res $(__wxscintilla_library_link_DEP) link /DLL /NOLOGO /OUT:$@ $(__DEBUGINFO_6) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)$(WXCOMPILER)$(VENDORTAG).pdb" $(__DEBUGINFO_108) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<< - $(MONODLL_OBJECTS) $(MONODLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(__wxscintilla) /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib + $(MONODLL_OBJECTS) $(MONODLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(__wxscintilla) /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib << !endif @@ -5958,7 +5966,7 @@ wxhtml: $(____wxhtml_namedll_DEP) $(____wxhtml_namelib_DEP) !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" && "$(USE_GUI)" == "1" && "$(USE_WEBVIEW)" == "1" $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview$(WXCOMPILER)$(VENDORTAG).dll: $(OBJS)\webviewdll_dummy.obj $(WEBVIEWDLL_OBJECTS) $(__wxtiff___depname) $(__wxjpeg___depname) $(__wxpng___depname) $(__wxscintilla) $(LIBDIRNAME)\wxexpat$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxzlib$(WXDEBUGFLAG).lib $(LIBDIRNAME)\wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib $(OBJS)\webviewdll_version.res $(__coredll___depname) $(__basedll___depname) link /DLL /NOLOGO /OUT:$@ $(__DEBUGINFO_6) /pdb:"$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_VERSION_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview$(WXCOMPILER)$(VENDORTAG).pdb" $(__DEBUGINFO_325) $(LINK_TARGET_CPU) /LIBPATH:$(LIBDIRNAME) $(____CAIRO_LIBDIR_FILENAMES) $(LDFLAGS) @<< - $(WEBVIEWDLL_OBJECTS) $(WEBVIEWDLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview.lib + $(WEBVIEWDLL_OBJECTS) $(WEBVIEWDLL_RESOURCES) $(__LIB_TIFF_p) $(__LIB_JPEG_p) $(__LIB_PNG_p) wxzlib$(WXDEBUGFLAG).lib wxregex$(WXUNICODEFLAG)$(WXDEBUGFLAG).lib wxexpat$(WXDEBUGFLAG).lib $(EXTRALIBS_FOR_BASE) $(__CAIRO_LIB_p) kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib wininet.lib $(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_core.lib $(LIBDIRNAME)\wxbase$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR).lib /IMPLIB:$(LIBDIRNAME)\wx$(PORTNAME)$(WXUNIVNAME)$(WX_RELEASE_NODOT)$(WXUNICODEFLAG)$(WXDEBUGFLAG)$(WX_LIB_FLAVOUR)_webview.lib << !endif @@ -7346,12 +7354,12 @@ $(OBJS)\monodll_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\monodll_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\monodll_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\monodll_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\monodll_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\monodll_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -9404,6 +9412,11 @@ $(OBJS)\monodll_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\wizard.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monodll_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\addremovectrl.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -9831,12 +9844,12 @@ $(OBJS)\monolib_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\monolib_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\monolib_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\monolib_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\monolib_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\monolib_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -11889,6 +11902,11 @@ $(OBJS)\monolib_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\wizard.cpp !endif +!if "$(USE_GUI)" == "1" +$(OBJS)\monolib_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\addremovectrl.cpp +!endif + !if "$(USE_GUI)" == "1" $(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -12724,12 +12742,12 @@ $(OBJS)\coredll_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\coredll_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\coredll_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\coredll_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\coredll_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\coredll_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -14185,12 +14203,12 @@ $(OBJS)\corelib_msw_accel.obj: ..\..\src\msw\accel.cpp $(OBJS)\corelib_msw_anybutton.obj: ..\..\src\msw\anybutton.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\anybutton.cpp -$(OBJS)\corelib_artmsw.obj: ..\..\src\msw\artmsw.cpp - $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp - $(OBJS)\corelib_appprogress.obj: ..\..\src\msw\appprogress.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\appprogress.cpp +$(OBJS)\corelib_artmsw.obj: ..\..\src\msw\artmsw.cpp + $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\artmsw.cpp + $(OBJS)\corelib_msw_bmpbuttn.obj: ..\..\src\msw\bmpbuttn.cpp $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\bmpbuttn.cpp @@ -15745,6 +15763,9 @@ $(OBJS)\advdll_treelist.obj: ..\..\src\generic\treelist.cpp $(OBJS)\advdll_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\generic\wizard.cpp +$(OBJS)\advdll_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\addremovectrl.cpp + $(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp @@ -15895,6 +15916,9 @@ $(OBJS)\advlib_treelist.obj: ..\..\src\generic\treelist.cpp $(OBJS)\advlib_wizard.obj: ..\..\src\generic\wizard.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\generic\wizard.cpp +$(OBJS)\advlib_addremovectrl.obj: ..\..\src\common\addremovectrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\addremovectrl.cpp + $(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) ..\..\src\common\taskbarcmn.cpp diff --git a/build/msw/wx_adv.vcxproj b/build/msw/wx_adv.vcxproj index 8de56f1984..e414f25c62 100644 --- a/build/msw/wx_adv.vcxproj +++ b/build/msw/wx_adv.vcxproj @@ -505,6 +505,7 @@ + @@ -596,6 +597,7 @@ + diff --git a/build/msw/wx_adv.vcxproj.filters b/build/msw/wx_adv.vcxproj.filters index c683aa4e44..e33e153eb4 100644 --- a/build/msw/wx_adv.vcxproj.filters +++ b/build/msw/wx_adv.vcxproj.filters @@ -24,6 +24,9 @@ + + Common Sources + Common Sources @@ -54,48 +57,6 @@ Common Sources - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - - - MSW Sources - Generic Sources @@ -174,6 +135,48 @@ Generic Sources + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + + + MSW Sources + @@ -181,38 +184,47 @@ - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers - - MSW Headers + + Common Headers + + + Common Headers + + + Common Headers + + + Common Headers Generic Headers @@ -277,45 +289,6 @@ Generic Headers - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - - - Common Headers - Common Headers @@ -328,6 +301,39 @@ Common Headers + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + + + MSW Headers + Common Headers diff --git a/build/msw/wx_vc7_adv.vcproj b/build/msw/wx_vc7_adv.vcproj index 9eeecb0e7e..7b34b6726c 100644 --- a/build/msw/wx_vc7_adv.vcproj +++ b/build/msw/wx_vc7_adv.vcproj @@ -330,6 +330,9 @@ + + + + diff --git a/build/msw/wx_vc7_core.vcproj b/build/msw/wx_vc7_core.vcproj index f4ffcfa0a0..50b30e08cc 100644 --- a/build/msw/wx_vc7_core.vcproj +++ b/build/msw/wx_vc7_core.vcproj @@ -2924,6 +2924,9 @@ + + + + + + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index add7df3201..695142daf6 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -4400,6 +4400,10 @@ RelativePath="..\..\include\wx\xpmhand.h" > + + + + + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index f9e7f98215..f205524a4d 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -4396,6 +4396,10 @@ RelativePath="..\..\include\wx\xpmhand.h" > + + &6; } + enablestring= + defaultval=$wxUSE_ALL_FEATURES + if test -z "$defaultval"; then + if test x"$enablestring" = xdisable; then + defaultval=yes + else + defaultval=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --${enablestring:-enable}-addremovectrl" >&5 +$as_echo_n "checking for --${enablestring:-enable}-addremovectrl... " >&6; } + # Check whether --enable-addremovectrl was given. +if test "${enable_addremovectrl+set}" = set; then : + enableval=$enable_addremovectrl; + if test "$enableval" = yes; then + wx_cv_use_addremovectrl='wxUSE_ADDREMOVECTRL=yes' + else + wx_cv_use_addremovectrl='wxUSE_ADDREMOVECTRL=no' + fi + +else + + wx_cv_use_addremovectrl='wxUSE_ADDREMOVECTRL=${'DEFAULT_wxUSE_ADDREMOVECTRL":-$defaultval}" + +fi + + + eval "$wx_cv_use_addremovectrl" + + if test x"$enablestring" = xdisable; then + if test $wxUSE_ADDREMOVECTRL = no; then + result=yes + else + result=no + fi + else + result=$wxUSE_ADDREMOVECTRL + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $result" >&5 +$as_echo "$result" >&6; } + + enablestring= defaultval=$wxUSE_ALL_FEATURES if test -z "$defaultval"; then @@ -35704,6 +35750,11 @@ if test "$wxUSE_ACCEL" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_ADDREMOVECTRL" = "yes"; then + $as_echo "#define wxUSE_ADDREMOVECTRL 1" >>confdefs.h + +fi + if test "$wxUSE_ANIMATIONCTRL" = "yes"; then $as_echo "#define wxUSE_ANIMATIONCTRL 1" >>confdefs.h diff --git a/configure.in b/configure.in index 39e944d93f..5be016ab7a 100644 --- a/configure.in +++ b/configure.in @@ -885,6 +885,7 @@ WX_ARG_FEATURE(markup, [ --enable-markup support wxControl::SetLab dnl please keep the settings below in alphabetical order WX_ARG_FEATURE(accel, [ --enable-accel use accelerators], wxUSE_ACCEL) +WX_ARG_FEATURE(addremovectrl, [ --enable-addremovectrl use wxAddRemoveCtrl], wxUSE_ADDREMOVECTRL) WX_ARG_FEATURE(animatectrl, [ --enable-animatectrl use wxAnimationCtrl class], wxUSE_ANIMATIONCTRL) WX_ARG_FEATURE(bannerwindow,[ --enable-bannerwindow use wxBannerWindow class], wxUSE_BANNERWINDOW) WX_ARG_FEATURE(artstd, [ --enable-artstd use standard XPM icons in wxArtProvider], wxUSE_ARTPROVIDER_STD) @@ -6426,6 +6427,10 @@ if test "$wxUSE_ACCEL" = "yes"; then USES_CONTROLS=1 fi +if test "$wxUSE_ADDREMOVECTRL" = "yes"; then + AC_DEFINE(wxUSE_ADDREMOVECTRL) +fi + if test "$wxUSE_ANIMATIONCTRL" = "yes"; then AC_DEFINE(wxUSE_ANIMATIONCTRL) USES_CONTROLS=1 diff --git a/docs/changes.txt b/docs/changes.txt index e5a20fcd1a..944fa2107e 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -66,6 +66,7 @@ All (GUI): - Allow requesting modern (3.x+) OpenGL version in wxGLCanvas (Fabio Arnold). - Allow customizing window shown by wxBusyInfo. +- Add wxAddRemoveCtrl. - Add wxEVT_MAGNIFY mouse event (Joost Nieuwenhuijse). - Make results of wxDC::DrawEllipticArc() consistent across all platforms. - XRC handler for wxAuiToolBar added (Kinaou Hervé, David Hart). diff --git a/include/wx/addremovectrl.h b/include/wx/addremovectrl.h new file mode 100644 index 0000000000..78a34e7073 --- /dev/null +++ b/include/wx/addremovectrl.h @@ -0,0 +1,109 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/addremovectrl.h +// Purpose: wxAddRemoveCtrl declaration. +// Author: Vadim Zeitlin +// Created: 2015-01-29 +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_ADDREMOVECTRL_H_ +#define _WX_ADDREMOVECTRL_H_ + +#include "wx/panel.h" + +#if wxUSE_ADDREMOVECTRL + +extern WXDLLIMPEXP_DATA_ADV(const char) wxAddRemoveCtrlNameStr[]; + +// ---------------------------------------------------------------------------- +// wxAddRemoveAdaptor: used by wxAddRemoveCtrl to work with the list control +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_ADV wxAddRemoveAdaptor +{ +public: + // Default ctor and trivial but virtual dtor. + wxAddRemoveAdaptor() { } + virtual ~wxAddRemoveAdaptor() { } + + // Override to return the associated control. + virtual wxWindow* GetItemsCtrl() const = 0; + + // Override to return whether a new item can be added to the control. + virtual bool CanAdd() const = 0; + + // Override to return whether the currently selected item (if any) can be + // removed from the control. + virtual bool CanRemove() const = 0; + + // Called when an item should be added, can only be called if CanAdd() + // currently returns true. + virtual void OnAdd() = 0; + + // Called when the current item should be removed, can only be called if + // CanRemove() currently returns true. + virtual void OnRemove() = 0; + +private: + wxDECLARE_NO_COPY_CLASS(wxAddRemoveAdaptor); +}; + +// ---------------------------------------------------------------------------- +// wxAddRemoveCtrl: a list-like control combined with add/remove buttons +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_ADV wxAddRemoveCtrl : public wxPanel +{ +public: + wxAddRemoveCtrl() + { + Init(); + } + + wxAddRemoveCtrl(wxWindow* parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxAddRemoveCtrlNameStr) + { + Init(); + + Create(parent, winid, pos, size, style, name); + } + + bool Create(wxWindow* parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxAddRemoveCtrlNameStr); + + virtual ~wxAddRemoveCtrl(); + + // Must be called for the control to be usable, takes ownership of the + // pointer. + void SetAdaptor(wxAddRemoveAdaptor* adaptor); + + // Set tooltips to use for the add and remove buttons. + void SetButtonsToolTips(const wxString& addtip, const wxString& removetip); + +protected: + virtual wxSize DoGetBestClientSize() const wxOVERRIDE; + +private: + // Common part of all ctors. + void Init() + { + m_impl = NULL; + } + + class wxAddRemoveImpl* m_impl; + + wxDECLARE_NO_COPY_CLASS(wxAddRemoveCtrl); +}; + +#endif // wxUSE_ADDREMOVECTRL + +#endif // _WX_ADDREMOVECTRL_H_ diff --git a/include/wx/android/setup.h b/include/wx/android/setup.h index a2c75a5c17..b31c2fe0bb 100644 --- a/include/wx/android/setup.h +++ b/include/wx/android/setup.h @@ -992,6 +992,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/generic/private/addremovectrl.h b/include/wx/generic/private/addremovectrl.h new file mode 100644 index 0000000000..af2a9ee7c8 --- /dev/null +++ b/include/wx/generic/private/addremovectrl.h @@ -0,0 +1,66 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/generic/private/addremovectrl.h +// Purpose: Generic wxAddRemoveImpl implementation, also used in wxMSW +// Author: Vadim Zeitlin +// Created: 2015-02-05 +// RCS-ID: $Id$ +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GENERIC_PRIVATE_ADDREMOVECTRL_H_ +#define _WX_GENERIC_PRIVATE_ADDREMOVECTRL_H_ + +// ---------------------------------------------------------------------------- +// wxAddRemoveImpl +// ---------------------------------------------------------------------------- + +class wxAddRemoveImpl : public wxAddRemoveImplWithButtons +{ +public: + wxAddRemoveImpl(wxAddRemoveAdaptor* adaptor, + wxAddRemoveCtrl* parent, + wxWindow* ctrlItems) + : wxAddRemoveImplWithButtons(adaptor, parent, ctrlItems) + { + m_btnAdd = new wxButton(parent, wxID_ADD, GetAddButtonLabel(), + wxDefaultPosition, wxDefaultSize, + wxBU_EXACTFIT | wxBORDER_NONE); + m_btnRemove = new wxButton(parent, wxID_REMOVE, GetRemoveButtonLabel(), + wxDefaultPosition, wxDefaultSize, + wxBU_EXACTFIT | wxBORDER_NONE); + + wxSizer* const sizerBtns = new wxBoxSizer(wxVERTICAL); + sizerBtns->Add(m_btnAdd, wxSizerFlags().Expand()); + sizerBtns->Add(m_btnRemove, wxSizerFlags().Expand()); + + wxSizer* const sizerTop = new wxBoxSizer(wxHORIZONTAL); + sizerTop->Add(ctrlItems, wxSizerFlags(1).Expand()); + sizerTop->Add(sizerBtns, wxSizerFlags().Centre().Border(wxLEFT)); + parent->SetSizer(sizerTop); + + SetUpEvents(); + } + +private: + static wxString GetAddButtonLabel() + { +#if wxUSE_UNICODE + return wchar_t(0xFF0B); // FULLWIDTH PLUS SIGN +#else + return "+"; +#endif + } + + static wxString GetRemoveButtonLabel() + { +#if wxUSE_UNICODE + return wchar_t(0x2012); // FIGURE DASH +#else + return "-"; +#endif + } + +}; + +#endif // _WX_GENERIC_PRIVATE_ADDREMOVECTRL_H_ diff --git a/include/wx/gtk/private/addremovectrl.h b/include/wx/gtk/private/addremovectrl.h new file mode 100644 index 0000000000..1cb797e8c2 --- /dev/null +++ b/include/wx/gtk/private/addremovectrl.h @@ -0,0 +1,81 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/gtk/private/addremovectrl.h +// Purpose: GTK specific wxAddRemoveImpl implementation +// Author: Vadim Zeitlin +// Created: 2015-02-05 +// RCS-ID: $Id$ +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_GTK_PRIVATE_ADDREMOVECTRL_H_ +#define _WX_GTK_PRIVATE_ADDREMOVECTRL_H_ + +#include "wx/artprov.h" +#include "wx/bmpbuttn.h" +#include "wx/toolbar.h" + +#include + +// ---------------------------------------------------------------------------- +// wxAddRemoveImpl +// ---------------------------------------------------------------------------- + +class wxAddRemoveImpl : public wxAddRemoveImplBase +{ +public: + wxAddRemoveImpl(wxAddRemoveAdaptor* adaptor, + wxAddRemoveCtrl* parent, + wxWindow* ctrlItems) + : wxAddRemoveImplBase(adaptor, parent, ctrlItems), + m_tbar(new wxToolBar(parent, wxID_ANY)) + { + m_tbar->AddTool(wxID_ADD, wxString(), GetNamedBitmap("list-add")); + m_tbar->AddTool(wxID_REMOVE, wxString(), GetNamedBitmap("list-remove")); + +#ifdef __WXGTK3__ + // Tweak the toolbar appearance to correspond to how the toolbars used + // in other GNOME applications for similar purposes look. + GtkToolbar* const toolbar = m_tbar->GTKGetToolbar(); + GtkStyleContext* context = gtk_widget_get_style_context(GTK_WIDGET(toolbar)); + gtk_style_context_add_class(context, GTK_STYLE_CLASS_INLINE_TOOLBAR); + gtk_style_context_set_junction_sides(context, GTK_JUNCTION_TOP); +#endif // GTK+3 + + wxSizer* const sizerTop = new wxBoxSizer(wxVERTICAL); + sizerTop->Add(ctrlItems, wxSizerFlags(1).Expand()); + sizerTop->Add(m_tbar, wxSizerFlags().Expand()); + parent->SetSizer(sizerTop); + + m_tbar->Bind(wxEVT_UPDATE_UI, + &wxAddRemoveImplBase::OnUpdateUIAdd, this, wxID_ADD); + m_tbar->Bind(wxEVT_UPDATE_UI, + &wxAddRemoveImplBase::OnUpdateUIRemove, this, wxID_REMOVE); + + m_tbar->Bind(wxEVT_TOOL, &wxAddRemoveImplBase::OnAdd, this, wxID_ADD); + m_tbar->Bind(wxEVT_TOOL, &wxAddRemoveImplBase::OnRemove, this, wxID_REMOVE); + } + + virtual void SetButtonsToolTips(const wxString& addtip, + const wxString& removetip) wxOVERRIDE + { + m_tbar->SetToolShortHelp(wxID_ADD, addtip); + m_tbar->SetToolShortHelp(wxID_REMOVE, removetip); + } + +private: + static wxBitmap GetNamedBitmap(const wxString& name) + { + // GTK UI guidelines recommend using "symbolic" versions of the icons + // for these buttons, so try them first but fall back to the normal + // ones if symbolic theme is not installed. + wxBitmap bmp = wxArtProvider::GetBitmap(name + "-symbolic", wxART_MENU); + if ( !bmp.IsOk() ) + bmp = wxArtProvider::GetBitmap(name, wxART_MENU); + return bmp; + } + + wxToolBar* const m_tbar; +}; + +#endif // _WX_GTK_PRIVATE_ADDREMOVECTRL_H_ diff --git a/include/wx/gtk/setup0.h b/include/wx/gtk/setup0.h index 288b42df50..5a3473b8fc 100644 --- a/include/wx/gtk/setup0.h +++ b/include/wx/gtk/setup0.h @@ -993,6 +993,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/motif/setup0.h b/include/wx/motif/setup0.h index bf7b39b252..245e0b6fa2 100644 --- a/include/wx/motif/setup0.h +++ b/include/wx/motif/setup0.h @@ -993,6 +993,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/msw/setup0.h b/include/wx/msw/setup0.h index e33fc338aa..177727dad0 100644 --- a/include/wx/msw/setup0.h +++ b/include/wx/msw/setup0.h @@ -993,6 +993,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/msw/wince/setup.h b/include/wx/msw/wince/setup.h index dbd627a867..f94437f4f6 100644 --- a/include/wx/msw/wince/setup.h +++ b/include/wx/msw/wince/setup.h @@ -993,6 +993,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/osx/private/addremovectrl.h b/include/wx/osx/private/addremovectrl.h new file mode 100644 index 0000000000..b7fefc258e --- /dev/null +++ b/include/wx/osx/private/addremovectrl.h @@ -0,0 +1,118 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/osx/private/addremovectrl.h +// Purpose: OS X specific wxAddRemoveImpl implementation +// Author: Vadim Zeitlin +// Created: 2015-02-05 +// RCS-ID: $Id$ +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_OSX_PRIVATE_ADDREMOVECTRL_H_ +#define _WX_OSX_PRIVATE_ADDREMOVECTRL_H_ + +#include "wx/artprov.h" +#include "wx/bmpbuttn.h" +#include "wx/panel.h" + +#include "wx/osx/private.h" + +// ---------------------------------------------------------------------------- +// wxAddRemoveImpl itself +// ---------------------------------------------------------------------------- + +class wxAddRemoveImpl : public wxAddRemoveImplWithButtons +{ +public: + wxAddRemoveImpl(wxAddRemoveAdaptor* adaptor, + wxAddRemoveCtrl* parent, + wxWindow* ctrlItems) + : wxAddRemoveImplWithButtons(adaptor, parent, ctrlItems), + m_ctrlItems(ctrlItems) + { + // This size is hard coded for now as this is what the system dialogs + // themselves (e.g. the buttons under the lists in the "Users" or + // "Network" panes of the "System Preferences") use under OS X 10.8. + const wxSize sizeBtn(25, 23); + + m_btnAdd = new wxBitmapButton(parent, wxID_ADD, + wxArtProvider::GetBitmap("NSAddTemplate"), + wxDefaultPosition, + sizeBtn, + wxBORDER_SIMPLE); + + m_btnRemove = new wxBitmapButton(parent, wxID_REMOVE, + wxArtProvider::GetBitmap("NSRemoveTemplate"), + wxDefaultPosition, + sizeBtn, + wxBORDER_SIMPLE); + + // Under OS X the space to the right of the buttons is actually + // occupied by an inactive gradient button, so create one. + m_btnPlaceholder = new wxButton(parent, wxID_ANY, "", + wxDefaultPosition, + sizeBtn, + wxBORDER_SIMPLE); + m_btnPlaceholder->Disable(); + + + // We need to lay out our windows manually under OS X as it is the only + // way to achieve the required, for the correct look, overlap between + // their borders -- sizers would never allow this. + parent->Bind(wxEVT_SIZE, &wxAddRemoveImpl::OnSize, this); + + // We also have to ensure that the window with the items doesn't have + // any border as it wouldn't look correctly if it did. + long style = ctrlItems->GetWindowStyle(); + style &= ~wxBORDER_MASK; + style |= wxBORDER_SIMPLE; + ctrlItems->SetWindowStyle(style); + + + SetUpEvents(); + } + + // As we don't use sizers, we also need to compute our best size ourselves. + virtual wxSize GetBestClientSize() const wxOVERRIDE + { + wxSize size = m_ctrlItems->GetBestSize(); + + const wxSize sizeBtn = m_btnAdd->GetSize(); + + size.y += sizeBtn.y; + size.IncTo(wxSize(3*sizeBtn.x, -1)); + + return size; + } + +private: + void OnSize(wxSizeEvent& event) + { + const wxSize size = event.GetSize(); + + const wxSize sizeBtn = m_btnAdd->GetSize(); + + const int yBtn = size.y - sizeBtn.y; + + // There is a vertical overlap which hides the items control bottom + // border. + m_ctrlItems->SetSize(0, 0, size.x, yBtn + 2); + + // And there is also a horizontal 1px overlap between the buttons + // themselves, so subtract 1 from the next button position. + int x = 0; + m_btnAdd->Move(x, yBtn); + x += sizeBtn.x - 1; + + m_btnRemove->Move(x, yBtn); + x += sizeBtn.x - 1; + + // The last one needs to be resized to take up all the remaining space. + m_btnPlaceholder->SetSize(x, yBtn, size.x - x, sizeBtn.y); + } + + wxWindow* m_ctrlItems; + wxButton* /* const */ m_btnPlaceholder; +}; + +#endif // _WX_OSX_PRIVATE_ADDREMOVECTRL_H_ diff --git a/include/wx/osx/setup0.h b/include/wx/osx/setup0.h index 7343a003c6..cb437e7b31 100644 --- a/include/wx/osx/setup0.h +++ b/include/wx/osx/setup0.h @@ -994,6 +994,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/private/addremovectrl.h b/include/wx/private/addremovectrl.h new file mode 100644 index 0000000000..2021a91723 --- /dev/null +++ b/include/wx/private/addremovectrl.h @@ -0,0 +1,155 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/private/addremovectrl.h +// Purpose: wxAddRemoveImpl helper class declaration +// Author: Vadim Zeitlin +// Created: 2015-02-04 +// RCS-ID: $Id$ +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_PRIVATE_ADDREMOVECTRL_H_ +#define _WX_PRIVATE_ADDREMOVECTRL_H_ + +#include "wx/button.h" +#include "wx/sizer.h" + +// ---------------------------------------------------------------------------- +// wxAddRemoveImplBase: implementation-only part of wxAddRemoveCtrl, base part +// ---------------------------------------------------------------------------- + +class wxAddRemoveImplBase +{ +public: + // Base class ctor just initializes the associated adaptor, the derived + // class is supposed to create the buttons and layout everything. + // + // Takes ownership of the adaptor pointer. + wxEXPLICIT wxAddRemoveImplBase(wxAddRemoveAdaptor* adaptor, + wxAddRemoveCtrl* WXUNUSED(parent), + wxWindow* ctrlItems) + : m_adaptor(adaptor) + { + ctrlItems->Bind(wxEVT_CHAR, &wxAddRemoveImplBase::OnChar, this); + } + + // wxOSX implementation needs to override this as it doesn't use sizers, + // for the others it is not necessary. + virtual wxSize GetBestClientSize() const { return wxDefaultSize; } + + virtual void SetButtonsToolTips(const wxString& addtip, + const wxString& removetip) = 0; + + virtual ~wxAddRemoveImplBase() + { + delete m_adaptor; + } + + // Event handlers which must be connected to the appropriate sources by the + // derived classes. + + void OnUpdateUIAdd(wxUpdateUIEvent& event) + { + event.Enable( m_adaptor->CanAdd() ); + } + + void OnUpdateUIRemove(wxUpdateUIEvent& event) + { + event.Enable( m_adaptor->CanRemove() ); + } + + void OnAdd(wxCommandEvent& WXUNUSED(event)) + { + m_adaptor->OnAdd(); + } + + void OnRemove(wxCommandEvent& WXUNUSED(event)) + { + m_adaptor->OnRemove(); + } + +private: + // This event handler is connected by this class itself and doesn't need to + // be accessible to the derived classes. + + void OnChar(wxKeyEvent& event) + { + switch ( event.GetKeyCode() ) + { + case '+': + case WXK_INSERT: + case WXK_NUMPAD_INSERT: + if ( m_adaptor->CanAdd() ) + m_adaptor->OnAdd(); + return; + + case '-': + case WXK_DELETE: + case WXK_NUMPAD_DELETE: + if ( m_adaptor->CanRemove() ) + m_adaptor->OnRemove(); + return; + } + + event.Skip(); + } + + wxAddRemoveAdaptor* const m_adaptor; + + wxDECLARE_NO_COPY_CLASS(wxAddRemoveImplBase); +}; + +// GTK+ uses a wxToolBar-based implementation and so doesn't need this class. +#ifndef __WXGTK__ + +// Base class for the ports using actual wxButtons for the "+"/"-" buttons. +class wxAddRemoveImplWithButtons : public wxAddRemoveImplBase +{ +public: + wxEXPLICIT wxAddRemoveImplWithButtons(wxAddRemoveAdaptor* adaptor, + wxAddRemoveCtrl* parent, + wxWindow* ctrlItems) + : wxAddRemoveImplBase(adaptor, parent, ctrlItems) + { + m_btnAdd = + m_btnRemove = NULL; + } + + virtual void SetButtonsToolTips(const wxString& addtip, + const wxString& removetip) wxOVERRIDE + { + m_btnAdd->SetToolTip(addtip); + m_btnRemove->SetToolTip(removetip); + } + +protected: + // Must be called by the derived class ctor after creating the buttons to + // set up the event handlers. + void SetUpEvents() + { + m_btnAdd->Bind(wxEVT_UPDATE_UI, + &wxAddRemoveImplBase::OnUpdateUIAdd, this); + m_btnRemove->Bind(wxEVT_UPDATE_UI, + &wxAddRemoveImplBase::OnUpdateUIRemove, this); + + m_btnAdd->Bind(wxEVT_BUTTON, &wxAddRemoveImplBase::OnAdd, this); + m_btnRemove->Bind(wxEVT_BUTTON, &wxAddRemoveImplBase::OnRemove, this); + } + + wxButton *m_btnAdd, + *m_btnRemove; + + wxDECLARE_NO_COPY_CLASS(wxAddRemoveImplWithButtons); +}; + +#endif // !wxGTK + +#ifdef __WXOSX__ + #include "wx/osx/private/addremovectrl.h" +#elif defined(__WXGTK__) + #include "wx/gtk/private/addremovectrl.h" +#else + #include "wx/generic/private/addremovectrl.h" +#endif + +#endif // _WX_PRIVATE_ADDREMOVECTRL_H_ diff --git a/include/wx/setup_inc.h b/include/wx/setup_inc.h index 73ec69f0b6..ccf4eb9395 100644 --- a/include/wx/setup_inc.h +++ b/include/wx/setup_inc.h @@ -989,6 +989,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/include/wx/univ/setup0.h b/include/wx/univ/setup0.h index 3231580c36..8a636c79b7 100644 --- a/include/wx/univ/setup0.h +++ b/include/wx/univ/setup0.h @@ -992,6 +992,16 @@ // wxHeaderCtrl) #define wxUSE_REARRANGECTRL 1 +// wxAddRemoveCtrl is a composite control containing a control showing some +// items (e.g. wxListBox, wxListCtrl, wxTreeCtrl, wxDataViewCtrl, ...) and "+"/ +// "-" buttons allowing to add and remove items to/from the control. +// +// Default is 1. +// +// Recommended setting: 1 but can be safely set to 0 if you don't need it (not +// used by the library itself). +#define wxUSE_ADDREMOVECTRL 1 + // ---------------------------------------------------------------------------- // Miscellaneous GUI stuff // ---------------------------------------------------------------------------- diff --git a/interface/wx/addremovectrl.h b/interface/wx/addremovectrl.h new file mode 100644 index 0000000000..a2fcf6e3bb --- /dev/null +++ b/interface/wx/addremovectrl.h @@ -0,0 +1,201 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/addremovectrl.h +// Purpose: documentation of wxAddRemoveCtrl +// Author: Vadim Zeitlin +// Created: 2015-02-04 +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +/** + @class wxAddRemoveAdaptor + + Object used to mediate between wxAddRemoveCtrl and the control showing the + list of items which can be added or removed. + + This is a base class from which custom classes used with + wxAddRemoveCtrl::SetAdaptor() must be derived. Object of this class are + typically associated with the control showing the list of items on + creation, i.e. the derived class constructor would normally take a pointer + to the control which will be returned from GetItemsCtrl() later. + + @since 3.1.0 + + @library{wxadv} + */ +class wxAddRemoveAdaptor +{ +public: + /// Default and trivial constructor. + wxAddRemoveAdaptor(); + + /// Trivial but virtual destructor. + virtual ~wxAddRemoveAdaptor(); + + /** + Override to return the associated control. + + The control must be a child of the associated wxAddRemoveCtrl. + */ + virtual wxWindow* GetItemsCtrl() const = 0; + + /** + Override to return whether a new item can be added to the control. + + A typical implementation would simply always return @true, but it is + also possible to return @false if the list is "full" and can't contain + any more elements. + */ + virtual bool CanAdd() const = 0; + + /** + Override to return whether the currently selected item (if any) can be + removed from the control. + + The implementation should check if there is a currently selected item + and possibly if the user is allowed to remove this item. + */ + virtual bool CanRemove() const = 0; + + /** + Called when an item should be added. + + A typical implementation would either add a new item to the list + control and start editing it in place or ask the user for the item to + add first and then add it to the control returned by GetItemsCtrl(). + + Notice that this method can only be called if CanAdd() currently + returns @true. + */ + virtual void OnAdd() = 0; + + /** + Called when the current item should be removed. + + The implementation should remove the currently selected item from the + control and update the selection. + + Notice that this method can only be called if CanRemove() currently + returns @true. + */ + virtual void OnRemove() = 0; +}; + + +/** + @class wxAddRemoveCtrl + + A class adding buttons to add and remove items to a list-like child + control. + + This class represents a composite control which combines any control + capable of showing multiple items, such as wxListBox, wxListCtrl, + wxTreeCtrl, wxDataViewCtrl or a custom control, with two buttons allowing + to add items and remove items from this list-like control. The advantage of + using this control instead of just creating and managing the buttons + directly is that the correct buttons and layout for the current platform + are used by this class. E.g. the buttons are positioned under the list + control under OS X and GTK+ but to its right under MSW and the buttons + themselves use system-specific bitmaps under OS X. + + This class is always used in conjunction with wxAddRemoveAdaptor which is + used to actually add items to or remove them from the control containing + the items when the corresponding button is pressed. The + @ref page_samples_dialogs "dialogs sample" shows how to do it: first you + need to derive a new class from wxAddRemoveAdaptor and implement its pure + virtual methods and then you must call SetAdaptor() with a newly allocated + object of this class. You also must create the control containing the items + with wxAddRemoveCtrl as parent. Here are the different steps in pseudocode: + @code + wxAddRemoveCtrl* ctrl = new wxAddRemoveCtrl(parent); + + // This can be any kind of control for which OnAdd() and OnRemove() + // below can be made to work. + wxListBox* lbox = new wxListBox(ctrl, ...); + + class ListBoxAdaptor : public wxAddRemoveAdaptor + { + public: + explicit ListBoxAdaptor(wxListBox* lbox) : m_lbox(lbox) { } + + virtual wxWindow* GetItemsCtrl() const { return m_lbox; } + + virtual bool CanAdd() const { return true; } + virtual bool CanRename() const { return m_lbox->GetSelection() != wxNOT_FOUND; } + virtual void OnAdd() { ... get the new item from user and add it ... } + virtual void OnRemove() { m_lbox->Delete(m_lbox->GetSelection()); } + + private: + wxListBox* m_lbox; + }; + + ctrl->SetAdaptor(new ListBoxAdaptor(lbox)); + @endcode + + @since 3.1.0 + + @library{wxadv} + @category{ctrl} + */ +class wxAddRemoveCtrl : public wxPanel +{ +public: + /** + Default constructor. + + Use Create() later. + */ + wxAddRemoveCtrl(); + + /** + Constructor really creating the control window. + + SetAdaptor() still must be called later to finish initializing the + control. + + Parameters have the same meaning as in wxPanel::Create(). + */ + wxAddRemoveCtrl(wxWindow* parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxAddRemoveCtrlNameStr); + + /** + Create the control window after using the default constructor. + + Parameters have the same meaning as in wxPanel::Create(). + */ + bool Create(wxWindow* parent, + wxWindowID winid = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxString& name = wxAddRemoveCtrlNameStr); + + /** + Associate the control with the specified adaptor object. + + This method must be called exactly once to finish initializing this + object. + + The adapter object must correspond to a control created as a child of + this window, i.e. wxAddRemoveAdaptor::GetItemsCtrl() must return a + pointer to an existing child of this control. + + The @a adaptor pointer must be non-NULL and heap-allocated as the + control takes ownership of it and will delete it later. + */ + void SetAdaptor(wxAddRemoveAdaptor* adaptor); + + /** + Sets the tooltips used for the add and remove buttons. + + Show the specified tooltips when the mouse hovers over the buttons used + to add and remove items, respectively. + + This method can only be used after calling SetAdaptor(). + */ + void SetButtonsToolTips(const wxString& addtip, const wxString& removetip); +}; diff --git a/samples/dialogs/dialogs.cpp b/samples/dialogs/dialogs.cpp index 0022327b54..f4b133a366 100644 --- a/samples/dialogs/dialogs.cpp +++ b/samples/dialogs/dialogs.cpp @@ -47,6 +47,7 @@ #endif // wxUSE_CHOICEDLG #include "wx/rearrangectrl.h" +#include "wx/addremovectrl.h" #if wxUSE_STARTUP_TIPS #include "wx/tipdlg.h" @@ -173,6 +174,10 @@ wxBEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(DIALOGS_REARRANGE, MyFrame::Rearrange) #endif // wxUSE_REARRANGECTRL +#if wxUSE_ADDREMOVECTRL + EVT_MENU(DIALOGS_ADDREMOVE, MyFrame::AddRemove) +#endif // wxUSE_ADDREMOVECTRL + #if wxUSE_FILEDLG EVT_MENU(DIALOGS_FILE_OPEN, MyFrame::FileOpen) EVT_MENU(DIALOGS_FILE_OPEN2, MyFrame::FileOpen2) @@ -386,6 +391,10 @@ bool MyApp::OnInit() choices_menu->Append(DIALOGS_REARRANGE, wxT("&Rearrange dialog\tCtrl-R")); #endif // wxUSE_REARRANGECTRL + #if wxUSE_ADDREMOVECTRL + choices_menu->Append(DIALOGS_ADDREMOVE, "&Add/remove items control\tCtrl-A"); + #endif // wxUSE_ADDREMOVECTRL + #if USE_COLOURDLG_GENERIC || USE_FONTDLG_GENERIC choices_menu->AppendSeparator(); #endif // USE_COLOURDLG_GENERIC || USE_FONTDLG_GENERIC @@ -1333,6 +1342,91 @@ void MyFrame::Rearrange(wxCommandEvent& WXUNUSED(event)) } #endif // wxUSE_REARRANGECTRL +#if wxUSE_ADDREMOVECTRL + +void MyFrame::AddRemove(wxCommandEvent& WXUNUSED(event)) +{ + wxDialog dlg(this, wxID_ANY, "wxAddRemoveCtrl test", + wxDefaultPosition, wxDefaultSize, + wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER); + + wxAddRemoveCtrl* const ctrl = new wxAddRemoveCtrl(&dlg); + ctrl->SetInitialSize(wxSize(-1, 12*GetCharHeight())); + + const wxString items[] = + { + "some", "items", "for", "testing", "wxAddRemoveCtrl", + }; + wxListBox* const lbox = new wxListBox(ctrl, wxID_ANY, + wxDefaultPosition, wxDefaultSize, + WXSIZEOF(items), items); + + // Test adaptor class connecting wxAddRemoveCtrl with wxListBox we use + // inside it. + class ListBoxAdaptor : public wxAddRemoveAdaptor + { + public: + wxEXPLICIT ListBoxAdaptor(wxListBox* lbox) + : m_lbox(lbox) + { + } + + wxWindow* GetItemsCtrl() const wxOVERRIDE + { + return m_lbox; + } + + bool CanAdd() const wxOVERRIDE + { + // Restrict the maximal number of items to 10 just for testing. + return m_lbox->GetCount() <= 10; + } + + bool CanRemove() const wxOVERRIDE + { + // We must have a selected item in order to be able to delete it. + return m_lbox->GetSelection() != wxNOT_FOUND; + } + + void OnAdd() wxOVERRIDE + { + // A real program would use a wxDataViewCtrl or wxListCtrl and + // allow editing the newly edited item in place, here we just use a + // hardcoded item value instead. + static int s_item = 0; + m_lbox->Append(wxString::Format("new item #%d", ++s_item)); + } + + void OnRemove() wxOVERRIDE + { + // Notice that we don't need to check if we have a valid selection, + // we can be only called if CanRemove(), which already checks for + // this, had returned true. + const unsigned pos = m_lbox->GetSelection(); + + m_lbox->Delete(pos); + m_lbox->SetSelection(pos == m_lbox->GetCount() ? pos - 1 : pos); + } + + private: + wxListBox* const m_lbox; + }; + + ctrl->SetAdaptor(new ListBoxAdaptor(lbox)); + + ctrl->SetButtonsToolTips("Add up to 10 items", "Remove current item"); + + wxSizer* const sizerTop = new wxBoxSizer(wxVERTICAL); + sizerTop->Add(ctrl, wxSizerFlags(1).Expand().Border()); + sizerTop->Add(dlg.CreateStdDialogButtonSizer(wxOK | wxCANCEL), + wxSizerFlags().Expand().Border()); + dlg.SetSizerAndFit(sizerTop); + + dlg.ShowModal(); +} + +#endif // wxUSE_ADDREMOVECTRL + #if wxUSE_FILEDLG // panel with custom controls for file dialog diff --git a/samples/dialogs/dialogs.h b/samples/dialogs/dialogs.h index 06d6b46ca2..f6d9ee1970 100644 --- a/samples/dialogs/dialogs.h +++ b/samples/dialogs/dialogs.h @@ -380,7 +380,13 @@ public: void MultiChoice(wxCommandEvent& event); #endif // wxUSE_CHOICEDLG +#if wxUSE_REARRANGECTRL void Rearrange(wxCommandEvent& event); +#endif // wxUSE_REARRANGECTRL + +#if wxUSE_ADDREMOVECTRL + void AddRemove(wxCommandEvent& event); +#endif // wxUSE_ADDREMOVECTRL #if wxUSE_TEXTDLG void LineEntry(wxCommandEvent& event); @@ -546,6 +552,7 @@ enum DIALOGS_SINGLE_CHOICE, DIALOGS_MULTI_CHOICE, DIALOGS_REARRANGE, + DIALOGS_ADDREMOVE, DIALOGS_LINE_ENTRY, DIALOGS_TEXT_ENTRY, DIALOGS_PASSWORD_ENTRY, diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index 14e05fee44..9bb39f8704 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -884,6 +884,7 @@ void MyFrame::OnDeleteLastPage(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnNextPage(wxCommandEvent& WXUNUSED(event)) { + wxFindWindowAtPoint(wxPoint(0,0)); wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) diff --git a/setup.h.in b/setup.h.in index c975db80a1..49ff8a030c 100644 --- a/setup.h.in +++ b/setup.h.in @@ -437,6 +437,8 @@ #define wxUSE_REARRANGECTRL 0 +#define wxUSE_ADDREMOVECTRL 0 + #define wxUSE_ACCEL 0 diff --git a/src/common/addremovectrl.cpp b/src/common/addremovectrl.cpp new file mode 100644 index 0000000000..dd8b8fb940 --- /dev/null +++ b/src/common/addremovectrl.cpp @@ -0,0 +1,92 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: src/common/addremovectrl.cpp +// Purpose: wxAddRemoveCtrl implementation. +// Author: Vadim Zeitlin +// Created: 2015-01-29 +// Copyright: (c) 2015 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#if wxUSE_ADDREMOVECTRL + +#ifndef WX_PRECOMP +#endif // WX_PRECOMP + +#include "wx/addremovectrl.h" + +#include "wx/private/addremovectrl.h" + +// ============================================================================ +// wxAddRemoveCtrl implementation +// ============================================================================ + +// ---------------------------------------------------------------------------- +// common part +// ---------------------------------------------------------------------------- + +extern +WXDLLIMPEXP_DATA_CORE(const char) wxAddRemoveCtrlNameStr[] = "wxAddRemoveCtrl"; + +bool +wxAddRemoveCtrl::Create(wxWindow* parent, + wxWindowID winid, + const wxPoint& pos, + const wxSize& size, + long style, + const wxString& name) +{ + if ( !wxPanel::Create(parent, winid, pos, size, style, name) ) + return false; + + // We don't do anything here, the buttons are created when we're given the + // adaptor to use them with in SetAdaptor(). + return true; +} + +wxAddRemoveCtrl::~wxAddRemoveCtrl() +{ + delete m_impl; +} + +void wxAddRemoveCtrl::SetAdaptor(wxAddRemoveAdaptor* adaptor) +{ + wxCHECK_RET( !m_impl, wxS("should be only called once") ); + + wxCHECK_RET( adaptor, wxS("should have a valid adaptor") ); + + wxWindow* const ctrlItems = adaptor->GetItemsCtrl(); + wxCHECK_RET( ctrlItems, wxS("should have a valid items control") ); + + m_impl = new wxAddRemoveImpl(adaptor, this, ctrlItems); +} + +void +wxAddRemoveCtrl::SetButtonsToolTips(const wxString& addtip, + const wxString& removetip) +{ + wxCHECK_RET( m_impl, wxS("can only be called after SetAdaptor()") ); + + m_impl->SetButtonsToolTips(addtip, removetip); +} + +wxSize wxAddRemoveCtrl::DoGetBestClientSize() const +{ + return m_impl ? m_impl->GetBestClientSize() : wxDefaultSize; +} + +#endif // wxUSE_ADDREMOVECTRL