Provide wxXmlResourceHandler for wxVListBox

Fix #24361.

Closes #24867.
This commit is contained in:
Bill Su
2024-11-02 04:03:24 +01:00
committed by Vadim Zeitlin
parent d7528e39ab
commit 12b09a5e5e
17 changed files with 8678 additions and 8416 deletions
+17
View File
@@ -1936,6 +1936,7 @@ XRCDLL_OBJECTS = \
xrcdll_xh_tree.o \
xrcdll_xh_treebk.o \
xrcdll_xh_unkwn.o \
xrcdll_xh_vlistbox.o \
xrcdll_xh_wizrd.o \
xrcdll_xmlres.o \
xrcdll_xmlrsall.o \
@@ -2012,6 +2013,7 @@ XRCLIB_OBJECTS = \
xrclib_xh_tree.o \
xrclib_xh_treebk.o \
xrclib_xh_unkwn.o \
xrclib_xh_vlistbox.o \
xrclib_xh_wizrd.o \
xrclib_xmlres.o \
xrclib_xmlrsall.o \
@@ -4006,6 +4008,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \
wx/xrc/xh_tree.h \
wx/xrc/xh_treebk.h \
wx/xrc/xh_unkwn.h \
wx/xrc/xh_vlistbox.h \
wx/xrc/xh_wizrd.h \
wx/xrc/xmlres.h \
wx/xrc/xh_bookctrlbase.h \
@@ -4330,6 +4333,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS = \
monodll_xh_tree.o \
monodll_xh_treebk.o \
monodll_xh_unkwn.o \
monodll_xh_vlistbox.o \
monodll_xh_wizrd.o \
monodll_xmlres.o \
monodll_xmlrsall.o \
@@ -6085,6 +6089,7 @@ COND_USE_GUI_1___MONOLIB_GUI_SRC_OBJECTS_1 = \
monolib_xh_tree.o \
monolib_xh_treebk.o \
monolib_xh_unkwn.o \
monolib_xh_vlistbox.o \
monolib_xh_wizrd.o \
monolib_xmlres.o \
monolib_xmlrsall.o \
@@ -16276,6 +16281,9 @@ monodll_xh_treebk.o: $(srcdir)/src/xrc/xh_treebk.cpp $(MONODLL_ODEP)
monodll_xh_unkwn.o: $(srcdir)/src/xrc/xh_unkwn.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_unkwn.cpp
monodll_xh_vlistbox.o: $(srcdir)/src/xrc/xh_vlistbox.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_vlistbox.cpp
monodll_xh_wizrd.o: $(srcdir)/src/xrc/xh_wizrd.cpp $(MONODLL_ODEP)
$(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_wizrd.cpp
@@ -21010,6 +21018,9 @@ monolib_xh_treebk.o: $(srcdir)/src/xrc/xh_treebk.cpp $(MONOLIB_ODEP)
monolib_xh_unkwn.o: $(srcdir)/src/xrc/xh_unkwn.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_unkwn.cpp
monolib_xh_vlistbox.o: $(srcdir)/src/xrc/xh_vlistbox.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_vlistbox.cpp
monolib_xh_wizrd.o: $(srcdir)/src/xrc/xh_wizrd.cpp $(MONOLIB_ODEP)
$(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_wizrd.cpp
@@ -33226,6 +33237,9 @@ xrcdll_xh_treebk.o: $(srcdir)/src/xrc/xh_treebk.cpp $(XRCDLL_ODEP)
xrcdll_xh_unkwn.o: $(srcdir)/src/xrc/xh_unkwn.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_unkwn.cpp
xrcdll_xh_vlistbox.o: $(srcdir)/src/xrc/xh_vlistbox.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_vlistbox.cpp
xrcdll_xh_wizrd.o: $(srcdir)/src/xrc/xh_wizrd.cpp $(XRCDLL_ODEP)
$(CXXC) -c -o $@ $(XRCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_wizrd.cpp
@@ -33433,6 +33447,9 @@ xrclib_xh_treebk.o: $(srcdir)/src/xrc/xh_treebk.cpp $(XRCLIB_ODEP)
xrclib_xh_unkwn.o: $(srcdir)/src/xrc/xh_unkwn.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_unkwn.cpp
xrclib_xh_vlistbox.o: $(srcdir)/src/xrc/xh_vlistbox.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_vlistbox.cpp
xrclib_xh_wizrd.o: $(srcdir)/src/xrc/xh_wizrd.cpp $(XRCLIB_ODEP)
$(CXXC) -c -o $@ $(XRCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_wizrd.cpp
+2
View File
@@ -2784,6 +2784,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
src/xrc/xh_tree.cpp
src/xrc/xh_treebk.cpp
src/xrc/xh_unkwn.cpp
src/xrc/xh_vlistbox.cpp
src/xrc/xh_wizrd.cpp
src/xrc/xmlres.cpp
src/xrc/xmlrsall.cpp
@@ -2856,6 +2857,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
wx/xrc/xh_tree.h
wx/xrc/xh_treebk.h
wx/xrc/xh_unkwn.h
wx/xrc/xh_vlistbox.h
wx/xrc/xh_wizrd.h
wx/xrc/xmlres.h
wx/xrc/xh_bookctrlbase.h
+2
View File
@@ -2634,6 +2634,7 @@ set(XRC_SRC
src/xrc/xh_tree.cpp
src/xrc/xh_treebk.cpp
src/xrc/xh_unkwn.cpp
src/xrc/xh_vlistbox.cpp
src/xrc/xh_wizrd.cpp
src/xrc/xmlres.cpp
src/xrc/xmlrsall.cpp
@@ -2707,6 +2708,7 @@ set(XRC_HDR
wx/xrc/xh_tree.h
wx/xrc/xh_treebk.h
wx/xrc/xh_unkwn.h
wx/xrc/xh_vlistbox.h
wx/xrc/xh_wizrd.h
wx/xrc/xmlres.h
wx/xrc/xh_dataview.h
+2
View File
@@ -2573,6 +2573,7 @@ XRC_SRC =
src/xrc/xh_tree.cpp
src/xrc/xh_treebk.cpp
src/xrc/xh_unkwn.cpp
src/xrc/xh_vlistbox.cpp
src/xrc/xh_wizrd.cpp
src/xrc/xmlres.cpp
src/xrc/xmlrsall.cpp
@@ -2644,6 +2645,7 @@ XRC_HDR =
wx/xrc/xh_tree.h
wx/xrc/xh_treebk.h
wx/xrc/xh_unkwn.h
wx/xrc/xh_vlistbox.h
wx/xrc/xh_wizrd.h
wx/xrc/xmlres.h
+16
View File
@@ -1353,6 +1353,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_tree.o \
$(OBJS)\xrcdll_xh_treebk.o \
$(OBJS)\xrcdll_xh_unkwn.o \
$(OBJS)\xrcdll_xh_vlistbox.o \
$(OBJS)\xrcdll_xh_wizrd.o \
$(OBJS)\xrcdll_xmlres.o \
$(OBJS)\xrcdll_xmlrsall.o \
@@ -1432,6 +1433,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_tree.o \
$(OBJS)\xrclib_xh_treebk.o \
$(OBJS)\xrclib_xh_unkwn.o \
$(OBJS)\xrclib_xh_vlistbox.o \
$(OBJS)\xrclib_xh_wizrd.o \
$(OBJS)\xrclib_xmlres.o \
$(OBJS)\xrclib_xmlrsall.o \
@@ -1836,6 +1838,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_tree.o \
$(OBJS)\monodll_xh_treebk.o \
$(OBJS)\monodll_xh_unkwn.o \
$(OBJS)\monodll_xh_vlistbox.o \
$(OBJS)\monodll_xh_wizrd.o \
$(OBJS)\monodll_xmlres.o \
$(OBJS)\monodll_xmlrsall.o \
@@ -2691,6 +2694,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_tree.o \
$(OBJS)\monolib_xh_treebk.o \
$(OBJS)\monolib_xh_unkwn.o \
$(OBJS)\monolib_xh_vlistbox.o \
$(OBJS)\monolib_xh_wizrd.o \
$(OBJS)\monolib_xmlres.o \
$(OBJS)\monolib_xmlrsall.o \
@@ -8051,6 +8055,9 @@ $(OBJS)\monodll_xh_treebk.o: ../../src/xrc/xh_treebk.cpp
$(OBJS)\monodll_xh_unkwn.o: ../../src/xrc/xh_unkwn.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monodll_xh_vlistbox.o: ../../src/xrc/xh_vlistbox.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monodll_xh_wizrd.o: ../../src/xrc/xh_wizrd.cpp
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
@@ -10646,6 +10653,9 @@ $(OBJS)\monolib_xh_treebk.o: ../../src/xrc/xh_treebk.cpp
$(OBJS)\monolib_xh_unkwn.o: ../../src/xrc/xh_unkwn.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monolib_xh_vlistbox.o: ../../src/xrc/xh_vlistbox.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\monolib_xh_wizrd.o: ../../src/xrc/xh_wizrd.cpp
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
@@ -17003,6 +17013,9 @@ $(OBJS)\xrcdll_xh_treebk.o: ../../src/xrc/xh_treebk.cpp
$(OBJS)\xrcdll_xh_unkwn.o: ../../src/xrc/xh_unkwn.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdll_xh_vlistbox.o: ../../src/xrc/xh_vlistbox.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrcdll_xh_wizrd.o: ../../src/xrc/xh_wizrd.cpp
$(CXX) -c -o $@ $(XRCDLL_CXXFLAGS) $(CPPDEPS) $<
@@ -17213,6 +17226,9 @@ $(OBJS)\xrclib_xh_treebk.o: ../../src/xrc/xh_treebk.cpp
$(OBJS)\xrclib_xh_unkwn.o: ../../src/xrc/xh_unkwn.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrclib_xh_vlistbox.o: ../../src/xrc/xh_vlistbox.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\xrclib_xh_wizrd.o: ../../src/xrc/xh_wizrd.cpp
$(CXX) -c -o $@ $(XRCLIB_CXXFLAGS) $(CPPDEPS) $<
+16
View File
@@ -1497,6 +1497,7 @@ XRCDLL_OBJECTS = \
$(OBJS)\xrcdll_xh_tree.obj \
$(OBJS)\xrcdll_xh_treebk.obj \
$(OBJS)\xrcdll_xh_unkwn.obj \
$(OBJS)\xrcdll_xh_vlistbox.obj \
$(OBJS)\xrcdll_xh_wizrd.obj \
$(OBJS)\xrcdll_xmlres.obj \
$(OBJS)\xrcdll_xmlrsall.obj \
@@ -1582,6 +1583,7 @@ XRCLIB_OBJECTS = \
$(OBJS)\xrclib_xh_tree.obj \
$(OBJS)\xrclib_xh_treebk.obj \
$(OBJS)\xrclib_xh_unkwn.obj \
$(OBJS)\xrclib_xh_vlistbox.obj \
$(OBJS)\xrclib_xh_wizrd.obj \
$(OBJS)\xrclib_xmlres.obj \
$(OBJS)\xrclib_xmlrsall.obj \
@@ -2182,6 +2184,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_xh_tree.obj \
$(OBJS)\monodll_xh_treebk.obj \
$(OBJS)\monodll_xh_unkwn.obj \
$(OBJS)\monodll_xh_vlistbox.obj \
$(OBJS)\monodll_xh_wizrd.obj \
$(OBJS)\monodll_xmlres.obj \
$(OBJS)\monodll_xmlrsall.obj \
@@ -3037,6 +3040,7 @@ ____MONOLIB_GUI_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_xh_tree.obj \
$(OBJS)\monolib_xh_treebk.obj \
$(OBJS)\monolib_xh_unkwn.obj \
$(OBJS)\monolib_xh_vlistbox.obj \
$(OBJS)\monolib_xh_wizrd.obj \
$(OBJS)\monolib_xmlres.obj \
$(OBJS)\monolib_xmlrsall.obj \
@@ -8520,6 +8524,9 @@ $(OBJS)\monodll_xh_treebk.obj: ..\..\src\xrc\xh_treebk.cpp
$(OBJS)\monodll_xh_unkwn.obj: ..\..\src\xrc\xh_unkwn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_unkwn.cpp
$(OBJS)\monodll_xh_vlistbox.obj: ..\..\src\xrc\xh_vlistbox.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_vlistbox.cpp
$(OBJS)\monodll_xh_wizrd.obj: ..\..\src\xrc\xh_wizrd.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_wizrd.cpp
@@ -11115,6 +11122,9 @@ $(OBJS)\monolib_xh_treebk.obj: ..\..\src\xrc\xh_treebk.cpp
$(OBJS)\monolib_xh_unkwn.obj: ..\..\src\xrc\xh_unkwn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_unkwn.cpp
$(OBJS)\monolib_xh_vlistbox.obj: ..\..\src\xrc\xh_vlistbox.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_vlistbox.cpp
$(OBJS)\monolib_xh_wizrd.obj: ..\..\src\xrc\xh_wizrd.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_wizrd.cpp
@@ -17472,6 +17482,9 @@ $(OBJS)\xrcdll_xh_treebk.obj: ..\..\src\xrc\xh_treebk.cpp
$(OBJS)\xrcdll_xh_unkwn.obj: ..\..\src\xrc\xh_unkwn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_unkwn.cpp
$(OBJS)\xrcdll_xh_vlistbox.obj: ..\..\src\xrc\xh_vlistbox.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_vlistbox.cpp
$(OBJS)\xrcdll_xh_wizrd.obj: ..\..\src\xrc\xh_wizrd.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCDLL_CXXFLAGS) ..\..\src\xrc\xh_wizrd.cpp
@@ -17682,6 +17695,9 @@ $(OBJS)\xrclib_xh_treebk.obj: ..\..\src\xrc\xh_treebk.cpp
$(OBJS)\xrclib_xh_unkwn.obj: ..\..\src\xrc\xh_unkwn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_unkwn.cpp
$(OBJS)\xrclib_xh_vlistbox.obj: ..\..\src\xrc\xh_vlistbox.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_vlistbox.cpp
$(OBJS)\xrclib_xh_wizrd.obj: ..\..\src\xrc\xh_wizrd.cpp
$(CXX) /c /nologo /TP /Fo$@ $(XRCLIB_CXXFLAGS) ..\..\src\xrc\xh_wizrd.cpp
+2
View File
@@ -927,6 +927,7 @@
<ClCompile Include="..\..\src\xrc\xmlrsall.cpp" />
<ClCompile Include="..\..\src\xrc\xh_activityindicator.cpp" />
<ClCompile Include="..\..\src\xrc\xh_dataview.cpp" />
<ClCompile Include="..\..\src\xrc\xh_vlistbox.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\src\msw\version.rc">
@@ -1046,6 +1047,7 @@
<ClInclude Include="..\..\include\wx\xrc\xmlres.h" />
<ClInclude Include="..\..\include\wx\xrc\xh_activityindicator.h" />
<ClInclude Include="..\..\include\wx\xrc\xh_dataview.h" />
<ClInclude Include="..\..\include\wx\xrc\xh_vlistbox.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+12 -6
View File
@@ -43,6 +43,9 @@
<ClCompile Include="..\..\src\xrc\xh_bmpcbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\xrc\xh_bookctrlbase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\xrc\xh_bttn.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -220,6 +223,9 @@
<ClCompile Include="..\..\src\xrc\xh_unkwn.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\xrc\xh_vlistbox.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\xrc\xh_wizrd.cpp">
<Filter>Source Files</Filter>
</ClCompile>
@@ -229,9 +235,6 @@
<ClCompile Include="..\..\src\xrc\xmlrsall.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\xrc\xh_bookctrlbase.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\..\src\msw\version.rc">
@@ -260,6 +263,9 @@
<ClInclude Include="..\..\include\wx\xrc\xh_bmpcbox.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xh_bookctrlbase.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xh_bttn.h">
<Filter>Common Headers</Filter>
</ClInclude>
@@ -437,15 +443,15 @@
<ClInclude Include="..\..\include\wx\xrc\xh_unkwn.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xh_vlistbox.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xh_wizrd.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xmlres.h">
<Filter>Common Headers</Filter>
</ClInclude>
<ClInclude Include="..\..\include\wx\xrc\xh_bookctrlbase.h">
<Filter>Common Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="..\..\include\wx\msw\setup.h">
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1
View File
@@ -78,6 +78,7 @@
#include "wx/xrc/xh_tree.h"
#include "wx/xrc/xh_treebk.h"
#include "wx/xrc/xh_unkwn.h"
#include "wx/xrc/xh_vlistbox.h"
#include "wx/xrc/xh_wizrd.h"
#endif // _WX_XH_ALL_H_
+29
View File
@@ -0,0 +1,29 @@
/////////////////////////////////////////////////////////////////////////////
// Name: wx/xrc/xh_vlistbox.h
// Purpose: XML resource handler for wxVListBox
// Author: Vaclav Slavik, Bill Su
// Created: 2000/03/05, 2024/10/07
// Copyright: (c) 2000 Vaclav Slavik, 2024 Bill Su
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_XH_VLISTBOX_H_
#define _WX_XH_VLISTBOX_H_
#include "wx/xrc/xmlres.h"
#if wxUSE_XRC && wxUSE_LISTBOX
class WXDLLIMPEXP_XRC wxVListBoxXmlHandler : public wxXmlResourceHandler
{
wxDECLARE_DYNAMIC_CLASS(wxVListBoxXmlHandler);
public:
wxVListBoxXmlHandler();
virtual wxObject *DoCreateResource() override;
virtual bool CanHandle(wxXmlNode *node) override;
};
#endif // wxUSE_XRC && wxUSE_LISTBOX
#endif // _WX_XH_VLISTBOX_H_
+9
View File
@@ -342,6 +342,7 @@ builtinClassesNames =
| "wxToolbook"
| "wxTreeCtrl"
| "wxTreebook"
| "wxVListBox"
| "wxWizard"
| "wxBoxSizer"
@@ -1800,6 +1801,14 @@ wxTreebook_treebookpage =
}
wxVListBox =
element object {
attribute class { "wxVListBox" } &
stdObjectNodeAttributes &
stdWindowProperties
}
wxWizard =
element object {
attribute class { "wxWizard" } &
+58
View File
@@ -449,3 +449,61 @@ void MyFrame::OnInfoBarShowMessage(wxCommandEvent& event)
#endif
}
// Define the wxVListBox subclass here
#include <wx/vlbox.h>
class wxVListBoxDerived : public wxVListBox
{
public:
// the derived class must implement this function to actually draw the item
// with the given index on the provided DC
virtual void OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const override;
// the derived class must implement this method to return the height of the
// specified item
virtual wxCoord OnMeasureItem(size_t n) const override;
private:
wxDECLARE_DYNAMIC_CLASS(wxVListBoxDerived);
wxDECLARE_EVENT_TABLE();
/* XRC requires default constructor, and Create() is not
virtual, so initialization must be done here */
void OnCreate(wxWindowCreateEvent& event);
wxString GetItem(size_t n) const;
};
wxIMPLEMENT_DYNAMIC_CLASS(wxVListBoxDerived, wxVListBox);
wxBEGIN_EVENT_TABLE(wxVListBoxDerived, wxVListBox)
EVT_WINDOW_CREATE(wxVListBoxDerived::OnCreate)
wxEND_EVENT_TABLE()
void wxVListBoxDerived::OnDrawItem(wxDC& dc, const wxRect& rect, size_t n) const
{
dc.DrawText(GetItem(n), rect.GetLeftTop());
}
wxCoord wxVListBoxDerived::OnMeasureItem(size_t n) const
{
// safe to const_cast since we're just using GetTextExtent()
wxInfoDC dc(const_cast<wxVListBoxDerived*>(this));
return dc.GetTextExtent(GetItem(n)).y;
}
/* XRC requires default constructor, and Create() is not
virtual, so initialization must be done here */
void wxVListBoxDerived::OnCreate(wxWindowCreateEvent& event)
{
SetItemCount(10);
event.Skip();
}
wxString wxVListBoxDerived::GetItem(size_t n) const
{
return wxString::Format("Item %zu", n);
}
+28
View File
@@ -1559,6 +1559,34 @@ lay them out using wxSizers, absolute positioning, everything you like!
</object>
</object>
</object>
<object class="choicebookpage">
<label>wxVListBox</label>
<object class="wxPanel" name="listbox">
<object class="wxFlexGridSizer">
<cols>1</cols>
<rows>0</rows>
<vgap>0</vgap>
<hgap>0</hgap>
<growablecols>0</growablecols>
<growablerows>0</growablerows>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxVListBox" name="controls_vlistbox_single" subclass="wxVListBoxDerived">
<size>250,80</size>
</object>
</object>
<object class="sizeritem">
<flag>wxALIGN_CENTER|wxALL</flag>
<border>5</border>
<object class="wxVListBox" name="controls_vlistbox_multiple" subclass="wxVListBoxDerived">
<size>250,80</size>
<style>wxLB_MULTIPLE</style>
</object>
</object>
</object>
</object>
</object>
<object class="choicebookpage">
<label>wx*PickerCtrl</label>
+61
View File
@@ -0,0 +1,61 @@
/////////////////////////////////////////////////////////////////////////////
// Name: src/xrc/xh_vlistbox.cpp
// Purpose: XRC resource for vlistboxes
// Author: Vaclav Slavik, Bill Su
// Created: 2000/03/05, 2024/10/07
// Copyright: (c) 2000 Vaclav Slavik, 2024 Bill Su
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
#if wxUSE_XRC && wxUSE_LISTBOX
#include "wx/xrc/xh_vlistbox.h"
#include "wx/vlbox.h"
wxIMPLEMENT_DYNAMIC_CLASS(wxVListBoxXmlHandler, wxXmlResourceHandler);
wxVListBoxXmlHandler::wxVListBoxXmlHandler() : wxXmlResourceHandler()
{
// panel styles
XRC_ADD_STYLE(wxTAB_TRAVERSAL);
// listbox styles
XRC_ADD_STYLE(wxLB_MULTIPLE);
AddWindowStyles();
}
wxObject * wxVListBoxXmlHandler::DoCreateResource()
{
/* non-standard because wxVListBox is an abstract
class, so "subclass" must be used */
wxCHECK_MSG(m_instance,
nullptr,
"wxVListBox requires \"subclass\" attribute");
wxVListBox* const vlistbox = wxStaticCast(m_instance, wxVListBox);
if (GetBool(wxT("hidden"), 0) == 1)
vlistbox->Hide();
vlistbox->Create(m_parentAsWindow,
GetID(),
GetPosition(), GetSize(),
GetStyle(wxT("style"), wxTAB_TRAVERSAL),
GetName());
SetupWindow(vlistbox);
CreateChildren(vlistbox);
return vlistbox;
}
bool wxVListBoxXmlHandler::CanHandle(wxXmlNode *node)
{
return IsOfClass(node, wxT("wxVListBox"));
}
#endif // wxUSE_XRC && wxUSE_LISTBOX
+1
View File
@@ -128,6 +128,7 @@ void wxXmlResource::InitAllHandlers()
#endif
#if wxUSE_LISTBOX
AddHandler(new wxListBoxXmlHandler);
AddHandler(new wxVListBoxXmlHandler);
#endif
#if wxUSE_LISTCTRL
AddHandler(new wxListCtrlXmlHandler);