monodll_generic_infobar.o \
monodll_listbkg.o \
monodll_logg.o \
+ monodll_markuptext.o \
monodll_msgdlgg.o \
monodll_numdlgg.o \
monodll_panelg.o \
monodll_generic_infobar.o \
monodll_listbkg.o \
monodll_logg.o \
+ monodll_markuptext.o \
monodll_msgdlgg.o \
monodll_numdlgg.o \
monodll_panelg.o \
monolib_generic_infobar.o \
monolib_listbkg.o \
monolib_logg.o \
+ monolib_markuptext.o \
monolib_msgdlgg.o \
monolib_numdlgg.o \
monolib_panelg.o \
monolib_generic_infobar.o \
monolib_listbkg.o \
monolib_logg.o \
+ monolib_markuptext.o \
monolib_msgdlgg.o \
monolib_numdlgg.o \
monolib_panelg.o \
coredll_generic_infobar.o \
coredll_listbkg.o \
coredll_logg.o \
+ coredll_markuptext.o \
coredll_msgdlgg.o \
coredll_numdlgg.o \
coredll_panelg.o \
coredll_generic_infobar.o \
coredll_listbkg.o \
coredll_logg.o \
+ coredll_markuptext.o \
coredll_msgdlgg.o \
coredll_numdlgg.o \
coredll_panelg.o \
corelib_generic_infobar.o \
corelib_listbkg.o \
corelib_logg.o \
+ corelib_markuptext.o \
corelib_msgdlgg.o \
corelib_numdlgg.o \
corelib_panelg.o \
corelib_generic_infobar.o \
corelib_listbkg.o \
corelib_logg.o \
+ corelib_markuptext.o \
corelib_msgdlgg.o \
corelib_numdlgg.o \
corelib_panelg.o \
@COND_USE_GUI_1@monodll_logg.o: $(srcdir)/src/generic/logg.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/logg.cpp
+@COND_USE_GUI_1@monodll_markuptext.o: $(srcdir)/src/generic/markuptext.cpp $(MONODLL_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/markuptext.cpp
+
@COND_USE_GUI_1@monodll_msgdlgg.o: $(srcdir)/src/generic/msgdlgg.cpp $(MONODLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/generic/msgdlgg.cpp
@COND_USE_GUI_1@monolib_logg.o: $(srcdir)/src/generic/logg.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/logg.cpp
+@COND_USE_GUI_1@monolib_markuptext.o: $(srcdir)/src/generic/markuptext.cpp $(MONOLIB_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/markuptext.cpp
+
@COND_USE_GUI_1@monolib_msgdlgg.o: $(srcdir)/src/generic/msgdlgg.cpp $(MONOLIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/generic/msgdlgg.cpp
@COND_USE_GUI_1@coredll_logg.o: $(srcdir)/src/generic/logg.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/logg.cpp
+@COND_USE_GUI_1@coredll_markuptext.o: $(srcdir)/src/generic/markuptext.cpp $(COREDLL_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/markuptext.cpp
+
@COND_USE_GUI_1@coredll_msgdlgg.o: $(srcdir)/src/generic/msgdlgg.cpp $(COREDLL_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(COREDLL_CXXFLAGS) $(srcdir)/src/generic/msgdlgg.cpp
@COND_USE_GUI_1@corelib_logg.o: $(srcdir)/src/generic/logg.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/logg.cpp
+@COND_USE_GUI_1@corelib_markuptext.o: $(srcdir)/src/generic/markuptext.cpp $(CORELIB_ODEP)
+@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/markuptext.cpp
+
@COND_USE_GUI_1@corelib_msgdlgg.o: $(srcdir)/src/generic/msgdlgg.cpp $(CORELIB_ODEP)
@COND_USE_GUI_1@ $(CXXC) -c -o $@ $(CORELIB_CXXFLAGS) $(srcdir)/src/generic/msgdlgg.cpp
src/generic/infobar.cpp
src/generic/listbkg.cpp
src/generic/logg.cpp
+ src/generic/markuptext.cpp
src/generic/msgdlgg.cpp
src/generic/numdlgg.cpp
src/generic/panelg.cpp
$(OBJS)\monodll_infobar.obj \\r
$(OBJS)\monodll_listbkg.obj \\r
$(OBJS)\monodll_logg.obj \\r
+ $(OBJS)\monodll_markuptext.obj \
$(OBJS)\monodll_msgdlgg.obj \\r
$(OBJS)\monodll_numdlgg.obj \\r
$(OBJS)\monodll_panelg.obj \\r
$(OBJS)\monodll_infobar.obj \\r
$(OBJS)\monodll_listbkg.obj \\r
$(OBJS)\monodll_logg.obj \\r
+ $(OBJS)\monodll_markuptext.obj \
$(OBJS)\monodll_msgdlgg.obj \\r
$(OBJS)\monodll_numdlgg.obj \\r
$(OBJS)\monodll_panelg.obj \\r
$(OBJS)\monolib_infobar.obj \\r
$(OBJS)\monolib_listbkg.obj \\r
$(OBJS)\monolib_logg.obj \\r
+ $(OBJS)\monolib_markuptext.obj \
$(OBJS)\monolib_msgdlgg.obj \\r
$(OBJS)\monolib_numdlgg.obj \\r
$(OBJS)\monolib_panelg.obj \\r
$(OBJS)\monolib_infobar.obj \\r
$(OBJS)\monolib_listbkg.obj \\r
$(OBJS)\monolib_logg.obj \\r
+ $(OBJS)\monolib_markuptext.obj \
$(OBJS)\monolib_msgdlgg.obj \\r
$(OBJS)\monolib_numdlgg.obj \\r
$(OBJS)\monolib_panelg.obj \\r
$(OBJS)\coredll_infobar.obj \\r
$(OBJS)\coredll_listbkg.obj \\r
$(OBJS)\coredll_logg.obj \\r
+ $(OBJS)\coredll_markuptext.obj \
$(OBJS)\coredll_msgdlgg.obj \\r
$(OBJS)\coredll_numdlgg.obj \\r
$(OBJS)\coredll_panelg.obj \\r
$(OBJS)\coredll_infobar.obj \\r
$(OBJS)\coredll_listbkg.obj \\r
$(OBJS)\coredll_logg.obj \\r
+ $(OBJS)\coredll_markuptext.obj \
$(OBJS)\coredll_msgdlgg.obj \\r
$(OBJS)\coredll_numdlgg.obj \\r
$(OBJS)\coredll_panelg.obj \\r
$(OBJS)\corelib_infobar.obj \\r
$(OBJS)\corelib_listbkg.obj \\r
$(OBJS)\corelib_logg.obj \\r
+ $(OBJS)\corelib_markuptext.obj \
$(OBJS)\corelib_msgdlgg.obj \\r
$(OBJS)\corelib_numdlgg.obj \\r
$(OBJS)\corelib_panelg.obj \\r
$(OBJS)\corelib_infobar.obj \\r
$(OBJS)\corelib_listbkg.obj \\r
$(OBJS)\corelib_logg.obj \\r
+ $(OBJS)\corelib_markuptext.obj \
$(OBJS)\corelib_msgdlgg.obj \\r
$(OBJS)\corelib_numdlgg.obj \\r
$(OBJS)\corelib_panelg.obj \\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\monodll_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\monolib_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\coredll_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\corelib_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
$(OBJS)\monodll_infobar.o \\r
$(OBJS)\monodll_listbkg.o \\r
$(OBJS)\monodll_logg.o \\r
+ $(OBJS)\monodll_markuptext.o \
$(OBJS)\monodll_msgdlgg.o \\r
$(OBJS)\monodll_numdlgg.o \\r
$(OBJS)\monodll_panelg.o \\r
$(OBJS)\monodll_infobar.o \\r
$(OBJS)\monodll_listbkg.o \\r
$(OBJS)\monodll_logg.o \\r
+ $(OBJS)\monodll_markuptext.o \
$(OBJS)\monodll_msgdlgg.o \\r
$(OBJS)\monodll_numdlgg.o \\r
$(OBJS)\monodll_panelg.o \\r
$(OBJS)\monolib_infobar.o \\r
$(OBJS)\monolib_listbkg.o \\r
$(OBJS)\monolib_logg.o \\r
+ $(OBJS)\monolib_markuptext.o \
$(OBJS)\monolib_msgdlgg.o \\r
$(OBJS)\monolib_numdlgg.o \\r
$(OBJS)\monolib_panelg.o \\r
$(OBJS)\monolib_infobar.o \\r
$(OBJS)\monolib_listbkg.o \\r
$(OBJS)\monolib_logg.o \\r
+ $(OBJS)\monolib_markuptext.o \
$(OBJS)\monolib_msgdlgg.o \\r
$(OBJS)\monolib_numdlgg.o \\r
$(OBJS)\monolib_panelg.o \\r
$(OBJS)\coredll_infobar.o \\r
$(OBJS)\coredll_listbkg.o \\r
$(OBJS)\coredll_logg.o \\r
+ $(OBJS)\coredll_markuptext.o \
$(OBJS)\coredll_msgdlgg.o \\r
$(OBJS)\coredll_numdlgg.o \\r
$(OBJS)\coredll_panelg.o \\r
$(OBJS)\coredll_infobar.o \\r
$(OBJS)\coredll_listbkg.o \\r
$(OBJS)\coredll_logg.o \\r
+ $(OBJS)\coredll_markuptext.o \
$(OBJS)\coredll_msgdlgg.o \\r
$(OBJS)\coredll_numdlgg.o \\r
$(OBJS)\coredll_panelg.o \\r
$(OBJS)\corelib_infobar.o \\r
$(OBJS)\corelib_listbkg.o \\r
$(OBJS)\corelib_logg.o \\r
+ $(OBJS)\corelib_markuptext.o \
$(OBJS)\corelib_msgdlgg.o \\r
$(OBJS)\corelib_numdlgg.o \\r
$(OBJS)\corelib_panelg.o \\r
$(OBJS)\corelib_infobar.o \\r
$(OBJS)\corelib_listbkg.o \\r
$(OBJS)\corelib_logg.o \\r
+ $(OBJS)\corelib_markuptext.o \
$(OBJS)\corelib_msgdlgg.o \\r
$(OBJS)\corelib_numdlgg.o \\r
$(OBJS)\corelib_panelg.o \\r
endif\r
\r
ifeq ($(USE_GUI),1)\r
+$(OBJS)\monodll_markuptext.o: ../../src/generic/markuptext.cpp
+ $(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\monodll_msgdlgg.o: ../../src/generic/msgdlgg.cpp\r
$(CXX) -c -o $@ $(MONODLL_CXXFLAGS) $(CPPDEPS) $<\r
endif\r
endif\r
\r
ifeq ($(USE_GUI),1)\r
+$(OBJS)\monolib_markuptext.o: ../../src/generic/markuptext.cpp
+ $(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\monolib_msgdlgg.o: ../../src/generic/msgdlgg.cpp\r
$(CXX) -c -o $@ $(MONOLIB_CXXFLAGS) $(CPPDEPS) $<\r
endif\r
endif\r
\r
ifeq ($(USE_GUI),1)\r
+$(OBJS)\coredll_markuptext.o: ../../src/generic/markuptext.cpp
+ $(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\coredll_msgdlgg.o: ../../src/generic/msgdlgg.cpp\r
$(CXX) -c -o $@ $(COREDLL_CXXFLAGS) $(CPPDEPS) $<\r
endif\r
endif\r
\r
ifeq ($(USE_GUI),1)\r
+$(OBJS)\corelib_markuptext.o: ../../src/generic/markuptext.cpp
+ $(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<
+endif
+
+ifeq ($(USE_GUI),1)
$(OBJS)\corelib_msgdlgg.o: ../../src/generic/msgdlgg.cpp\r
$(CXX) -c -o $@ $(CORELIB_CXXFLAGS) $(CPPDEPS) $<\r
endif\r
$(OBJS)\monodll_infobar.obj \\r
$(OBJS)\monodll_listbkg.obj \\r
$(OBJS)\monodll_logg.obj \\r
+ $(OBJS)\monodll_markuptext.obj \
$(OBJS)\monodll_msgdlgg.obj \\r
$(OBJS)\monodll_numdlgg.obj \\r
$(OBJS)\monodll_panelg.obj \\r
$(OBJS)\monodll_infobar.obj \\r
$(OBJS)\monodll_listbkg.obj \\r
$(OBJS)\monodll_logg.obj \\r
+ $(OBJS)\monodll_markuptext.obj \
$(OBJS)\monodll_msgdlgg.obj \\r
$(OBJS)\monodll_numdlgg.obj \\r
$(OBJS)\monodll_panelg.obj \\r
$(OBJS)\monolib_infobar.obj \\r
$(OBJS)\monolib_listbkg.obj \\r
$(OBJS)\monolib_logg.obj \\r
+ $(OBJS)\monolib_markuptext.obj \
$(OBJS)\monolib_msgdlgg.obj \\r
$(OBJS)\monolib_numdlgg.obj \\r
$(OBJS)\monolib_panelg.obj \\r
$(OBJS)\monolib_infobar.obj \\r
$(OBJS)\monolib_listbkg.obj \\r
$(OBJS)\monolib_logg.obj \\r
+ $(OBJS)\monolib_markuptext.obj \
$(OBJS)\monolib_msgdlgg.obj \\r
$(OBJS)\monolib_numdlgg.obj \\r
$(OBJS)\monolib_panelg.obj \\r
$(OBJS)\coredll_infobar.obj \\r
$(OBJS)\coredll_listbkg.obj \\r
$(OBJS)\coredll_logg.obj \\r
+ $(OBJS)\coredll_markuptext.obj \
$(OBJS)\coredll_msgdlgg.obj \\r
$(OBJS)\coredll_numdlgg.obj \\r
$(OBJS)\coredll_panelg.obj \\r
$(OBJS)\coredll_infobar.obj \\r
$(OBJS)\coredll_listbkg.obj \\r
$(OBJS)\coredll_logg.obj \\r
+ $(OBJS)\coredll_markuptext.obj \
$(OBJS)\coredll_msgdlgg.obj \\r
$(OBJS)\coredll_numdlgg.obj \\r
$(OBJS)\coredll_panelg.obj \\r
$(OBJS)\corelib_infobar.obj \\r
$(OBJS)\corelib_listbkg.obj \\r
$(OBJS)\corelib_logg.obj \\r
+ $(OBJS)\corelib_markuptext.obj \
$(OBJS)\corelib_msgdlgg.obj \\r
$(OBJS)\corelib_numdlgg.obj \\r
$(OBJS)\corelib_panelg.obj \\r
$(OBJS)\corelib_infobar.obj \\r
$(OBJS)\corelib_listbkg.obj \\r
$(OBJS)\corelib_logg.obj \\r
+ $(OBJS)\corelib_markuptext.obj \
$(OBJS)\corelib_msgdlgg.obj \\r
$(OBJS)\corelib_numdlgg.obj \\r
$(OBJS)\corelib_panelg.obj \\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\monodll_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) /c /nologo /TP /Fo$@ $(MONODLL_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\monolib_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) /c /nologo /TP /Fo$@ $(MONOLIB_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\coredll_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) /c /nologo /TP /Fo$@ $(COREDLL_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
!endif\r
\r
!if "$(USE_GUI)" == "1"\r
+$(OBJS)\corelib_markuptext.obj: ..\..\src\generic\markuptext.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\markuptext.cpp
+!endif
+
+!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_msgdlgg.obj: ..\..\src\generic\msgdlgg.cpp\r
$(CXX) /c /nologo /TP /Fo$@ $(CORELIB_CXXFLAGS) ..\..\src\generic\msgdlgg.cpp\r
!endif\r
$(OBJS)\monodll_infobar.obj &\r
$(OBJS)\monodll_listbkg.obj &\r
$(OBJS)\monodll_logg.obj &\r
+ $(OBJS)\monodll_markuptext.obj &
$(OBJS)\monodll_msgdlgg.obj &\r
$(OBJS)\monodll_numdlgg.obj &\r
$(OBJS)\monodll_panelg.obj &\r
$(OBJS)\monodll_infobar.obj &\r
$(OBJS)\monodll_listbkg.obj &\r
$(OBJS)\monodll_logg.obj &\r
+ $(OBJS)\monodll_markuptext.obj &
$(OBJS)\monodll_msgdlgg.obj &\r
$(OBJS)\monodll_numdlgg.obj &\r
$(OBJS)\monodll_panelg.obj &\r
$(OBJS)\monolib_infobar.obj &\r
$(OBJS)\monolib_listbkg.obj &\r
$(OBJS)\monolib_logg.obj &\r
+ $(OBJS)\monolib_markuptext.obj &
$(OBJS)\monolib_msgdlgg.obj &\r
$(OBJS)\monolib_numdlgg.obj &\r
$(OBJS)\monolib_panelg.obj &\r
$(OBJS)\monolib_infobar.obj &\r
$(OBJS)\monolib_listbkg.obj &\r
$(OBJS)\monolib_logg.obj &\r
+ $(OBJS)\monolib_markuptext.obj &
$(OBJS)\monolib_msgdlgg.obj &\r
$(OBJS)\monolib_numdlgg.obj &\r
$(OBJS)\monolib_panelg.obj &\r
$(OBJS)\coredll_infobar.obj &\r
$(OBJS)\coredll_listbkg.obj &\r
$(OBJS)\coredll_logg.obj &\r
+ $(OBJS)\coredll_markuptext.obj &
$(OBJS)\coredll_msgdlgg.obj &\r
$(OBJS)\coredll_numdlgg.obj &\r
$(OBJS)\coredll_panelg.obj &\r
$(OBJS)\coredll_infobar.obj &\r
$(OBJS)\coredll_listbkg.obj &\r
$(OBJS)\coredll_logg.obj &\r
+ $(OBJS)\coredll_markuptext.obj &
$(OBJS)\coredll_msgdlgg.obj &\r
$(OBJS)\coredll_numdlgg.obj &\r
$(OBJS)\coredll_panelg.obj &\r
$(OBJS)\corelib_infobar.obj &\r
$(OBJS)\corelib_listbkg.obj &\r
$(OBJS)\corelib_logg.obj &\r
+ $(OBJS)\corelib_markuptext.obj &
$(OBJS)\corelib_msgdlgg.obj &\r
$(OBJS)\corelib_numdlgg.obj &\r
$(OBJS)\corelib_panelg.obj &\r
$(OBJS)\corelib_infobar.obj &\r
$(OBJS)\corelib_listbkg.obj &\r
$(OBJS)\corelib_logg.obj &\r
+ $(OBJS)\corelib_markuptext.obj &
$(OBJS)\corelib_msgdlgg.obj &\r
$(OBJS)\corelib_numdlgg.obj &\r
$(OBJS)\corelib_panelg.obj &\r
!endif\r
\r
!ifeq USE_GUI 1\r
+$(OBJS)\monodll_markuptext.obj : .AUTODEPEND ..\..\src\generic\markuptext.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\monodll_msgdlgg.obj : .AUTODEPEND ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -bt=nt -zq -fo=$^@ $(MONODLL_CXXFLAGS) $<\r
!endif\r
!endif\r
\r
!ifeq USE_GUI 1\r
+$(OBJS)\monolib_markuptext.obj : .AUTODEPEND ..\..\src\generic\markuptext.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\monolib_msgdlgg.obj : .AUTODEPEND ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -bt=nt -zq -fo=$^@ $(MONOLIB_CXXFLAGS) $<\r
!endif\r
!endif\r
\r
!ifeq USE_GUI 1\r
+$(OBJS)\coredll_markuptext.obj : .AUTODEPEND ..\..\src\generic\markuptext.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\coredll_msgdlgg.obj : .AUTODEPEND ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -bt=nt -zq -fo=$^@ $(COREDLL_CXXFLAGS) $<\r
!endif\r
!endif\r
\r
!ifeq USE_GUI 1\r
+$(OBJS)\corelib_markuptext.obj : .AUTODEPEND ..\..\src\generic\markuptext.cpp
+ $(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<
+!endif
+
+!ifeq USE_GUI 1
$(OBJS)\corelib_msgdlgg.obj : .AUTODEPEND ..\..\src\generic\msgdlgg.cpp\r
$(CXX) -bt=nt -zq -fo=$^@ $(CORELIB_CXXFLAGS) $<\r
!endif\r
# End Source File\r
# Begin Source File\r
\r
+SOURCE=..\..\src\generic\markuptext.cpp
+# End Source File
+# Begin Source File
+
SOURCE=..\..\src\generic\mdig.cpp\r
\r
!IF "$(CFG)" == "core - Win32 DLL Universal Release"\r
RelativePath="..\..\src\generic\logg.cpp">\r
</File>\r
<File\r
+ RelativePath="..\..\src\generic\markuptext.cpp">
+ </File>
+ <File
RelativePath="..\..\src\generic\mdig.cpp">\r
<FileConfiguration\r
Name="Debug|Win32"\r
>\r
</File>\r
<File\r
+ RelativePath="..\..\src\generic\markuptext.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\src\generic\mdig.cpp"\r
>\r
<FileConfiguration\r
>\r
</File>\r
<File\r
+ RelativePath="..\..\src\generic\markuptext.cpp"
+ >
+ </File>
+ <File
RelativePath="..\..\src\generic\mdig.cpp"\r
>\r
<FileConfiguration\r
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/generic/private/markuptext.h
+// Purpose: Generic wxMarkupText class for managing text with markup.
+// Author: Vadim Zeitlin
+// Created: 2011-02-21
+// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
+#define _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
+
+#include "wx/defs.h"
+
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxRect;
+
+// ----------------------------------------------------------------------------
+// wxMarkupText: allows to measure and draw the text containing markup.
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxMarkupText
+{
+public:
+ // Constants for Render() flags.
+ enum
+ {
+ Render_Default = 0, // Don't show mnemonics visually.
+ Render_ShowAccels = 1 // Underline mnemonics.
+ };
+
+
+ // Initialize with the given string containing markup (which is supposed to
+ // be valid, the caller must check for it before constructing this object).
+ //
+ // Notice that the usual rules for mnemonics apply to the markup text: if
+ // it contains any '&' characters they must be escaped by doubling them,
+ // otherwise they indicate that the next character is the mnemonic for this
+ // field.
+ //
+ // TODO-MULTILINE-MARKUP: Currently only single line labels are supported,
+ // search for other occurrences of this comment to find the places which
+ // need to be updated to support multiline labels with markup.
+ wxMarkupText(const wxString& markup)
+ : m_markup(markup)
+ {
+ }
+
+ // Default copy ctor, assignment operator and dtor are ok.
+
+ // Update the markup string.
+ //
+ // The same rules for mnemonics as in the ctor apply to this string.
+ void SetMarkup(const wxString& markup) { m_markup = markup; }
+
+
+ // Return the width and height required by the given string and optionally
+ // the height of the visible part above the baseline (i.e. ascent minus
+ // internal leading).
+ //
+ // The font currently selected into the DC is used for measuring (notice
+ // that it is changed by this function but normally -- i.e. if markup is
+ // valid -- restored to its original value when it returns).
+ wxSize Measure(wxDC& dc, int *visibleHeight = NULL) const;
+
+ // Render the markup string into the given DC in the specified rectangle.
+ //
+ // Notice that while the function uses the provided rectangle for alignment
+ // (it centers the text in it), no clipping is done by it so use Measure()
+ // and set the clipping region before rendering if necessary.
+ void Render(wxDC& dc, const wxRect& rect, int flags);
+
+private:
+ wxString m_markup;
+};
+
+#endif // _WX_GENERIC_PRIVATE_MARKUPTEXT_H_
// wxMarkupParserOutput: gathers the results of parsing markup.
// ----------------------------------------------------------------------------
+// A class deriving directly from this one needs to implement all the pure
+// virtual functions below but as the handling of all simple tags (bold, italic
+// &c) is often very similar, it is usually more convenient to inherit from
+// wxMarkupParserFontOutput defined in wx/private/markupparserfont.h instead.
class wxMarkupParserOutput
{
public:
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: wx/private/markupparserattr.h
+// Purpose: Classes mapping markup attributes to wxFont/wxColour.
+// Author: Vadim Zeitlin
+// Created: 2011-02-18
+// RCS-ID: $Id: wxhead.h,v 1.12 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_PRIVATE_MARKUPPARSERATTR_H_
+#define _WX_PRIVATE_MARKUPPARSERATTR_H_
+
+#include "wx/private/markupparser.h"
+
+#include "wx/stack.h"
+
+#include "wx/colour.h"
+#include "wx/font.h"
+
+// ----------------------------------------------------------------------------
+// wxMarkupParserAttrOutput: simplified wxFont-using version of the above.
+// ----------------------------------------------------------------------------
+
+// This class assumes that wxFont and wxColour are used to perform all the
+// markup tags and implements the base class virtual functions in terms of
+// OnAttr{Start,End}() only.
+//
+// Notice that you still must implement OnText() inherited from the base class
+// when deriving from this one.
+class wxMarkupParserAttrOutput : public wxMarkupParserOutput
+{
+public:
+ // A simple container of font and colours.
+ struct Attr
+ {
+ Attr(const wxFont& font_,
+ const wxColour& foreground_ = wxColour(),
+ const wxColour& background_ = wxColour())
+ : font(font_), foreground(foreground_), background(background_)
+ {
+ }
+
+ wxFont font;
+ wxColour foreground,
+ background;
+ };
+
+
+ // This object must be initialized with the font and colours to use
+ // initially, i.e. the ones used before any tags in the string.
+ wxMarkupParserAttrOutput(const wxFont& font,
+ const wxColour& foreground,
+ const wxColour& background)
+ {
+ m_attrs.push(Attr(font, foreground, background));
+ }
+
+ // Indicates the change of the font and/or colours used. Any of the
+ // fields of the argument may be invalid indicating that the corresponding
+ // attribute didn't actually change.
+ virtual void OnAttrStart(const Attr& attr) = 0;
+
+ // Indicates the end of the region affected by the given attributes
+ // (the same ones that were passed to the matching OnAttrStart(), use
+ // GetAttr() to get the ones that will be used from now on).
+ virtual void OnAttrEnd(const Attr& attr) = 0;
+
+
+ // Implement all pure virtual methods inherited from the base class in
+ // terms of our own ones.
+ virtual void OnBoldStart() { DoChangeFont(&wxFont::Bold); }
+ virtual void OnBoldEnd() { DoEndAttr(); }
+
+ virtual void OnItalicStart() { DoChangeFont(&wxFont::Italic); }
+ virtual void OnItalicEnd() { DoEndAttr(); }
+
+ virtual void OnUnderlinedStart() { DoChangeFont(&wxFont::Underlined); }
+ virtual void OnUnderlinedEnd() { DoEndAttr(); }
+
+ virtual void OnStrikethroughStart() { } // TODO: No support in wxFont yet.
+ virtual void OnStrikethroughEnd() { }
+
+ virtual void OnBigStart() { DoChangeFont(&wxFont::Larger); }
+ virtual void OnBigEnd() { DoEndAttr(); }
+
+ virtual void OnSmallStart() { DoChangeFont(&wxFont::Smaller); }
+ virtual void OnSmallEnd() { DoEndAttr(); }
+
+ virtual void OnTeletypeStart()
+ {
+ wxFont font(GetFont());
+ font.SetFamily(wxFONTFAMILY_TELETYPE);
+ DoSetFont(font);
+ }
+ virtual void OnTeletypeEnd() { DoEndAttr(); }
+
+ virtual void OnSpanStart(const wxMarkupSpanAttributes& spanAttr)
+ {
+ wxFont font(GetFont());
+ if ( !spanAttr.m_fontFace.empty() )
+ font.SetFaceName(spanAttr.m_fontFace);
+
+ DoApplyToFont<wxFontWeight>(spanAttr.m_isBold, font, &wxFont::SetWeight,
+ wxFONTWEIGHT_NORMAL, wxFONTWEIGHT_BOLD);
+
+ DoApplyToFont<wxFontStyle>(spanAttr.m_isItalic, font, &wxFont::SetStyle,
+ wxFONTSTYLE_NORMAL, wxFONTSTYLE_ITALIC);
+
+ DoApplyToFont(spanAttr.m_isUnderlined, font, &wxFont::SetUnderlined,
+ false, true);
+
+ // TODO: No support for strike-through yet.
+
+ switch ( spanAttr.m_sizeKind )
+ {
+ case wxMarkupSpanAttributes::Size_Unspecified:
+ break;
+
+ case wxMarkupSpanAttributes::Size_Relative:
+ if ( spanAttr.m_fontSize > 0 )
+ font.MakeLarger();
+ else
+ font.MakeSmaller();
+ break;
+
+ case wxMarkupSpanAttributes::Size_Symbolic:
+ // The values of font size intentionally coincide with the
+ // values of wxFontSymbolicSize enum elements so simply cast
+ // one to the other.
+ font.SetSymbolicSize(
+ static_cast<wxFontSymbolicSize>(spanAttr.m_fontSize)
+ );
+ break;
+
+ case wxMarkupSpanAttributes::Size_PointParts:
+ font.SetPointSize((spanAttr.m_fontSize + 1023)/1024);
+ break;
+ }
+
+
+ const Attr attr(font, spanAttr.m_fgCol, spanAttr.m_bgCol);
+ OnAttrStart(attr);
+
+ m_attrs.push(attr);
+ }
+
+ virtual void OnSpanEnd(const wxMarkupSpanAttributes& WXUNUSED(spanAttr))
+ {
+ DoEndAttr();
+ }
+
+protected:
+ // Get the current attributes, i.e. the ones that should be used for
+ // rendering (or measuring or whatever) the text at the current position in
+ // the string.
+ //
+ // It may be called from OnAttrStart() to get the old attributes used
+ // before and from OnAttrEnd() to get the new attributes that will be used
+ // from now on but is mostly meant to be used from overridden OnText()
+ // implementations.
+ const Attr& GetAttr() const { return m_attrs.top(); }
+
+ // A shortcut for accessing the font of the current attribute.
+ const wxFont& GetFont() const { return GetAttr().font; }
+
+private:
+ // Change only the font to the given one. Call OnAttrStart() to notify
+ // about the change and update the attributes stack.
+ void DoSetFont(const wxFont& font)
+ {
+ const Attr attr(font);
+
+ OnAttrStart(attr);
+
+ m_attrs.push(attr);
+ }
+
+ // Apply the given function to the font currently on top of the font stack,
+ // push the new font on the stack and call OnAttrStart() with it.
+ void DoChangeFont(wxFont (wxFont::*func)() const)
+ {
+ DoSetFont((GetFont().*func)());
+ }
+
+ void DoEndAttr()
+ {
+ const Attr attr(m_attrs.top());
+ m_attrs.pop();
+
+ OnAttrEnd(attr);
+ }
+
+ template <typename T>
+ void
+ DoApplyToFont(wxMarkupSpanAttributes::OptionalBool isIt,
+ wxFont& font,
+ void (wxFont::*func)(T),
+ T noValue,
+ T yesValue)
+ {
+ switch ( isIt )
+ {
+ case wxMarkupSpanAttributes::Unspecified:
+ break;
+
+ case wxMarkupSpanAttributes::No:
+ (font.*func)(noValue);
+ break;
+
+ case wxMarkupSpanAttributes::Yes:
+ (font.*func)(yesValue);
+ break;
+ }
+ }
+
+ wxStack<Attr> m_attrs;
+
+ wxDECLARE_NO_COPY_CLASS(wxMarkupParserAttrOutput);
+};
+
+#endif // _WX_PRIVATE_MARKUPPARSERATTR_H_
--- /dev/null
+///////////////////////////////////////////////////////////////////////////////
+// Name: src/generic/markuptext.cpp
+// Purpose: wxMarkupText implementation
+// Author: Vadim Zeitlin
+// Created: 2011-02-21
+// RCS-ID: $Id: wxhead.cpp,v 1.11 2010-04-22 12:44:51 zeitlin Exp $
+// Copyright: (c) 2011 Vadim Zeitlin <vadim@wxwidgets.org>
+// Licence: wxWindows licence
+///////////////////////////////////////////////////////////////////////////////
+
+// ============================================================================
+// declarations
+// ============================================================================
+
+// ----------------------------------------------------------------------------
+// headers
+// ----------------------------------------------------------------------------
+
+// for compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+ #pragma hdrstop
+#endif
+
+#if wxUSE_MARKUP
+
+#ifndef WX_PRECOMP
+ #include "wx/gdicmn.h"
+ #include "wx/dc.h"
+#endif // WX_PRECOMP
+
+#include "wx/generic/private/markuptext.h"
+
+#include "wx/private/markupparserattr.h"
+
+namespace
+{
+
+// ----------------------------------------------------------------------------
+// wxMarkupParserMeasureOutput: measure the extends of a markup string.
+// ----------------------------------------------------------------------------
+
+class wxMarkupParserMeasureOutput : public wxMarkupParserAttrOutput
+{
+public:
+ // Initialize the base class with the font to use. As we don't care about
+ // colours (which don't affect the text measurements), don't bother to
+ // specify them at all.
+ wxMarkupParserMeasureOutput(wxDC& dc, int *visibleHeight)
+ : wxMarkupParserAttrOutput(dc.GetFont(), wxColour(), wxColour()),
+ m_dc(dc),
+ m_visibleHeight(visibleHeight)
+ {
+ if ( visibleHeight )
+ *visibleHeight = 0;
+ }
+
+ const wxSize& GetSize() const { return m_size; }
+
+
+ virtual void OnText(const wxString& text_)
+ {
+ const wxString text(wxControl::RemoveMnemonics(text_));
+
+ // TODO-MULTILINE-MARKUP: Must use GetMultiLineTextExtent().
+ const wxSize size = m_dc.GetTextExtent(text);
+
+ m_size.x += size.x;
+ if ( size.y > m_size.y )
+ m_size.y = size.y;
+
+ if ( m_visibleHeight )
+ {
+ wxFontMetrics tm = m_dc.GetFontMetrics();
+ int visibleHeight = tm.ascent - tm.internalLeading;
+ if ( *m_visibleHeight < visibleHeight )
+ *m_visibleHeight = visibleHeight;
+ }
+ }
+
+ virtual void OnAttrStart(const Attr& attr)
+ {
+ m_dc.SetFont(attr.font);
+ }
+
+ virtual void OnAttrEnd(const Attr& WXUNUSED(attr))
+ {
+ m_dc.SetFont(GetFont());
+ }
+
+private:
+ wxDC& m_dc;
+
+ // The values that we compute.
+ wxSize m_size;
+ int * const m_visibleHeight; // may be NULL
+
+ wxDECLARE_NO_COPY_CLASS(wxMarkupParserMeasureOutput);
+};
+
+// ----------------------------------------------------------------------------
+// wxMarkupParserRenderOutput: render a markup string.
+// ----------------------------------------------------------------------------
+
+class wxMarkupParserRenderOutput : public wxMarkupParserAttrOutput
+{
+public:
+ // Notice that the bottom of rectangle passed to our ctor is used as the
+ // baseline for the text we draw, i.e. it needs to be adjusted to exclude
+ // descent by the caller.
+ wxMarkupParserRenderOutput(wxDC& dc,
+ const wxRect& rect,
+ int flags)
+ : wxMarkupParserAttrOutput(dc.GetFont(),
+ dc.GetTextForeground(),
+ wxColour()),
+ m_dc(dc),
+ m_rect(rect),
+ m_flags(flags)
+ {
+ m_pos = m_rect.x;
+
+ // We don't initialize the base class initial text background colour to
+ // the valid value because we want to be able to detect when we revert
+ // to the "absence of background colour" and set the background mode to
+ // be transparent in OnAttrStart() below. But do remember it to be able
+ // to restore it there later -- this doesn't affect us as the text
+ // background isn't used anyhow when the background mode is transparent
+ // but it might affect the caller if it sets the background mode to
+ // opaque and draws some text after using us.
+ m_origTextBackground = dc.GetTextBackground();
+ }
+
+ virtual void OnText(const wxString& text_)
+ {
+ wxString text;
+ int indexAccel = wxControl::FindAccelIndex(text_, &text);
+ if ( !(m_flags & wxMarkupText::Render_ShowAccels) )
+ indexAccel = wxNOT_FOUND;
+
+ // Adjust the position (unfortunately we need to do this manually as
+ // there is no notion of current text position in wx API) rectangle to
+ // ensure that all text segments use the same baseline (as there is
+ // nothing equivalent to Windows SetTextAlign(TA_BASELINE) neither).
+ wxRect rect(m_rect);
+ rect.x = m_pos;
+
+ int descent;
+ m_dc.GetTextExtent(text, &rect.width, &rect.height, &descent);
+ rect.height -= descent;
+ rect.y += m_rect.height - rect.height;
+
+ wxRect bounds;
+ m_dc.DrawLabel(text, wxBitmap(),
+ rect, wxALIGN_LEFT | wxALIGN_TOP,
+ indexAccel,
+ &bounds);
+
+ // TODO-MULTILINE-MARKUP: Must update vertical position too.
+ m_pos += bounds.width;
+ }
+
+ virtual void OnAttrStart(const Attr& attr)
+ {
+ m_dc.SetFont(attr.font);
+ if ( attr.foreground.IsOk() )
+ m_dc.SetTextForeground(attr.foreground);
+
+ if ( attr.background.IsOk() )
+ {
+ // Setting the background colour is not enough, we must also change
+ // the mode to ensure that it is actually used.
+ m_dc.SetBackgroundMode(wxSOLID);
+ m_dc.SetTextBackground(attr.background);
+ }
+ }
+
+ virtual void OnAttrEnd(const Attr& attr)
+ {
+ // We always restore the font because we always change it...
+ m_dc.SetFont(GetFont());
+
+ // ...but we only need to restore the colours if we had changed them.
+ if ( attr.foreground.IsOk() )
+ m_dc.SetTextForeground(GetAttr().foreground);
+
+ if ( attr.background.IsOk() )
+ {
+ wxColour background = GetAttr().background;
+ if ( !background.IsOk() )
+ {
+ // Invalid background colour indicates that the background
+ // should actually be made transparent and in this case the
+ // actual value of background colour doesn't matter but we also
+ // restore it just in case, see comment in the ctor.
+ m_dc.SetBackgroundMode(wxTRANSPARENT);
+ background = m_origTextBackground;
+ }
+
+ m_dc.SetTextBackground(background);
+ }
+ }
+
+private:
+ wxDC& m_dc;
+ const wxRect m_rect;
+ const int m_flags;
+
+ wxColour m_origTextBackground;
+
+ // Current horizontal text output position.
+ //
+ // TODO-MULTILINE-MARKUP: Must keep vertical position too.
+ int m_pos;
+
+ wxDECLARE_NO_COPY_CLASS(wxMarkupParserRenderOutput);
+};
+
+} // anonymous namespace
+
+// ============================================================================
+// wxMarkupText implementation
+// ============================================================================
+
+wxSize wxMarkupText::Measure(wxDC& dc, int *visibleHeight) const
+{
+ wxMarkupParserMeasureOutput out(dc, visibleHeight);
+ wxMarkupParser parser(out);
+ if ( !parser.Parse(m_markup) )
+ {
+ wxFAIL_MSG( "Invalid markup" );
+ return wxDefaultSize;
+ }
+
+ return out.GetSize();
+}
+
+void wxMarkupText::Render(wxDC& dc, const wxRect& rect, int flags)
+{
+ // We want to center the above-baseline parts of the letter vertically, so
+ // we use the visible height and not the total height (which includes
+ // descent and internal leading) here.
+ int visibleHeight;
+ wxRect rectText(rect.GetPosition(), Measure(dc, &visibleHeight));
+ rectText.height = visibleHeight;
+
+ wxMarkupParserRenderOutput out(dc, rectText.CentreIn(rect), flags);
+ wxMarkupParser parser(out);
+ parser.Parse(m_markup);
+}
+
+#endif // wxUSE_MARKUP