diff --git a/Makefile.in b/Makefile.in index 73bc043727..131adf1318 100644 --- a/Makefile.in +++ b/Makefile.in @@ -2129,6 +2129,7 @@ STCDLL_OBJECTS = \ stcdll_stc.o \ stcdll_PlatWX.o \ stcdll_ScintillaWX.o \ + stcdll_xh_styledtextctrl.o \ $(__STC_PLATFORM_SRC_OBJECTS_2) STCDLL_ODEP = $(_____pch_wxprec_stcdll_wx_wxprec_h_gch___depname) STCLIB_CXXFLAGS = $(__stclib_PCH_INC) $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \ @@ -2153,6 +2154,7 @@ STCLIB_OBJECTS = \ stclib_stc.o \ stclib_PlatWX.o \ stclib_ScintillaWX.o \ + stclib_xh_styledtextctrl.o \ $(__STC_PLATFORM_SRC_OBJECTS_3) STCLIB_ODEP = $(_____pch_wxprec_stclib_wx_wxprec_h_gch___depname) GLDLL_CXXFLAGS = $(__gldll_PCH_INC) $(__INC_TIFF_BUILD_p) $(__INC_TIFF_p) \ @@ -4199,6 +4201,7 @@ COND_USE_GUI_1_ALL_GUI_HEADERS = \ wx/richtext/richtextxml.h \ wx/xrc/xh_richtext.h \ wx/stc/stc.h \ + wx/xrc/xh_styledtextctrl.h \ $(WEBVIEW_HDR_PLATFORM) \ wx/webview.h \ wx/webviewarchivehandler.h \ @@ -6245,6 +6248,7 @@ COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS = \ monodll_stc.o \ monodll_PlatWX.o \ monodll_ScintillaWX.o \ + monodll_xh_styledtextctrl.o \ $(__STC_PLATFORM_SRC_OBJECTS) @COND_USE_STC_1@__MONOLIB_STC_SRC_OBJECTS = $(COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS) @COND_TOOLKIT_OSX_COCOA@__STC_PLATFORM_SRC_OBJECTS = monodll_PlatWXcocoa.o @@ -8241,6 +8245,7 @@ COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS_1 = \ monolib_stc.o \ monolib_PlatWX.o \ monolib_ScintillaWX.o \ + monolib_xh_styledtextctrl.o \ $(__STC_PLATFORM_SRC_OBJECTS_1) @COND_USE_STC_1@__MONOLIB_STC_SRC_OBJECTS_1 = $(COND_USE_STC_1___MONOLIB_STC_SRC_OBJECTS_1) @COND_TOOLKIT_OSX_COCOA@__STC_PLATFORM_SRC_OBJECTS_1 \ @@ -17714,6 +17719,9 @@ monodll_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(MONODLL_ODEP) monodll_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp +monodll_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(MONODLL_ODEP) + $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp + monodll_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(MONODLL_ODEP) $(CXXC) -c -o $@ $(MONODLL_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm @@ -23003,6 +23011,9 @@ monolib_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(MONOLIB_ODEP) monolib_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp +monolib_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(MONOLIB_ODEP) + $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp + monolib_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(MONOLIB_ODEP) $(CXXC) -c -o $@ $(MONOLIB_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm @@ -36992,6 +37003,9 @@ stcdll_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(STCDLL_ODEP) stcdll_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(STCDLL_ODEP) $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp +stcdll_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(STCDLL_ODEP) + $(CXXC) -c -o $@ $(STCDLL_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp + stcdll_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(STCDLL_ODEP) $(CXXC) -c -o $@ $(STCDLL_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm @@ -37004,6 +37018,9 @@ stclib_PlatWX.o: $(srcdir)/src/stc/PlatWX.cpp $(STCLIB_ODEP) stclib_ScintillaWX.o: $(srcdir)/src/stc/ScintillaWX.cpp $(STCLIB_ODEP) $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/src/stc/ScintillaWX.cpp +stclib_xh_styledtextctrl.o: $(srcdir)/src/xrc/xh_styledtextctrl.cpp $(STCLIB_ODEP) + $(CXXC) -c -o $@ $(STCLIB_CXXFLAGS) $(srcdir)/src/xrc/xh_styledtextctrl.cpp + stclib_PlatWXcocoa.o: $(srcdir)/src/stc/PlatWXcocoa.mm $(STCLIB_ODEP) $(CXXC) -c -o $@ $(STCLIB_OBJCXXFLAGS) $(srcdir)/src/stc/PlatWXcocoa.mm diff --git a/build/bakefiles/files.bkl b/build/bakefiles/files.bkl index 20f690cf12..07dc81feaf 100644 --- a/build/bakefiles/files.bkl +++ b/build/bakefiles/files.bkl @@ -3441,10 +3441,12 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file! src/stc/stc.cpp src/stc/PlatWX.cpp src/stc/ScintillaWX.cpp + src/xrc/xh_styledtextctrl.cpp wx/stc/stc.h + wx/xrc/xh_styledtextctrl.h diff --git a/build/cmake/files.cmake b/build/cmake/files.cmake index 8e5bee9963..303cc22a0d 100644 --- a/build/cmake/files.cmake +++ b/build/cmake/files.cmake @@ -3206,10 +3206,12 @@ set(STC_CMN_SRC src/stc/stc.cpp src/stc/PlatWX.cpp src/stc/ScintillaWX.cpp + src/xrc/xh_styledtextctrl.cpp ) set(STC_CMN_HDR wx/stc/stc.h + wx/xrc/xh_styledtextctrl.h ) set(STC_OSX_COCOA_SRC diff --git a/build/files b/build/files index 66277ee757..7b6c96225f 100644 --- a/build/files +++ b/build/files @@ -3138,9 +3138,11 @@ STC_CMN_SRC = src/stc/stc.cpp src/stc/PlatWX.cpp src/stc/ScintillaWX.cpp + src/xrc/xh_styledtextctrl.cpp STC_CMN_HDR = wx/stc/stc.h + wx/xrc/xh_styledtextctrl.h STC_OSX_COCOA_SRC = src/stc/PlatWXcocoa.mm diff --git a/build/msw/makefile.gcc b/build/msw/makefile.gcc index fcb8ae9aa3..478e430068 100644 --- a/build/msw/makefile.gcc +++ b/build/msw/makefile.gcc @@ -1595,7 +1595,8 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_version_rc.o \ $(OBJS)\stcdll_stc.o \ $(OBJS)\stcdll_PlatWX.o \ - $(OBJS)\stcdll_ScintillaWX.o + $(OBJS)\stcdll_ScintillaWX.o \ + $(OBJS)\stcdll_xh_styledtextctrl.o STCLIB_CXXFLAGS = -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png \ -I..\..\src\zlib -I..\..\3rdparty\pcre\src\wx -I..\..\src\expat\expat\lib \ $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \ @@ -1611,7 +1612,8 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_dummy.o \ $(OBJS)\stclib_stc.o \ $(OBJS)\stclib_PlatWX.o \ - $(OBJS)\stclib_ScintillaWX.o + $(OBJS)\stclib_ScintillaWX.o \ + $(OBJS)\stclib_xh_styledtextctrl.o GLDLL_CXXFLAGS = -I..\..\src\tiff\libtiff -I..\..\src\jpeg -I..\..\src\png \ -I..\..\src\zlib -I..\..\3rdparty\pcre\src\wx -I..\..\src\expat\expat\lib \ $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) -D__WXMSW__ \ @@ -2538,7 +2540,8 @@ ifeq ($(USE_STC),1) ____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_stc.o \ $(OBJS)\monodll_PlatWX.o \ - $(OBJS)\monodll_ScintillaWX.o + $(OBJS)\monodll_ScintillaWX.o \ + $(OBJS)\monodll_xh_styledtextctrl.o endif ifeq ($(USE_STC),1) __wxscintilla_library_link_DEP = $(__wxscintilla) @@ -3380,7 +3383,8 @@ ifeq ($(USE_STC),1) ____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_stc.o \ $(OBJS)\monolib_PlatWX.o \ - $(OBJS)\monolib_ScintillaWX.o + $(OBJS)\monolib_ScintillaWX.o \ + $(OBJS)\monolib_xh_styledtextctrl.o endif ifeq ($(MONOLITHIC),0) ifeq ($(SHARED),1) @@ -8070,6 +8074,9 @@ $(OBJS)\monodll_PlatWX.o: ../../src/stc/PlatWX.cpp $(OBJS)\monodll_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monodll_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp + $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monodll_xml.o: ../../src/xml/xml.cpp $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $< @@ -10644,6 +10651,9 @@ $(OBJS)\monolib_PlatWX.o: ../../src/stc/PlatWX.cpp $(OBJS)\monolib_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\monolib_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp + $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\monolib_xml.o: ../../src/xml/xml.cpp $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $< @@ -17325,6 +17335,9 @@ $(OBJS)\stcdll_PlatWX.o: ../../src/stc/PlatWX.cpp $(OBJS)\stcdll_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\stcdll_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp + $(CXX) -c -o $@ $(STCDLL_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\stclib_dummy.o: ../../src/common/dummy.cpp $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $< @@ -17337,6 +17350,9 @@ $(OBJS)\stclib_PlatWX.o: ../../src/stc/PlatWX.cpp $(OBJS)\stclib_ScintillaWX.o: ../../src/stc/ScintillaWX.cpp $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $< +$(OBJS)\stclib_xh_styledtextctrl.o: ../../src/xrc/xh_styledtextctrl.cpp + $(CXX) -c -o $@ $(STCLIB_CXXFLAGS) $(CPPDEPS) $< + $(OBJS)\gldll_dummy.o: ../../src/common/dummy.cpp $(CXX) -c -o $@ $(GLDLL_CXXFLAGS) $(CPPDEPS) $< diff --git a/build/msw/makefile.vc b/build/msw/makefile.vc index e8fd66a266..8f0b989f49 100644 --- a/build/msw/makefile.vc +++ b/build/msw/makefile.vc @@ -1791,7 +1791,8 @@ STCDLL_OBJECTS = \ $(OBJS)\stcdll_dummy.obj \ $(OBJS)\stcdll_stc.obj \ $(OBJS)\stcdll_PlatWX.obj \ - $(OBJS)\stcdll_ScintillaWX.obj + $(OBJS)\stcdll_ScintillaWX.obj \ + $(OBJS)\stcdll_xh_styledtextctrl.obj STCDLL_RESOURCES = \ $(OBJS)\stcdll_version.res STCLIB_CXXFLAGS = /M$(__RUNTIME_LIBS_596)$(__DEBUGRUNTIME) /DWIN32 \ @@ -1813,7 +1814,8 @@ STCLIB_OBJECTS = \ $(OBJS)\stclib_dummy.obj \ $(OBJS)\stclib_stc.obj \ $(OBJS)\stclib_PlatWX.obj \ - $(OBJS)\stclib_ScintillaWX.obj + $(OBJS)\stclib_ScintillaWX.obj \ + $(OBJS)\stclib_xh_styledtextctrl.obj GLDLL_CXXFLAGS = /M$(__RUNTIME_LIBS_612)$(__DEBUGRUNTIME) /DWIN32 \ /I..\..\src\tiff\libtiff /I..\..\src\jpeg /I..\..\src\png /I..\..\src\zlib \ /I..\..\3rdparty\pcre\src\wx /I..\..\src\expat\expat\lib $(__DEBUGINFO) \ @@ -2865,7 +2867,8 @@ ____CORE_SRC_FILENAMES_OBJECTS = \ ____MONOLIB_STC_SRC_FILENAMES_OBJECTS = \ $(OBJS)\monodll_stc.obj \ $(OBJS)\monodll_PlatWX.obj \ - $(OBJS)\monodll_ScintillaWX.obj + $(OBJS)\monodll_ScintillaWX.obj \ + $(OBJS)\monodll_xh_styledtextctrl.obj !endif !if "$(USE_STC)" == "1" __wxscintilla_library_link_DEP = $(__wxscintilla) @@ -3707,7 +3710,8 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \ ____MONOLIB_STC_SRC_FILENAMES_1_OBJECTS = \ $(OBJS)\monolib_stc.obj \ $(OBJS)\monolib_PlatWX.obj \ - $(OBJS)\monolib_ScintillaWX.obj + $(OBJS)\monolib_ScintillaWX.obj \ + $(OBJS)\monolib_xh_styledtextctrl.obj !endif !if "$(MONOLITHIC)" == "0" && "$(SHARED)" == "1" __basedll___depname = \ @@ -8501,6 +8505,9 @@ $(OBJS)\monodll_PlatWX.obj: ..\..\src\stc\PlatWX.cpp $(OBJS)\monodll_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp +$(OBJS)\monodll_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp + $(OBJS)\monodll_xml.obj: ..\..\src\xml\xml.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\xml\xml.cpp @@ -11075,6 +11082,9 @@ $(OBJS)\monolib_PlatWX.obj: ..\..\src\stc\PlatWX.cpp $(OBJS)\monolib_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp +$(OBJS)\monolib_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp + $(OBJS)\monolib_xml.obj: ..\..\src\xml\xml.cpp $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\xml\xml.cpp @@ -17756,6 +17766,9 @@ $(OBJS)\stcdll_PlatWX.obj: ..\..\src\stc\PlatWX.cpp $(OBJS)\stcdll_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp +$(OBJS)\stcdll_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(STCDLL_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp + $(OBJS)\stclib_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp @@ -17768,6 +17781,9 @@ $(OBJS)\stclib_PlatWX.obj: ..\..\src\stc\PlatWX.cpp $(OBJS)\stclib_ScintillaWX.obj: ..\..\src\stc\ScintillaWX.cpp $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) ..\..\src\stc\ScintillaWX.cpp +$(OBJS)\stclib_xh_styledtextctrl.obj: ..\..\src\xrc\xh_styledtextctrl.cpp + $(CXX) /c /nologo /TP /Fo$@ $(STCLIB_CXXFLAGS) ..\..\src\xrc\xh_styledtextctrl.cpp + $(OBJS)\gldll_dummy.obj: ..\..\src\common\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(GLDLL_CXXFLAGS) /Ycwx/wxprec.h ..\..\src\common\dummy.cpp diff --git a/build/msw/wx_stc.vcxproj b/build/msw/wx_stc.vcxproj index 1324539720..2c1a39adfe 100644 --- a/build/msw/wx_stc.vcxproj +++ b/build/msw/wx_stc.vcxproj @@ -459,6 +459,7 @@ + @@ -469,6 +470,7 @@ + true true diff --git a/build/msw/wx_stc.vcxproj.filters b/build/msw/wx_stc.vcxproj.filters index 02b17b10f0..c1e005157b 100644 --- a/build/msw/wx_stc.vcxproj.filters +++ b/build/msw/wx_stc.vcxproj.filters @@ -34,6 +34,9 @@ Source Files + + Source Files + @@ -44,6 +47,9 @@ Common Headers + + Common Headers + diff --git a/build/msw/wx_vc8_core.vcproj b/build/msw/wx_vc8_core.vcproj index 9e1cc432f5..09618dfcda 100644 --- a/build/msw/wx_vc8_core.vcproj +++ b/build/msw/wx_vc8_core.vcproj @@ -4640,6 +4640,10 @@ RelativePath="..\..\include\wx\xrc\xh_sttxt.h" > + + diff --git a/build/msw/wx_vc8_stc.vcproj b/build/msw/wx_vc8_stc.vcproj index 54dd96af1d..ea3c2dcbac 100644 --- a/build/msw/wx_vc8_stc.vcproj +++ b/build/msw/wx_vc8_stc.vcproj @@ -1057,6 +1057,10 @@ RelativePath="..\..\include\wx\stc\stc.h" > + + + + diff --git a/build/msw/wx_vc9_core.vcproj b/build/msw/wx_vc9_core.vcproj index 0fce999ed3..8beb7d2ef1 100644 --- a/build/msw/wx_vc9_core.vcproj +++ b/build/msw/wx_vc9_core.vcproj @@ -4636,6 +4636,10 @@ RelativePath="..\..\include\wx\xrc\xh_sttxt.h" > + + diff --git a/build/msw/wx_vc9_stc.vcproj b/build/msw/wx_vc9_stc.vcproj index 686e743096..cecb7aff82 100644 --- a/build/msw/wx_vc9_stc.vcproj +++ b/build/msw/wx_vc9_stc.vcproj @@ -1053,6 +1053,10 @@ RelativePath="..\..\include\wx\stc\stc.h" > + + + + diff --git a/docs/doxygen/overviews/xrc_format.h b/docs/doxygen/overviews/xrc_format.h index bf9d0d7417..015c8a182c 100644 --- a/docs/doxygen/overviews/xrc_format.h +++ b/docs/doxygen/overviews/xrc_format.h @@ -2110,6 +2110,26 @@ No additional properties. wxStaticText::Wrap() (default: no wrap).} @endTable +@subsubsection xrc_wxstyledtextctrl wxStyledTextCtrl + +@beginTable +@hdr3col{property, type, description} +@row3col{wrapmode, @ref overview_xrcformat_type_style, + Set wrapmode to wxSTC_WRAP_WORD to enable wrapping on word or style boundaries, + wxSTC_WRAP_CHAR to enable wrapping between any characters, wxSTC_WRAP_WHITESPACE + to enable wrapping on whitespace, and wxSTC_WRAP_NONE to disable line wrapping + (default: wxSTC_WRAP_NONE).} +@endTable + +Notice that wxStyledTextCtrl support in XRC is available in wxWidgets 3.1.6 and +later only and you need to explicitly register its handler using +@code + #include + + AddHandler(new wxStyledTextCtrl); +@endcode +to use it. + @subsubsection xrc_wxtextctrl wxTextCtrl @beginTable diff --git a/include/wx/xrc/xh_styledtextctrl.h b/include/wx/xrc/xh_styledtextctrl.h new file mode 100644 index 0000000000..fb78a357fa --- /dev/null +++ b/include/wx/xrc/xh_styledtextctrl.h @@ -0,0 +1,29 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: wx/xrc/xh_styledtextctrl.h +// Purpose: XML resource handler for wxStyledTextCtrl +// Author: Alexander Koshelev +// Created: 2021-09-22 +// Copyright: (c) 2021 TT-Solutions SARL +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_XH_STYLEDTEXTCTRL_H_ +#define _WX_XH_STYLEDTEXTCTRL_H_ + +#include "wx/xrc/xmlres.h" + +#if wxUSE_XRC && wxUSE_STC + +class WXDLLIMPEXP_STC wxStyledTextCtrlXmlHandler : public wxXmlResourceHandler +{ + wxDECLARE_DYNAMIC_CLASS(wxStyledTextCtrlXmlHandler); + +public: + wxStyledTextCtrlXmlHandler(); + virtual wxObject *DoCreateResource() wxOVERRIDE; + virtual bool CanHandle(wxXmlNode *node) wxOVERRIDE; +}; + +#endif // wxUSE_XRC && wxUSE_STC + +#endif // _WX_XH_STYLEDTEXTCTRL_H_ diff --git a/src/xrc/xh_styledtextctrl.cpp b/src/xrc/xh_styledtextctrl.cpp new file mode 100644 index 0000000000..324e8fc9de --- /dev/null +++ b/src/xrc/xh_styledtextctrl.cpp @@ -0,0 +1,57 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/xrc/xh_styledtextctrl.cpp +// Purpose: XRC resource for wxStyledTextCtrl +// Author: Alexander Koshelev +// Created: 2021-09-22 +// Copyright: (c) 2021 TT-Solutions SARL +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + + +#if wxUSE_XRC && wxUSE_STC + +#include "wx/xrc/xh_styledtextctrl.h" +#include "wx/stc/stc.h" + +wxIMPLEMENT_DYNAMIC_CLASS(wxStyledTextCtrlXmlHandler, wxXmlResourceHandler); + +wxStyledTextCtrlXmlHandler::wxStyledTextCtrlXmlHandler() +{ + XRC_ADD_STYLE(wxSTC_WRAP_NONE); + XRC_ADD_STYLE(wxSTC_WRAP_WORD); + XRC_ADD_STYLE(wxSTC_WRAP_CHAR); + XRC_ADD_STYLE(wxSTC_WRAP_WHITESPACE); + + AddWindowStyles(); +} + +wxObject *wxStyledTextCtrlXmlHandler::DoCreateResource() +{ + XRC_MAKE_INSTANCE(control, wxStyledTextCtrl) + + control->Create(m_parentAsWindow, + GetID(), + GetPosition(), + GetSize(), + GetStyle(), + GetName()); + + SetupWindow(control); + + if (HasParam("wrapmode")) + { + control->SetWrapMode(GetStyle("wrapmode")); + } + + return control; +} + +bool wxStyledTextCtrlXmlHandler::CanHandle(wxXmlNode *node) +{ + return IsOfClass(node, "wxStyledTextCtrl"); +} + +#endif // wxUSE_XRC && wxUSE_STC