monodll_richtextbuffer.o \
monodll_richtextstyles.o \
monodll_richtextxml.o \
+ monodll_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS) \
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS)
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS)
monodll_richtextbuffer.o \
monodll_richtextstyles.o \
monodll_richtextxml.o \
+ monodll_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS)
@COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS)
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS \
monolib_richtextbuffer.o \
monolib_richtextstyles.o \
monolib_richtextxml.o \
+ monolib_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_0) \
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1)
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_1)
monolib_richtextbuffer.o \
monolib_richtextstyles.o \
monolib_richtextxml.o \
+ monolib_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_0)
@COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_1 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_1)
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_1 \
advdll_richtextbuffer.o \
advdll_richtextstyles.o \
advdll_richtextxml.o \
+ advdll_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_8) \
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2)
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_2)
advdll_richtextbuffer.o \
advdll_richtextstyles.o \
advdll_richtextxml.o \
+ advdll_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_8)
@COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_2 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_2)
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_2 \
advlib_richtextbuffer.o \
advlib_richtextstyles.o \
advlib_richtextxml.o \
+ advlib_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_9) \
$(__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3)
@COND_WXUNIV_0@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_0___ADVANCED_SRC_OBJECTS_3)
advlib_richtextbuffer.o \
advlib_richtextstyles.o \
advlib_richtextxml.o \
+ advlib_richtexthtml.o \
$(__ADVANCED_PLATFORM_SRC_OBJECTS_9)
@COND_WXUNIV_1@__ADVANCED_SRC_OBJECTS_3 = $(COND_WXUNIV_1___ADVANCED_SRC_OBJECTS_3)
@COND_TOOLKIT_MSW@__ADVANCED_PLATFORM_NATIVE_SRC_OBJECTS_3 \
@COND_USE_GUI_1@monodll_richtextxml.o: $(srcdir)/src/richtext/richtextxml.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/richtext/richtextxml.cpp
+@COND_USE_GUI_1@monodll_richtexthtml.o: $(srcdir)/src/richtext/richtexthtml.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/richtext/richtexthtml.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
@COND_USE_GUI_1@monolib_richtextxml.o: $(srcdir)/src/richtext/richtextxml.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/richtext/richtextxml.cpp
+@COND_USE_GUI_1@monolib_richtexthtml.o: $(srcdir)/src/richtext/richtexthtml.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/richtext/richtexthtml.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
advdll_richtextxml.o: $(srcdir)/src/richtext/richtextxml.cpp $(ADVDLL_ODEP)
$(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/richtext/richtextxml.cpp
+advdll_richtexthtml.o: $(srcdir)/src/richtext/richtexthtml.cpp $(ADVDLL_ODEP)
+ $(CXXC) -c -o $@ $(ADVDLL_CXXFLAGS) $(srcdir)/src/richtext/richtexthtml.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
advlib_richtextxml.o: $(srcdir)/src/richtext/richtextxml.cpp $(ADVLIB_ODEP)
$(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/richtext/richtextxml.cpp
+advlib_richtexthtml.o: $(srcdir)/src/richtext/richtexthtml.cpp $(ADVLIB_ODEP)
+ $(CXXC) -c -o $@ $(ADVLIB_CXXFLAGS) $(srcdir)/src/richtext/richtexthtml.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
src/richtext/richtextbuffer.cpp
src/richtext/richtextstyles.cpp
src/richtext/richtextxml.cpp
+ src/richtext/richtexthtml.cpp
</set>
<set var="ADVANCED_CMN_HDR" hints="files">
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
$(OBJS)\monodll_richtextxml.obj \
+ $(OBJS)\monodll_richtexthtml.obj \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
$(OBJS)\monodll_richtextxml.obj \
+ $(OBJS)\monodll_richtexthtml.obj \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
$(OBJS)\monolib_richtextxml.obj \
+ $(OBJS)\monolib_richtexthtml.obj \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
$(OBJS)\monolib_richtextxml.obj \
+ $(OBJS)\monolib_richtexthtml.obj \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\advdll_richtextbuffer.obj \
$(OBJS)\advdll_richtextstyles.obj \
$(OBJS)\advdll_richtextxml.obj \
+ $(OBJS)\advdll_richtexthtml.obj \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advdll_richtextbuffer.obj \
$(OBJS)\advdll_richtextstyles.obj \
$(OBJS)\advdll_richtextxml.obj \
+ $(OBJS)\advdll_richtexthtml.obj \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advlib_richtextbuffer.obj \
$(OBJS)\advlib_richtextstyles.obj \
$(OBJS)\advlib_richtextxml.obj \
+ $(OBJS)\advlib_richtexthtml.obj \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(OBJS)\advlib_richtextbuffer.obj \
$(OBJS)\advlib_richtextstyles.obj \
$(OBJS)\advlib_richtextxml.obj \
+ $(OBJS)\advlib_richtexthtml.obj \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) $**
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) $**
$(OBJS)\advdll_richtextxml.obj: ..\..\src\richtext\richtextxml.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
+$(OBJS)\advdll_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
+
$(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVDLL_CXXFLAGS) $**
$(OBJS)\advlib_richtextxml.obj: ..\..\src\richtext\richtextxml.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
+$(OBJS)\advlib_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
+
$(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) -q -c -P -o$@ $(ADVLIB_CXXFLAGS) $**
$(OBJS)\monodll_richtextbuffer.o \
$(OBJS)\monodll_richtextstyles.o \
$(OBJS)\monodll_richtextxml.o \
+ $(OBJS)\monodll_richtexthtml.o \
$(OBJS)\monodll_taskbarcmn.o \
$(OBJS)\monodll_sound.o \
$(OBJS)\monodll_taskbar.o \
$(OBJS)\monodll_richtextbuffer.o \
$(OBJS)\monodll_richtextstyles.o \
$(OBJS)\monodll_richtextxml.o \
+ $(OBJS)\monodll_richtexthtml.o \
$(OBJS)\monodll_taskbarcmn.o \
$(OBJS)\monodll_sound.o \
$(OBJS)\monodll_taskbar.o \
$(OBJS)\monolib_richtextbuffer.o \
$(OBJS)\monolib_richtextstyles.o \
$(OBJS)\monolib_richtextxml.o \
+ $(OBJS)\monolib_richtexthtml.o \
$(OBJS)\monolib_taskbarcmn.o \
$(OBJS)\monolib_sound.o \
$(OBJS)\monolib_taskbar.o \
$(OBJS)\monolib_richtextbuffer.o \
$(OBJS)\monolib_richtextstyles.o \
$(OBJS)\monolib_richtextxml.o \
+ $(OBJS)\monolib_richtexthtml.o \
$(OBJS)\monolib_taskbarcmn.o \
$(OBJS)\monolib_sound.o \
$(OBJS)\monolib_taskbar.o \
$(OBJS)\advdll_richtextbuffer.o \
$(OBJS)\advdll_richtextstyles.o \
$(OBJS)\advdll_richtextxml.o \
+ $(OBJS)\advdll_richtexthtml.o \
$(OBJS)\advdll_taskbarcmn.o \
$(OBJS)\advdll_sound.o \
$(OBJS)\advdll_taskbar.o \
$(OBJS)\advdll_richtextbuffer.o \
$(OBJS)\advdll_richtextstyles.o \
$(OBJS)\advdll_richtextxml.o \
+ $(OBJS)\advdll_richtexthtml.o \
$(OBJS)\advdll_taskbarcmn.o \
$(OBJS)\advdll_sound.o \
$(OBJS)\advdll_taskbar.o \
$(OBJS)\advlib_richtextbuffer.o \
$(OBJS)\advlib_richtextstyles.o \
$(OBJS)\advlib_richtextxml.o \
+ $(OBJS)\advlib_richtexthtml.o \
$(OBJS)\advlib_taskbarcmn.o \
$(OBJS)\advlib_sound.o \
$(OBJS)\advlib_taskbar.o \
$(OBJS)\advlib_richtextbuffer.o \
$(OBJS)\advlib_richtextstyles.o \
$(OBJS)\advlib_richtextxml.o \
+ $(OBJS)\advlib_richtexthtml.o \
$(OBJS)\advlib_taskbarcmn.o \
$(OBJS)\advlib_sound.o \
$(OBJS)\advlib_taskbar.o \
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
endif
+ifeq ($(USE_GUI),1)
+$(OBJS)\monodll_richtexthtml.o: ../../src/richtext/richtexthtml.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) $<
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
endif
+ifeq ($(USE_GUI),1)
+$(OBJS)\monolib_richtexthtml.o: ../../src/richtext/richtexthtml.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) $<
$(OBJS)\advdll_richtextxml.o: ../../src/richtext/richtextxml.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\advdll_richtexthtml.o: ../../src/richtext/richtexthtml.cpp
+ $(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\advdll_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
$(CXX) -c -o $@ $(ADVDLL_CXXFLAGS) $(CPPDEPS) $<
$(OBJS)\advlib_richtextxml.o: ../../src/richtext/richtextxml.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\advlib_richtexthtml.o: ../../src/richtext/richtexthtml.cpp
+ $(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\advlib_taskbarcmn.o: ../../src/common/taskbarcmn.cpp
$(CXX) -c -o $@ $(ADVLIB_CXXFLAGS) $(CPPDEPS) $<
!if "$(WXUNIV)" == "1"
WXUNIVNAME = univ
!endif
-!if "$(TARGET_CPU)" == "AMD64"
+!if "$(TARGET_CPU)" == "amd64"
DIR_SUFFIX_CPU = _amd64
!endif
-!if "$(TARGET_CPU)" == "IA64"
+!if "$(TARGET_CPU)" == "amd64"
+DIR_SUFFIX_CPU = _amd64
+!endif
+!if "$(TARGET_CPU)" == "ia64"
+DIR_SUFFIX_CPU = _ia64
+!endif
+!if "$(TARGET_CPU)" == "ia64"
DIR_SUFFIX_CPU = _ia64
!endif
!if "$(SHARED)" == "1"
!if "$(SHARED)" == "1"
LIBTYPE_SUFFIX = dll
!endif
-!if "$(TARGET_CPU)" == "AMD64"
+!if "$(TARGET_CPU)" == "amd64"
+LINK_TARGET_CPU = /MACHINE:AMD64
+!endif
+!if "$(TARGET_CPU)" == "amd64"
LINK_TARGET_CPU = /MACHINE:AMD64
!endif
-!if "$(TARGET_CPU)" == "IA64"
+!if "$(TARGET_CPU)" == "ia64"
+LINK_TARGET_CPU = /MACHINE:IA64
+!endif
+!if "$(TARGET_CPU)" == "ia64"
LINK_TARGET_CPU = /MACHINE:IA64
!endif
!if "$(RUNTIME_LIBS)" == "dynamic"
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
$(OBJS)\monodll_richtextxml.obj \
+ $(OBJS)\monodll_richtexthtml.obj \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monodll_richtextbuffer.obj \
$(OBJS)\monodll_richtextstyles.obj \
$(OBJS)\monodll_richtextxml.obj \
+ $(OBJS)\monodll_richtexthtml.obj \
$(OBJS)\monodll_taskbarcmn.obj \
$(OBJS)\monodll_sound.obj \
$(OBJS)\monodll_taskbar.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
$(OBJS)\monolib_richtextxml.obj \
+ $(OBJS)\monolib_richtexthtml.obj \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\monolib_richtextbuffer.obj \
$(OBJS)\monolib_richtextstyles.obj \
$(OBJS)\monolib_richtextxml.obj \
+ $(OBJS)\monolib_richtexthtml.obj \
$(OBJS)\monolib_taskbarcmn.obj \
$(OBJS)\monolib_sound.obj \
$(OBJS)\monolib_taskbar.obj \
$(OBJS)\advdll_richtextbuffer.obj \
$(OBJS)\advdll_richtextstyles.obj \
$(OBJS)\advdll_richtextxml.obj \
+ $(OBJS)\advdll_richtexthtml.obj \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advdll_richtextbuffer.obj \
$(OBJS)\advdll_richtextstyles.obj \
$(OBJS)\advdll_richtextxml.obj \
+ $(OBJS)\advdll_richtexthtml.obj \
$(OBJS)\advdll_taskbarcmn.obj \
$(OBJS)\advdll_sound.obj \
$(OBJS)\advdll_taskbar.obj \
$(OBJS)\advlib_richtextbuffer.obj \
$(OBJS)\advlib_richtextstyles.obj \
$(OBJS)\advlib_richtextxml.obj \
+ $(OBJS)\advlib_richtexthtml.obj \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(OBJS)\advlib_richtextbuffer.obj \
$(OBJS)\advlib_richtextstyles.obj \
$(OBJS)\advlib_richtextxml.obj \
+ $(OBJS)\advlib_richtexthtml.obj \
$(OBJS)\advlib_taskbarcmn.obj \
$(OBJS)\advlib_sound.obj \
$(OBJS)\advlib_taskbar.obj \
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monodll_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) $**
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
!endif
+!if "$(USE_GUI)" == "1"
+$(OBJS)\monolib_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
+!endif
+
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) $**
$(OBJS)\advdll_richtextxml.obj: ..\..\src\richtext\richtextxml.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
+$(OBJS)\advdll_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
+
$(OBJS)\advdll_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVDLL_CXXFLAGS) $**
$(OBJS)\advlib_richtextxml.obj: ..\..\src\richtext\richtextxml.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
+$(OBJS)\advlib_richtexthtml.obj: ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
+
$(OBJS)\advlib_taskbarcmn.obj: ..\..\src\common\taskbarcmn.cpp
$(CXX) /c /nologo /TP /Fo$@ $(ADVLIB_CXXFLAGS) $**
$(OBJS)\monodll_richtextbuffer.obj &
$(OBJS)\monodll_richtextstyles.obj &
$(OBJS)\monodll_richtextxml.obj &
+ $(OBJS)\monodll_richtexthtml.obj &
$(OBJS)\monodll_taskbarcmn.obj &
$(OBJS)\monodll_sound.obj &
$(OBJS)\monodll_taskbar.obj &
$(OBJS)\monodll_richtextbuffer.obj &
$(OBJS)\monodll_richtextstyles.obj &
$(OBJS)\monodll_richtextxml.obj &
+ $(OBJS)\monodll_richtexthtml.obj &
$(OBJS)\monodll_taskbarcmn.obj &
$(OBJS)\monodll_sound.obj &
$(OBJS)\monodll_taskbar.obj &
$(OBJS)\monolib_richtextbuffer.obj &
$(OBJS)\monolib_richtextstyles.obj &
$(OBJS)\monolib_richtextxml.obj &
+ $(OBJS)\monolib_richtexthtml.obj &
$(OBJS)\monolib_taskbarcmn.obj &
$(OBJS)\monolib_sound.obj &
$(OBJS)\monolib_taskbar.obj &
$(OBJS)\monolib_richtextbuffer.obj &
$(OBJS)\monolib_richtextstyles.obj &
$(OBJS)\monolib_richtextxml.obj &
+ $(OBJS)\monolib_richtexthtml.obj &
$(OBJS)\monolib_taskbarcmn.obj &
$(OBJS)\monolib_sound.obj &
$(OBJS)\monolib_taskbar.obj &
$(OBJS)\advdll_richtextbuffer.obj &
$(OBJS)\advdll_richtextstyles.obj &
$(OBJS)\advdll_richtextxml.obj &
+ $(OBJS)\advdll_richtexthtml.obj &
$(OBJS)\advdll_taskbarcmn.obj &
$(OBJS)\advdll_sound.obj &
$(OBJS)\advdll_taskbar.obj &
$(OBJS)\advdll_richtextbuffer.obj &
$(OBJS)\advdll_richtextstyles.obj &
$(OBJS)\advdll_richtextxml.obj &
+ $(OBJS)\advdll_richtexthtml.obj &
$(OBJS)\advdll_taskbarcmn.obj &
$(OBJS)\advdll_sound.obj &
$(OBJS)\advdll_taskbar.obj &
$(OBJS)\advlib_richtextbuffer.obj &
$(OBJS)\advlib_richtextstyles.obj &
$(OBJS)\advlib_richtextxml.obj &
+ $(OBJS)\advlib_richtexthtml.obj &
$(OBJS)\advlib_taskbarcmn.obj &
$(OBJS)\advlib_sound.obj &
$(OBJS)\advlib_taskbar.obj &
$(OBJS)\advlib_richtextbuffer.obj &
$(OBJS)\advlib_richtextstyles.obj &
$(OBJS)\advlib_richtextxml.obj &
+ $(OBJS)\advlib_richtexthtml.obj &
$(OBJS)\advlib_taskbarcmn.obj &
$(OBJS)\advlib_sound.obj &
$(OBJS)\advlib_taskbar.obj &
$(CXX) -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
!endif
+!ifeq USE_GUI 1
+$(OBJS)\monodll_richtexthtml.obj : .AUTODEPEND ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
!ifeq USE_GUI 1
$(OBJS)\monodll_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
$(CXX) -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
$(CXX) -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
!endif
+!ifeq USE_GUI 1
+$(OBJS)\monolib_richtexthtml.obj : .AUTODEPEND ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
!ifeq USE_GUI 1
$(OBJS)\monolib_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
$(CXX) -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
$(OBJS)\advdll_richtextxml.obj : .AUTODEPEND ..\..\src\richtext\richtextxml.cpp
$(CXX) -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+$(OBJS)\advdll_richtexthtml.obj : .AUTODEPEND ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
+
$(OBJS)\advdll_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
$(CXX) -zq -fo=$^@ $(ADVDLL_CXXFLAGS) $<
$(OBJS)\advlib_richtextxml.obj : .AUTODEPEND ..\..\src\richtext\richtextxml.cpp
$(CXX) -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+$(OBJS)\advlib_richtexthtml.obj : .AUTODEPEND ..\..\src\richtext\richtexthtml.cpp
+ $(CXX) -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
+
$(OBJS)\advlib_taskbarcmn.obj : .AUTODEPEND ..\..\src\common\taskbarcmn.cpp
$(CXX) -zq -fo=$^@ $(ADVLIB_CXXFLAGS) $<
# End Source File
# Begin Source File
+SOURCE=..\..\src\richtext\richtexthtml.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\richtext\richtextstyles.cpp
# End Source File
# Begin Source File
virtual bool IsVisible() const { return m_visible; }
virtual void SetVisible(bool visible) { m_visible = visible; }
+ /// The name of the nandler
void SetName(const wxString& name) { m_name = name; }
wxString GetName() const { return m_name; }
+ /// The default extension to recognise
void SetExtension(const wxString& ext) { m_extension = ext; }
wxString GetExtension() const { return m_extension; }
+ /// The handler type
void SetType(int type) { m_type = type; }
int GetType() const { return m_type; }
+ /// Encoding to use when saving a file. If empty, a suitable encoding is chosen
+ void SetEncoding(const wxString& encoding) { m_encoding = encoding; }
+ const wxString& GetEncoding() const { return m_encoding; }
+
protected:
#if wxUSE_STREAMS
#endif
wxString m_name;
+ wxString m_encoding;
wxString m_extension;
int m_type;
bool m_visible;
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: wx/richtext/richedithtml.h
+// Purpose: HTML I/O for wxRichTextCtrl
+// Author: Julian Smart
+// Modified by:
+// Created: 2005-09-30
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_RICHTEXTHTML_H_
+#define _WX_RICHTEXTHTML_H_
+
+/*!
+ * Includes
+ */
+
+#include "wx/richtext/richtextbuffer.h"
+
+/*!
+ * wxRichTextHTMLHandler
+ */
+
+class WXDLLIMPEXP_ADV wxRichTextHTMLHandler: public wxRichTextFileHandler
+{
+ DECLARE_CLASS(wxRichTextHTMLHandler)
+public:
+ wxRichTextHTMLHandler(const wxString& name = wxT("HTML"), const wxString& ext = wxT("html"), int type = wxRICHTEXT_TYPE_HTML)
+ : wxRichTextFileHandler(name, ext, type)
+ { }
+
+#if wxUSE_STREAMS
+ virtual bool DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& stream);
+ virtual bool DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream);
+#endif
+
+ /// Can we save using this handler?
+ virtual bool CanSave() const { return true; }
+
+ /// Can we load using this handler?
+ virtual bool CanLoad() const { return false; }
+
+ /// Can we handle this filename (if using files)? By default, checks the extension.
+ virtual bool CanHandle(const wxString& filename) const;
+
+ /// Output character formatting
+ virtual void OutputCharacterFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
+
+ /// Output paragraph formatting
+ virtual void OutputParagraphFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
+
+protected:
+
+};
+
+#endif
+ // _WX_RICHTEXTXML_H_
};
-/*!
- * wxRichTextHTMLHandler
- */
-
-class WXDLLIMPEXP_ADV wxRichTextHTMLHandler: public wxRichTextFileHandler
-{
- DECLARE_CLASS(wxRichTextHTMLHandler)
-public:
- wxRichTextHTMLHandler(const wxString& name = wxT("HTML"), const wxString& ext = wxT("html"), int type = wxRICHTEXT_TYPE_HTML)
- : wxRichTextFileHandler(name, ext, type)
- { }
-
-#if wxUSE_STREAMS
- virtual bool DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& stream);
- virtual bool DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream);
-#endif
-
- /// Can we save using this handler?
- virtual bool CanSave() const { return true; }
-
- /// Can we load using this handler?
- virtual bool CanLoad() const { return false; }
-
- /// Can we handle this filename (if using files)? By default, checks the extension.
- virtual bool CanHandle(const wxString& filename) const;
-
- /// Output character formatting
- virtual void OutputCharacterFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
-
- /// Output paragraph formatting
- virtual void OutputParagraphFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start);
-
-protected:
-
-};
-
#endif
// wxUSE_RICHTEXT && wxUSE_XML
#include "wx/richtext/richtextctrl.h"
#include "wx/richtext/richtextstyles.h"
#include "wx/richtext/richtextxml.h"
+#include "wx/richtext/richtexthtml.h"
// ----------------------------------------------------------------------------
// resources
--- /dev/null
+/////////////////////////////////////////////////////////////////////////////
+// Name: richtext/richtexthtml.cpp
+// Purpose: HTML I/O for wxRichTextCtrl
+// Author: Julian Smart
+// Modified by:
+// Created: 2005-09-30
+// RCS-ID: $Id$
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_RICHTEXT
+
+#include "wx/richtext/richtexthtml.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/wx.h"
+#endif
+
+#include "wx/filename.h"
+#include "wx/wfstream.h"
+#include "wx/txtstrm.h"
+
+IMPLEMENT_DYNAMIC_CLASS(wxRichTextHTMLHandler, wxRichTextFileHandler)
+
+/// Can we handle this filename (if using files)? By default, checks the extension.
+bool wxRichTextHTMLHandler::CanHandle(const wxString& filename) const
+{
+ wxString path, file, ext;
+ wxSplitPath(filename, & path, & file, & ext);
+
+ return (ext.Lower() == wxT("html") || ext.Lower() == wxT("htm"));
+}
+
+
+#if wxUSE_STREAMS
+bool wxRichTextHTMLHandler::DoLoadFile(wxRichTextBuffer *WXUNUSED(buffer), wxInputStream& WXUNUSED(stream))
+{
+ return false;
+}
+
+/*
+ * We need to output only _changes_ in character formatting.
+ */
+
+bool wxRichTextHTMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream)
+{
+ buffer->Defragment();
+
+ wxTextOutputStream str(stream);
+
+ wxTextAttrEx currentParaStyle = buffer->GetAttributes();
+ wxTextAttrEx currentCharStyle = buffer->GetAttributes();
+
+ str << wxT("<html><head></head><body>\n");
+
+ wxRichTextObjectList::compatibility_iterator node = buffer->GetChildren().GetFirst();
+ while (node)
+ {
+ wxRichTextParagraph* para = wxDynamicCast(node->GetData(), wxRichTextParagraph);
+ wxASSERT (para != NULL);
+
+ if (para)
+ {
+ OutputParagraphFormatting(currentParaStyle, para->GetAttributes(), stream, true);
+
+ wxRichTextObjectList::compatibility_iterator node2 = para->GetChildren().GetFirst();
+ while (node2)
+ {
+ wxRichTextObject* obj = node2->GetData();
+ wxRichTextPlainText* textObj = wxDynamicCast(obj, wxRichTextPlainText);
+ if (textObj && !textObj->IsEmpty())
+ {
+ OutputCharacterFormatting(currentCharStyle, obj->GetAttributes(), stream, true);
+
+ str << textObj->GetText();
+
+ OutputCharacterFormatting(currentCharStyle, obj->GetAttributes(), stream, false);
+ }
+
+ node2 = node2->GetNext();
+ }
+
+ OutputParagraphFormatting(currentParaStyle, para->GetAttributes(), stream, false);
+
+ str << wxT("<P>\n");
+ }
+
+ node = node->GetNext();
+ }
+
+ str << wxT("</body></html>\n");
+
+ return true;
+}
+
+/// Output character formatting
+void wxRichTextHTMLHandler::OutputCharacterFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start)
+{
+ wxTextOutputStream str(stream);
+
+ bool isBold = false;
+ bool isItalic = false;
+ bool isUnderline = false;
+ wxString faceName;
+
+ if (thisStyle.GetFont().Ok())
+ {
+ if (thisStyle.GetFont().GetWeight() == wxBOLD)
+ isBold = true;
+ if (thisStyle.GetFont().GetStyle() == wxITALIC)
+ isItalic = true;
+ if (thisStyle.GetFont().GetUnderlined())
+ isUnderline = true;
+
+ faceName = thisStyle.GetFont().GetFaceName();
+ }
+
+ if (start)
+ {
+ if (isBold)
+ str << wxT("<b>");
+ if (isItalic)
+ str << wxT("<i>");
+ if (isUnderline)
+ str << wxT("<u>");
+ }
+ else
+ {
+ if (isUnderline)
+ str << wxT("</u>");
+ if (isItalic)
+ str << wxT("</i>");
+ if (isBold)
+ str << wxT("</b>");
+ }
+}
+
+/// Output paragraph formatting
+void wxRichTextHTMLHandler::OutputParagraphFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start)
+{
+ // TODO: lists, indentation (using tables), fonts, right-align, ...
+
+ wxTextOutputStream str(stream);
+ bool isCentered = false;
+
+ if (thisStyle.GetAlignment() == wxTEXT_ALIGNMENT_CENTRE)
+ {
+ isCentered = true;
+ }
+
+ if (start)
+ {
+ if (isCentered)
+ str << wxT("<center>");
+ }
+ else
+ {
+ if (isCentered)
+ str << wxT("</center>");
+ }
+}
+
+#endif
+ // wxUSE_STREAMS
+
+#endif
+ // wxUSE_RICHTEXT
+
#include "wx/module.h"
#include "wx/txtstrm.h"
#include "wx/xml/xml.h"
+#include "wx/intl.h"
IMPLEMENT_DYNAMIC_CLASS(wxRichTextXMLHandler, wxRichTextFileHandler)
wxXmlDocument* xmlDoc = new wxXmlDocument;
bool success = true;
- if (!xmlDoc->Load(stream, wxT("ISO-8859-1")))
+ // This is the encoding to convert to (memory encoding rather than file encoding)
+ wxString encoding(wxT("UTF-8"));
+
+#if !wxUSE_UNICODE && wxUSE_INTL
+ encoding = wxLocale::GetSystemEncodingName();
+#endif
+
+ if (!xmlDoc->Load(stream, encoding))
{
success = false;
}
if (text2.Length() > 0 && text2[text2.Length()-1] == wxT('"'))
text2 = text2.Mid(0, text2.Length() - 1);
- // TODO: further entity translation
- text2.Replace(wxT("<"), wxT("<"));
- text2.Replace(wxT(">"), wxT(">"));
- text2.Replace(wxT("&"), wxT("&"));
- text2.Replace(wxT("""), wxT("\""));
-
text += text2;
}
textChild = textChild->GetNext();
for (i = 0; i < len; i++)
{
c = str.GetChar(i);
+
+ // Original code excluded "&" but we _do_ want to convert
+ // the ampersand beginning & because otherwise when read in,
+ // the original "&" becomes "&".
+
if (c == wxT('<') || c == wxT('>') || c == wxT('"') ||
- (c == wxT('&') && (str.Mid(i+1, 4) != wxT("amp;"))))
+ (c == wxT('&') /* && (str.Mid(i+1, 4) != wxT("amp;")) */ ))
{
OutputString(stream, str.Mid(last, i - last), convMem, convFile);
switch (c)
OutputString(stream, str, NULL, NULL);
}
-static wxOutputStream& operator <<(wxOutputStream& stream, const wxString& s)
-{
- stream.Write(s, s.Length());
- return stream;
-}
-
-#if 0
-static wxOutputStream& operator <<(wxOutputStream& stream, long l)
-{
- wxString str;
- str.Printf(wxT("%ld"), l);
- return stream << str;
-}
-
-static wxOutputStream& operator <<(wxOutputStream& stream, const char c)
-{
- wxString str;
- str.Printf(wxT("%c"), c);
- return stream << str;
-}
-#endif
-
// Convert a colour to a 6-digit hex string
static wxString ColourToHexString(const wxColour& col)
{
}
// Convert 6-digit hex string to a colour
-wxColour HexStringToColour(const wxString& hex)
+static wxColour HexStringToColour(const wxString& hex)
{
unsigned char r = (unsigned char)wxHexToDec(hex.Mid(0, 2));
unsigned char g = (unsigned char)wxHexToDec(hex.Mid(2, 2));
return false;
wxString version(wxT("1.0") ) ;
+
+ bool deleteConvFile = false;
+ wxString fileEncoding;
+ wxMBConv* convFile = NULL;
+
#if wxUSE_UNICODE
- wxString fileencoding(wxT("UTF-8")) ;
- wxString memencoding(wxT("UTF-8")) ;
+ fileEncoding = wxT("UTF-8");
+ convFile = & wxConvUTF8;
#else
- wxString fileencoding(wxT("ISO-8859-1")) ;
- wxString memencoding(wxT("ISO-8859-1")) ;
+ fileEncoding = wxT("ISO-8859-1");
+ convFile = & wxConvISO8859_1;
#endif
- wxString s ;
- wxMBConv *convMem = NULL, *convFile = NULL;
+ // If SetEncoding has been called, change the output encoding.
+ if (!m_encoding.IsEmpty() && m_encoding.Lower() != fileEncoding.Lower())
+ {
+ if (m_encoding == wxT("<System>"))
+ {
+ fileEncoding = wxLocale::GetSystemEncodingName();
+ }
+ else
+ {
+ fileEncoding = m_encoding;
+ }
+
+ // GetSystemEncodingName may not have returned a name
+ if (fileEncoding.IsEmpty())
#if wxUSE_UNICODE
- convFile = new wxCSConv(fileencoding);
+ fileEncoding = wxT("UTF-8");
#else
- if ( fileencoding != memencoding )
- {
- convFile = new wxCSConv(fileencoding);
- convMem = new wxCSConv(memencoding);
+ fileEncoding = wxT("ISO-8859-1");
+#endif
+ convFile = new wxCSConv(fileEncoding);
+ deleteConvFile = true;
}
+
+#if !wxUSE_UNICODE
+ wxMBConv* convMem = wxConvCurrent;
+#else
+ wxMBConv* convMem = NULL;
#endif
+ wxString s ;
s.Printf(wxT("<?xml version=\"%s\" encoding=\"%s\"?>\n"),
- (const wxChar*) version, (const wxChar*) fileencoding );
+ (const wxChar*) version, (const wxChar*) fileEncoding );
OutputString(stream, s, NULL, NULL);
OutputString(stream, wxT("<richtext version=\"1.0.0.0\" xmlns=\"http://www.wxwidgets.org\">") , NULL, NULL);
int level = 1;
- ExportXML(stream, convMem, convFile, *buffer, level);
+ bool success = ExportXML(stream, convMem, convFile, *buffer, level);
OutputString(stream, wxT("\n</richtext>") , NULL, NULL);
OutputString(stream, wxT("\n"), NULL, NULL);
- delete convFile;
- delete convMem;
-
- return true;
+ if (deleteConvFile)
+ delete convFile;
+
+ return success;
}
/// Recursively export an object
wxRichTextPlainText& text = (wxRichTextPlainText&) obj;
OutputIndentation(stream, indent);
- stream << wxT("<") << objectName;
+ OutputString(stream, wxT("<") + objectName, convMem, convFile);
wxString style = CreateStyle(obj.GetAttributes(), false);
- stream << style << wxT(">");
+ OutputString(stream, style + wxT(">"), convMem, convFile);
wxString str = text.GetText();
if (str.Length() > 0 && (str[0] == wxT(' ') || str[str.Length()-1] == wxT(' ')))
{
- stream << wxT("\"");
+ OutputString(stream, wxT("\""), convMem, convFile);
OutputStringEnt(stream, str, convMem, convFile);
- stream << wxT("\"");
+ OutputString(stream, wxT("\""), convMem, convFile);
}
else
OutputStringEnt(stream, str, convMem, convFile);
imageObj.MakeBlock();
OutputIndentation(stream, indent);
- stream << wxT("<") << objectName;
+ OutputString(stream, wxT("<") + objectName, convMem, convFile);
if (!imageObj.GetImageBlock().Ok())
{
// No data
- stream << wxT(">");
+ OutputString(stream, wxT(">"), convMem, convFile);
}
else
{
- stream << wxString::Format(wxT(" imagetype=\"%d\""), (int) imageObj.GetImageBlock().GetImageType()) << wxT(">");
+ OutputString(stream, wxString::Format(wxT(" imagetype=\"%d\">"), (int) imageObj.GetImageBlock().GetImageType()));
}
OutputIndentation(stream, indent+1);
- stream << wxT("<data>");
+ OutputString(stream, wxT("<data>"), convMem, convFile);
imageObj.GetImageBlock().WriteHex(stream);
- stream << wxT("</data>");
+ OutputString(stream, wxT("</data>"), convMem, convFile);
}
else if (obj.IsKindOf(CLASSINFO(wxRichTextCompositeObject)))
{
OutputIndentation(stream, indent);
- stream << wxT("<") << objectName;
+ OutputString(stream, wxT("<") + objectName, convMem, convFile);
bool isPara = false;
if (objectName == wxT("paragraph") || objectName == wxT("paragraphlayout"))
wxString style = CreateStyle(obj.GetAttributes(), isPara);
- stream << style << wxT(">");
+ OutputString(stream, style + wxT(">"), convMem, convFile);
wxRichTextCompositeObject& composite = (wxRichTextCompositeObject&) obj;
size_t i;
if (objectName != wxT("text"))
OutputIndentation(stream, indent);
- stream << wxT("</") << objectName << wxT(">");
+ OutputString(stream, wxT("</") + objectName + wxT(">"), convMem, convFile);
return true;
}
}
#endif
-
-IMPLEMENT_DYNAMIC_CLASS(wxRichTextHTMLHandler, wxRichTextFileHandler)
-
-/// Can we handle this filename (if using files)? By default, checks the extension.
-bool wxRichTextHTMLHandler::CanHandle(const wxString& filename) const
-{
- wxString path, file, ext;
- wxSplitPath(filename, & path, & file, & ext);
-
- return (ext.Lower() == wxT("html") || ext.Lower() == wxT("htm"));
-}
-
-
-#if wxUSE_STREAMS
-bool wxRichTextHTMLHandler::DoLoadFile(wxRichTextBuffer *WXUNUSED(buffer), wxInputStream& WXUNUSED(stream))
-{
- return false;
-}
-
-/*
- * We need to output only _changes_ in character formatting.
- */
-
-bool wxRichTextHTMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream)
-{
- buffer->Defragment();
-
- wxTextOutputStream str(stream);
-
- wxTextAttrEx currentParaStyle = buffer->GetAttributes();
- wxTextAttrEx currentCharStyle = buffer->GetAttributes();
-
- str << wxT("<html><head></head><body>\n");
-
- wxRichTextObjectList::compatibility_iterator node = buffer->GetChildren().GetFirst();
- while (node)
- {
- wxRichTextParagraph* para = wxDynamicCast(node->GetData(), wxRichTextParagraph);
- wxASSERT (para != NULL);
-
- if (para)
- {
- OutputParagraphFormatting(currentParaStyle, para->GetAttributes(), stream, true);
-
- wxRichTextObjectList::compatibility_iterator node2 = para->GetChildren().GetFirst();
- while (node2)
- {
- wxRichTextObject* obj = node2->GetData();
- wxRichTextPlainText* textObj = wxDynamicCast(obj, wxRichTextPlainText);
- if (textObj && !textObj->IsEmpty())
- {
- OutputCharacterFormatting(currentCharStyle, obj->GetAttributes(), stream, true);
-
- str << textObj->GetText();
-
- OutputCharacterFormatting(currentCharStyle, obj->GetAttributes(), stream, false);
- }
-
- node2 = node2->GetNext();
- }
-
- OutputParagraphFormatting(currentParaStyle, para->GetAttributes(), stream, false);
-
- str << wxT("<P>\n");
- }
-
- node = node->GetNext();
- }
-
- str << wxT("</body></html>\n");
-
- return true;
-}
-
-/// Output character formatting
-void wxRichTextHTMLHandler::OutputCharacterFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start)
-{
- wxTextOutputStream str(stream);
-
- bool isBold = false;
- bool isItalic = false;
- bool isUnderline = false;
- wxString faceName;
-
- if (thisStyle.GetFont().Ok())
- {
- if (thisStyle.GetFont().GetWeight() == wxBOLD)
- isBold = true;
- if (thisStyle.GetFont().GetStyle() == wxITALIC)
- isItalic = true;
- if (thisStyle.GetFont().GetUnderlined())
- isUnderline = true;
-
- faceName = thisStyle.GetFont().GetFaceName();
- }
-
- if (start)
- {
- if (isBold)
- str << wxT("<b>");
- if (isItalic)
- str << wxT("<i>");
- if (isUnderline)
- str << wxT("<u>");
- }
- else
- {
- if (isUnderline)
- str << wxT("</u>");
- if (isItalic)
- str << wxT("</i>");
- if (isBold)
- str << wxT("</b>");
- }
-}
-
-/// Output paragraph formatting
-void wxRichTextHTMLHandler::OutputParagraphFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream, bool start)
-{
- // TODO: lists, indentation (using tables), fonts, right-align, ...
-
- wxTextOutputStream str(stream);
- bool isCentered = false;
-
- if (thisStyle.GetAlignment() == wxTEXT_ALIGNMENT_CENTRE)
- {
- isCentered = true;
- }
-
- if (start)
- {
- if (isCentered)
- str << wxT("<center>");
- }
- else
- {
- if (isCentered)
- str << wxT("</center>");
- }
-}
-
-#endif
-
+ // wxUSE_STREAMS
+
#endif
// wxUSE_RICHTEXT && wxUSE_XML