Add wxAddRemoveCtrl class.

This is a simple high level helper combining an arbitrary control showing
multiple items with the buttons allowing to add items to and remove items from
this control, but using the buttons and the layout appropriate for the current
platform.

Add the implementation itself, an example of using it to the dialogs sample
and the documentation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78462 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2015-02-09 00:26:11 +00:00
parent adb339078e
commit 453897149f
36 changed files with 1388 additions and 184 deletions

View File

@@ -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