~registry/codeblocks/trunk

« back to all changes in this revision

Viewing changes to src/plugins/contrib/wxSmithSTC/stedit/include/wx/stedit/steexprt.h

  • Committer: mortenmacfly
  • Date: 2012-02-22 14:40:26 UTC
  • Revision ID: svn-v4:98b59c6a-2706-0410-b7d6-d2fa1a1880c9:trunk:7835
* merged wxSmith branch into trunk
* this brings tons of new wxSmith items, including KWIC, wxImagePanel, wxGridBagSizer and more
* based on work of the community, mainly cryogen
* for more information, see changelog of wxSmith branch
* also, re-factoring of contributed wxWidgets items for wxSmith
* PLEASE DO A CLEAN CHECKOUT AND RE-BUILD EVERYTHING FROM SCRATCH!

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
///////////////////////////////////////////////////////////////////////////////
 
2
// Name:        steexprt.h
 
3
// Purpose:     wxSTEditorExporter
 
4
// Author:      John Labenski, mostly others see src for copyright
 
5
// Modified by:
 
6
// Created:     11/05/2002
 
7
// Copyright:   (c) John Labenski, Neil Hodgson & others see steexprt.cpp
 
8
// Licence:     wxWidgets licence
 
9
///////////////////////////////////////////////////////////////////////////////
 
10
 
 
11
#ifndef _STEEXPORT_H_
 
12
#define _STEEXPORT_H_
 
13
 
 
14
#include <wx/stedit/stedefs.h>
 
15
 
 
16
//-----------------------------------------------------------------------------
 
17
// wxSTEditorExporter - simple class to export the contents of a
 
18
//  wxSTEditor to a file or create a html string representation for use
 
19
//  in wxHtmlEasyPrinting.
 
20
//
 
21
//  Create this on demand, there is no use keeping it around.
 
22
//-----------------------------------------------------------------------------
 
23
enum STE_Export_Type
 
24
{
 
25
    STE_EXPORT_HTML,
 
26
    STE_EXPORT_HTMLCSS,
 
27
    STE_EXPORT_PDF,
 
28
    STE_EXPORT_RTF,
 
29
    STE_EXPORT_TEX,
 
30
    STE_EXPORT_XML
 
31
};
 
32
 
 
33
class WXDLLIMPEXP_STEDIT wxSTEditorExporter
 
34
{
 
35
public:
 
36
    wxSTEditorExporter(wxSTEditor* editor);
 
37
 
 
38
    // these are taken from SciTE src/Exporters.cxx
 
39
    bool SaveToRTF(const wxFileName&, int start = 0, int end = -1);
 
40
    bool SaveToHTMLCSS(const wxFileName&);
 
41
    bool SaveToPDF(const wxFileName&);
 
42
    bool SaveToTEX(const wxFileName&);
 
43
    bool SaveToXML(const wxFileName&);
 
44
 
 
45
    // Get a HTML representation of the text, w/ styles
 
46
    //  code originally from wxHatch by Chris Elliott
 
47
    wxString RenderAsHTML();
 
48
    bool SaveToHTML(const wxFileName&);
 
49
 
 
50
    // Export to the file_format (enum STE_Export_Type) to the given fileName
 
51
    //  if !overwrite_prompt don't ask to overwrite
 
52
    //  if !msg_on_error don't show an error message on failure (write error)
 
53
    bool ExportToFile(int file_format, const wxFileName&,
 
54
                      bool overwrite_prompt, bool msg_on_error);
 
55
 
 
56
    static wxString GetExtension(int file_format); // see enum STE_Export_Type
 
57
    static wxString GetWildcards(int file_format); // see enum STE_Export_Type
 
58
 
 
59
    // -----------------------------------------------------------------------
 
60
    // implementation
 
61
 
 
62
    // maps the stc style # to the appropriate ste style using the langs
 
63
    //  returns STE_STYLE_DEFAULT if the style isn't set
 
64
    int SciToSTEStyle(int sci_style) const;
 
65
 
 
66
protected:
 
67
    wxSTEditor*      m_editor;
 
68
    wxSTEditorPrefs  m_stePrefs;
 
69
    wxSTEditorStyles m_steStyles;
 
70
    wxSTEditorLangs  m_steLangs;
 
71
};
 
72
 
 
73
//-----------------------------------------------------------------------------
 
74
// wxSTEditorExportDialog - Choose format and filename to export text
 
75
//
 
76
// This does not save the file, see wxSTEditor::ShowExportDialog
 
77
//-----------------------------------------------------------------------------
 
78
 
 
79
class WXDLLIMPEXP_STEDIT wxSTEditorExportDialog : public wxDialog
 
80
{
 
81
public:
 
82
    wxSTEditorExportDialog(wxWindow* parent,
 
83
                           long style = wxDEFAULT_DIALOG_STYLE_RESIZE);
 
84
 
 
85
    wxFileName GetFileName() const;
 
86
    void SetFileName(const wxFileName&);
 
87
 
 
88
    int  GetFileFormat() const;                    // see enum STE_Export_Type
 
89
    void SetFileFormat(int file_format);
 
90
 
 
91
    // -----------------------------------------------------------------------
 
92
    // implementation
 
93
 
 
94
    void OnChoice(wxCommandEvent& event);
 
95
    void OnButton(wxCommandEvent& event);
 
96
 
 
97
    wxFileName FileNameExtChange(const wxFileName&, int file_format) const;
 
98
 
 
99
    wxChoice   *m_fileFormatChoice;
 
100
    wxComboBox *m_fileNameCombo;
 
101
 
 
102
    static wxArrayString sm_fileNames;     // remember previous settings
 
103
    static int           sm_file_format;
 
104
 
 
105
private:
 
106
    void Init();
 
107
    DECLARE_EVENT_TABLE()
 
108
    DECLARE_ABSTRACT_CLASS(wxSTEditorExportDialog);
 
109
};
 
110
 
 
111
#endif  // _STEEXPORT_H_