git-svn-id: svn://10.65.10.50/branches/R_10_00@23289 c028cbd2-c16b-5b4b-a496-9718f37d4682
183 lines
4.9 KiB
C++
183 lines
4.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: tex2any.h
|
|
// Purpose: tex2RTF conversion header
|
|
// Author: Julian Smart
|
|
// Modified by: Wlodzimiez ABX Skiba 2003/2004 Unicode support
|
|
// Created: 7.9.93
|
|
// RCS-ID: $Id: tex2rtf.h 41020 2006-09-05 20:47:48Z VZ $
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "wx/app.h"
|
|
|
|
#ifndef NO_GUI
|
|
#include "wx/frame.h"
|
|
#include "wx/textctrl.h"
|
|
|
|
#ifdef __WXMSW__
|
|
#include "wx/dde.h"
|
|
#endif
|
|
|
|
#endif
|
|
|
|
// Define a new application type
|
|
class MyApp: public
|
|
#ifndef NO_GUI
|
|
wxApp
|
|
#else
|
|
wxAppConsole
|
|
#endif
|
|
{ public:
|
|
bool OnInit();
|
|
#ifdef NO_GUI
|
|
int OnRun() { return EXIT_SUCCESS; }
|
|
#else
|
|
int OnExit();
|
|
#endif
|
|
};
|
|
|
|
#ifndef NO_GUI
|
|
|
|
// Define a new frame type
|
|
class MyFrame: public wxFrame
|
|
{ public:
|
|
wxTextCtrl *textWindow;
|
|
MyFrame(wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size);
|
|
|
|
void OnCloseWindow(wxCloseEvent& event);
|
|
void OnExit(wxCommandEvent& event);
|
|
void OnGo(wxCommandEvent& event);
|
|
void OnSetInput(wxCommandEvent& event);
|
|
void OnSetOutput(wxCommandEvent& event);
|
|
void OnSaveFile(wxCommandEvent& event);
|
|
void OnViewOutput(wxCommandEvent& event);
|
|
void OnViewLatex(wxCommandEvent& event);
|
|
void OnLoadMacros(wxCommandEvent& event);
|
|
void OnShowMacros(wxCommandEvent& event);
|
|
void OnModeRTF(wxCommandEvent& event);
|
|
void OnModeWinHelp(wxCommandEvent& event);
|
|
void OnModeHTML(wxCommandEvent& event);
|
|
void OnModeXLP(wxCommandEvent& event);
|
|
void OnOptionsCurlyBrace(wxCommandEvent& event);
|
|
void OnOptionsSyntaxChecking(wxCommandEvent& event);
|
|
void OnHelp(wxCommandEvent& event);
|
|
void OnAbout(wxCommandEvent& event);
|
|
|
|
DECLARE_EVENT_TABLE()
|
|
};
|
|
|
|
#ifdef __WXMSW__
|
|
|
|
class Tex2RTFConnection: public wxDDEConnection
|
|
{
|
|
public:
|
|
Tex2RTFConnection(wxChar *buf, int size);
|
|
virtual ~Tex2RTFConnection(void){}
|
|
bool OnExecute(const wxString& topic, wxChar *data, int size, wxIPCFormat format);
|
|
wxChar *OnRequest(const wxString& topic, const wxString& item, int *size, wxIPCFormat format);
|
|
};
|
|
|
|
class Tex2RTFServer: public wxDDEServer
|
|
{
|
|
public:
|
|
wxConnectionBase *OnAcceptConnection(const wxString& topic);
|
|
};
|
|
|
|
#endif // __WXMSW__
|
|
|
|
#endif // NO_GUI
|
|
|
|
/*
|
|
* Itemize/enumerate structure: put on a stack for
|
|
* getting the indentation right
|
|
*
|
|
*/
|
|
|
|
#define LATEX_ENUMERATE 1
|
|
#define LATEX_ITEMIZE 2
|
|
#define LATEX_DESCRIPTION 3
|
|
#define LATEX_TWOCOL 5
|
|
#define LATEX_INDENT 6
|
|
|
|
class ItemizeStruc: public wxObject
|
|
{
|
|
public:
|
|
int listType;
|
|
int currentItem;
|
|
int indentation;
|
|
int labelIndentation;
|
|
inline ItemizeStruc(int lType, int indent = 0, int labIndent = 0)
|
|
{ listType = lType; currentItem = 0;
|
|
indentation = indent; labelIndentation = labIndent; }
|
|
};
|
|
|
|
// ID for the menu quit command
|
|
#define TEX_QUIT wxID_EXIT
|
|
#define TEX_GO 2
|
|
|
|
#define TEX_SET_INPUT 3
|
|
#define TEX_SET_OUTPUT 4
|
|
|
|
#define TEX_VIEW_LATEX 5
|
|
#define TEX_VIEW_OUTPUT 6
|
|
|
|
#define TEX_VIEW_CUSTOM_MACROS 7
|
|
#define TEX_LOAD_CUSTOM_MACROS 8
|
|
|
|
#define TEX_MODE_RTF 9
|
|
#define TEX_MODE_WINHELP 10
|
|
#define TEX_MODE_HTML 11
|
|
#define TEX_MODE_XLP 12
|
|
|
|
#define TEX_OPTIONS_CURLY_BRACE 13
|
|
#define TEX_OPTIONS_SYNTAX_CHECKING 14
|
|
|
|
#define TEX_HELP 15
|
|
#define TEX_ABOUT wxID_ABOUT
|
|
#define TEX_SAVE_FILE 17
|
|
|
|
extern TexChunk *currentMember;
|
|
extern bool startedSections;
|
|
extern wxChar *contentsString;
|
|
extern bool suppressNameDecoration;
|
|
extern wxList itemizeStack;
|
|
|
|
extern FILE *Contents;
|
|
extern FILE *Chapters;
|
|
extern FILE *Sections;
|
|
extern FILE *Subsections;
|
|
extern FILE *Subsubsections;
|
|
|
|
extern wxString InputFile;
|
|
extern wxString OutputFile;
|
|
extern wxChar *MacroFile;
|
|
|
|
extern wxChar *FileRoot;
|
|
extern wxChar *ContentsName; // Contents page from last time around
|
|
extern wxChar *TmpContentsName; // Current contents page
|
|
extern wxChar *TmpFrameContentsName; // Current frame contents page
|
|
extern wxChar *WinHelpContentsFileName; // WinHelp .cnt file
|
|
extern wxChar *RefName; // Reference file name
|
|
extern wxChar *bulletFile;
|
|
|
|
#ifndef NO_GUI
|
|
void ChooseOutputFile(bool force = false);
|
|
void ChooseInputFile(bool force = false);
|
|
#endif
|
|
|
|
void RTFOnMacro(int macroId, int no_args, bool start);
|
|
bool RTFOnArgument(int macroId, int arg_no, bool start);
|
|
|
|
void HTMLOnMacro(int macroId, int no_args, bool start);
|
|
bool HTMLOnArgument(int macroId, int arg_no, bool start);
|
|
|
|
void XLPOnMacro(int macroId, int no_args, bool start);
|
|
bool XLPOnArgument(int macroId, int arg_no, bool start);
|
|
|
|
bool RTFGo(void);
|
|
bool HTMLGo(void);
|
|
bool XLPGo(void);
|
|
|
|
#define ltHARDY 10000
|