⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 richtexthtml.h

📁 Wxpython Implemented on Windows CE, Source code
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////
// Name:        wx/richtext/richedithtml.h
// Purpose:     HTML I/O for wxRichTextCtrl
// Author:      Julian Smart
// Modified by:
// Created:     2005-09-30
// RCS-ID:      $Id: richtexthtml.h,v 1.5 2006/06/29 07:11:54 JS Exp $
// Copyright:   (c) Julian Smart
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _WX_RICHTEXTHTML_H_
#define _WX_RICHTEXTHTML_H_

/*!
 * Includes
 */

#include "wx/richtext/richtextbuffer.h"

/*!
 * wxRichTextHTMLHandler
 */

class WXDLLIMPEXP_RICHTEXT 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)
        { }

    /// 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;

protected:

#if wxUSE_STREAMS
    virtual bool DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& stream);
    virtual bool DoSaveFile(wxRichTextBuffer *buffer, wxOutputStream& stream);
#endif

    /// Output character formatting
    virtual void BeginCharacterFormatting(const wxTextAttrEx& currentStyle, const wxTextAttrEx& thisStyle, wxOutputStream& stream );
    virtual void EndCharacterFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream );
	
	/// Output paragraph formatting
    virtual void OutputParagraphFormatting(const wxTextAttrEx& WXUNUSED(currentStyle), const wxTextAttrEx& thisStyle, wxOutputStream& stream/*, bool start*/);
	
	/// Converts an image to its base64 equivalent
	void Image_to_Base64(wxRichTextImage* image, wxOutputStream& stream);
	
	/// Builds required indentation 
	void Indent( const wxTextAttrEx& thisStyle, wxTextOutputStream& str );
	
	/// Left indent
	void LIndent( const wxTextAttrEx& thisStyle, wxTextOutputStream& str );
	
	/// Converts from pt to size property compatible height
	long Pt_To_Size(long size);
	
	/// Typical base64 encoder
	wxChar* b64enc( unsigned char* input, size_t in_len );
	
	/// Gets the mime type of the given wxBITMAP_TYPE
    const wxChar* GetMimeType(int imageType);
	
	/// Gets the html equivalent of the specified value
	wxString GetAlignment( const wxTextAttrEx& thisStyle );

	/// Generates   array for indentations
	wxString SymbolicIndent(long indent);
	
	/// Finds the html equivalent of the specified bullet
	void TypeOfList( const wxTextAttrEx& thisStyle, wxString& tag );
	
	/// Closes existings or Opens new tables for navigation to an item's horizontal position.
	void NavigateToListPosition( const wxTextAttrEx& thisStyle, wxTextOutputStream& str );
	
	/// Indentation values of the table tags
	wxArrayInt m_indents;
	
	/// Horizontal position of the current table
	long m_indent;

	/// Is there any opened font tag 
	bool m_font;

	/// Is there any opened ul/ol tag
	bool m_list;

	/// type of list, ul or ol?
	bool m_is_ul;

};

#endif
    // _WX_RICHTEXTXML_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -