git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58212 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			145 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        richtext/richtexthtml.h
 | |
| // Purpose:     interface of wxRichTextHTMLHandler
 | |
| // Author:      wxWidgets team
 | |
| // RCS-ID:      $Id$
 | |
| // Licence:     wxWindows license
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| /**
 | |
|     @class wxRichTextHTMLHandler
 | |
| 
 | |
|     Handles HTML output (only) for wxRichTextCtrl content.
 | |
| 
 | |
|     The most flexible way to use this class is to create a temporary object and call
 | |
|     its functions directly, rather than use wxRichTextBuffer::SaveFile or
 | |
|     wxRichTextCtrl::SaveFile.
 | |
| 
 | |
|     Image handling requires a little extra work from the application, to choose an
 | |
|     appropriate image format for the target HTML viewer and to clean up the temporary
 | |
|     images later.
 | |
|     If you are planning to load the HTML into a standard web browser, you can
 | |
|     specify the handler flag wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64 (the default)
 | |
|     and no extra work is required: the images will be written with the HTML.
 | |
| 
 | |
|     However, if you want wxHTML compatibility, you will need to use
 | |
|     @c wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_MEMORY or
 | |
|     @c wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_FILES.
 | |
| 
 | |
|     In this case, you must either call wxRichTextHTMLHandler::DeleteTemporaryImages
 | |
|     before the next load operation, or you must store the image locations and
 | |
|     delete them yourself when appropriate.
 | |
| 
 | |
|     You can call wxRichTextHTMLHandler::GetTemporaryImageLocations to
 | |
|     get the array of temporary image names.
 | |
| 
 | |
| 
 | |
|     @section richtexthtmlhandler_flags Handler flags
 | |
| 
 | |
|     The following flags can be used with this handler, via the handler's SetFlags()
 | |
|     function or the buffer or control's SetHandlerFlags() function:
 | |
| 
 | |
|     - wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_MEMORY
 | |
|       Images are saved to the memory filesystem: suitable for showing wxHTML windows.
 | |
|     - wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_FILES
 | |
|       Images are saved to temporary files: suitable for showing in wxHTML windows.
 | |
|     - wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_BASE64
 | |
|       Images are written with the HTML files in Base 64 format: suitable for showing
 | |
|       in web browsers.
 | |
|     - wxRICHTEXT_HANDLER_NO_HEADER_FOOTER
 | |
|       Don't include header and footer tags (HTML, HEAD, BODY), so that the HTML
 | |
|       can be used as part of a larger document.
 | |
| 
 | |
| 
 | |
|     @library{wxrichtext}
 | |
|     @category{richtext}
 | |
| */
 | |
| class wxRichTextHTMLHandler : public wxRichTextFileHandler
 | |
| {
 | |
| public:
 | |
|     /**
 | |
|         Constructor.
 | |
|     */
 | |
|     wxRichTextHTMLHandler(const wxString& name = "HTML",
 | |
|                           const wxString& ext = "html",
 | |
|                           int type = wxRICHTEXT_TYPE_HTML);
 | |
| 
 | |
|     /**
 | |
|         Clears the image locations generated by the last operation.
 | |
|     */
 | |
|     void ClearTemporaryImageLocations();
 | |
| 
 | |
|     /**
 | |
|         Deletes the in-memory or temporary files generated by the last operation.
 | |
|     */
 | |
|     bool DeleteTemporaryImages();
 | |
| 
 | |
|     /**
 | |
|         Delete the in-memory or temporary files generated by the last operation.
 | |
|         This is a static function that can be used to delete the saved locations
 | |
|         from an earlier operation, for example after the user has viewed the HTML file.
 | |
|     */
 | |
|     static bool DeleteTemporaryImages(int flags,
 | |
|                                       const wxArrayString& imageLocations);
 | |
| 
 | |
|     /**
 | |
|         Returns the mapping for converting point sizes to HTML font sizes.
 | |
|     */
 | |
|     wxArrayInt GetFontSizeMapping() const;
 | |
| 
 | |
|     /**
 | |
|         Returns the directory used to store temporary image files.
 | |
|     */
 | |
|     const wxString& GetTempDir() const;
 | |
| 
 | |
|     /**
 | |
|         Returns the image locations for the last operation.
 | |
|     */
 | |
|     const wxArrayString& GetTemporaryImageLocations() const;
 | |
| 
 | |
|     /**
 | |
|         Reset the file counter, in case, for example, the same names are required each
 | |
|         time.
 | |
|     */
 | |
|     static void SetFileCounter(int counter);
 | |
| 
 | |
|     /**
 | |
|         Sets the mapping for converting point sizes to HTML font sizes.
 | |
| 
 | |
|         There should be 7 elements, one for each HTML font size, each element
 | |
|         specifying the maximum point size for that HTML font size.
 | |
|         For example:
 | |
|         @code
 | |
|         wxArrayInt fontSizeMapping;
 | |
|         fontSizeMapping.Add(7);
 | |
|         fontSizeMapping.Add(9);
 | |
|         fontSizeMapping.Add(11);
 | |
|         fontSizeMapping.Add(12);
 | |
|         fontSizeMapping.Add(14);
 | |
|         fontSizeMapping.Add(22);
 | |
|         fontSizeMapping.Add(100);
 | |
| 
 | |
|         htmlHandler.SetFontSizeMapping(fontSizeMapping);
 | |
|         @endcode
 | |
|     */
 | |
|     void SetFontSizeMapping(const wxArrayInt& fontSizeMapping);
 | |
| 
 | |
|     /**
 | |
|         Sets the directory for storing temporary files.
 | |
|         If empty, the system temporary directory will be used.
 | |
|     */
 | |
|     void SetTempDir(const wxString& tempDir);
 | |
| 
 | |
|     /**
 | |
|         Sets the list of image locations generated by the last operation.
 | |
|     */
 | |
|     void SetTemporaryImageLocations(const wxArrayString& locations);
 | |
| 
 | |
| protected:
 | |
|     /**
 | |
|         Saves the buffer content to the HTML stream.
 | |
|     */
 | |
|     virtual bool DoSaveFile(wxRichTextBuffer* buffer, wxOutputStream& stream);
 | |
| };
 | |
| 
 |