]> git.saurik.com Git - wxWidgets.git/commitdiff
Added wxRICHTEXT_HANDLER_NO_HEADER_FOOTER to allow saving HTML fragments
authorJulian Smart <julian@anthemion.co.uk>
Fri, 17 Nov 2006 08:40:01 +0000 (08:40 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Fri, 17 Nov 2006 08:40:01 +0000 (08:40 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43460 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/richtext/richtextbuffer.h
src/richtext/richtexthtml.cpp

index 8478c3f3925f4470e94ea8b6dbf54cb4ac075dbb..69dc4faccb9d5bef396b244410bac7b95d64060a 100644 (file)
@@ -2090,6 +2090,10 @@ protected:
 // Save images as inline base64 data in HTML handler
 #define wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64    0x0040
 
 // Save images as inline base64 data in HTML handler
 #define wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64    0x0040
 
+// Don't write header and footer (or BODY), so we can include the fragment
+// in a larger document
+#define wxRICHTEXT_HANDLER_NO_HEADER_FOOTER         0x0080
+
 /*!
  * wxRichTextFileHandler
  * Base class for file handlers
 /*!
  * wxRichTextFileHandler
  * Base class for file handlers
index 965bbd4630618ca49521b674cbc9655c1449a115..95ed0c1d4c5c597bec289d8ec4e596a65956c42e 100644 (file)
@@ -67,9 +67,10 @@ bool wxRichTextHTMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream&
     wxTextAttrEx currentParaStyle = buffer->GetAttributes();
     wxTextAttrEx currentCharStyle = buffer->GetAttributes();
 
     wxTextAttrEx currentParaStyle = buffer->GetAttributes();
     wxTextAttrEx currentCharStyle = buffer->GetAttributes();
 
-    str << wxT("<html><head></head><body>\n");
+    if ((GetFlags() & wxRICHTEXT_HANDLER_NO_HEADER_FOOTER) == 0)
+        str << wxT("<html><head></head><body>\n");
 
 
-    str << wxT("<table border=0 cellpadding=0 cellspacing=0><tr><td width=\"100%\">");
+    str << wxT("<table border=0 cellpadding=0 cellspacing=0><tr><td width=\"100%\">\n");
 
     str << wxString::Format(wxT("<font face=\"%s\" size=\"%ld\" color=\"%s\" >"),
         currentParaStyle.GetFont().GetFaceName().c_str(), PtToSize(currentParaStyle.GetFont().GetPointSize()),
 
     str << wxString::Format(wxT("<font face=\"%s\" size=\"%ld\" color=\"%s\" >"),
         currentParaStyle.GetFont().GetFaceName().c_str(), PtToSize(currentParaStyle.GetFont().GetPointSize()),
@@ -122,7 +123,12 @@ bool wxRichTextHTMLHandler::DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream&
         node = node->GetNext();
     }
 
         node = node->GetNext();
     }
 
-    str << wxT("</font></td></tr></table></body></html>\n");
+    str << wxT("</font></td></tr></table>");
+
+    if ((GetFlags() & wxRICHTEXT_HANDLER_NO_HEADER_FOOTER) == 0)
+        str << wxT("</body></html>");
+    
+    str << wxT("\n");
 
     return true;
 }
 
     return true;
 }
@@ -174,7 +180,7 @@ void wxRichTextHTMLHandler::BeginCharacterFormatting(const wxTextAttrEx& current
     }
     else if( m_list )
     {
     }
     else if( m_list )
     {
-        // The item is not bulleted and there is a list what should be closed now.
+        // The item is not bulleted and there is a list that should be closed now.
         // So close the list
 
         str << (m_is_ul ? wxT("</ul>") : wxT("</ol>"));
         // So close the list
 
         str << (m_is_ul ? wxT("</ul>") : wxT("</ol>"));