#endif
#ifndef NO_GUI
-#include "wx/help.h"
-#include "wx/timer.h"
-#endif
+ #include "wx/timer.h"
+ #include "wx/help.h"
+ #include "wx/cshelp.h"
+ #include "wx/helphtml.h"
+ #ifdef __WXMSW__
+ #include "wx/msw/helpchm.h"
+ #else
+ #include "wx/html/helpctrl.h"
+ #endif
+#endif // !NO_GUI
#if wxUSE_IOSTREAMH
#include <iostream.h>
{ return wxStrcpy(new wxChar[wxStrlen(s) + 1], s); }
#endif
-const float versionNo = TEX2RTF_VERSION_NUMBER;
+const float versionNo = (float)TEX2RTF_VERSION_NUMBER;
TexChunk *currentMember = NULL;
bool startedSections = false;
extern wxList ColourTable;
extern TexChunk *TopLevel;
-
-
#if wxUSE_HELP
-wxHelpController *HelpInstance = NULL;
+wxHelpControllerBase *HelpInstance = NULL;
#endif // wxUSE_HELP
#ifdef __WXMSW__
static wxChar *ipc_buffer = NULL;
static wxChar Tex2RTFLastStatus[100];
Tex2RTFServer *TheTex2RTFServer = NULL;
-#endif
-#endif
+#endif // __WXMSW__
+
+#endif // !NO_GUI
wxChar *bulletFile = NULL;
WinHelpContentsFileName = new wxChar[300];
RefFileName = new wxChar[300];
- ColourTable.DeleteContents(true);
+ WX_CLEAR_LIST(wxList,ColourTable);
int n = 1;
#ifdef NO_GUI
ShowOptions();
exit(1);
-#endif
+#else
return false;
+#endif
}
}
TheTex2RTFServer->Create(_T("TEX2RTF"));
#endif
-#if defined(__WXMSW__) && defined(__WIN16__)
- // Limit to max Windows array size
- if (BufSize > 64) BufSize = 64;
-#endif
-
TexInitialize(BufSize);
ResetContentsLevels(0);
// Create the main frame window
frame = new MyFrame(NULL, wxID_ANY, _T("Tex2RTF"), wxDefaultPosition, wxSize(400, 300));
+#if wxUSE_STATUSBAR
frame->CreateStatusBar(2);
+#endif // wxUSE_STATUSBAR
// Give it an icon
// TODO: uncomment this when we have tex2rtf.xpm
wxMenu *options_menu = new wxMenu;
- options_menu->Append(TEX_OPTIONS_CURELY_BRACE, _T("Curley brace matching"), _T("Checks for mismatched curley braces"),true);
+ options_menu->Append(TEX_OPTIONS_CURLEY_BRACE, _T("Curley brace matching"), _T("Checks for mismatched curley braces"),true);
options_menu->Append(TEX_OPTIONS_SYNTAX_CHECKING, _T("Syntax checking"), _T("Syntax checking for common errors"),true);
- options_menu->Check(TEX_OPTIONS_CURELY_BRACE, checkCurleyBraces);
+ options_menu->Check(TEX_OPTIONS_CURLEY_BRACE, checkCurleyBraces);
options_menu->Check(TEX_OPTIONS_SYNTAX_CHECKING, checkSyntax);
wxMenu *help_menu = new wxMenu;
// ShowOptions();
#if wxUSE_HELP
- HelpInstance = new wxHelpController();
+#if wxUSE_MS_HTML_HELP && !defined(__WXUNIVERSAL__)
+ HelpInstance = new wxCHMHelpController;
+#else
+ HelpInstance = new wxHtmlHelpController;
+#endif
HelpInstance->Initialize(_T("tex2rtf"));
#endif // wxUSE_HELP
if (path != _T(""))
ReadCustomMacros((wxChar *)path.c_str());
+#if wxUSE_STATUSBAR
wxStrcpy(buf, _T("In "));
-
- if (winHelp && (convertMode == TEX_RTF))
- wxStrcat(buf, _T("WinHelp RTF"));
- else if (!winHelp && (convertMode == TEX_RTF))
- wxStrcat(buf, _T("linear RTF"));
- else if (convertMode == TEX_HTML) wxStrcat(buf, _T("HTML"));
- else if (convertMode == TEX_XLP) wxStrcat(buf, _T("XLP"));
- wxStrcat(buf, _T(" mode."));
+ switch (convertMode)
+ {
+ case TEX_RTF:
+ wxStrcat(buf, (winHelp) ? _T("WinHelp RTF") : _T("linear RTF"));
+ break;
+ case TEX_HTML:
+ wxStrcat(buf, _T("HTML"));
+ break;
+ case TEX_XLP:
+ wxStrcat(buf, _T("XLP"));
+ break;
+ default:
+ wxStrcat(buf, _T("unknown"));
+ break;
+ }
+ wxStrcat(buf, _T(" mode."));
frame->SetStatusText(buf, 1);
+#endif // wxUSE_STATUSBAR
frame->Show(true);
return true;
ReadCustomMacros((wxChar*)path.c_str());
Go();
- if (runTwice)
+ if (runTwice)
{
Go();
}
#ifdef NO_GUI
return true;
#else
+ OnExit(); // Do cleanup since OnExit won't be called now
return false;
#endif
}
node = CustomMacroList.GetFirst();
}
MacroDefs.BeginFind();
- node = MacroDefs.Next();
- while (node)
+ wxHashTable::Node* mNode = MacroDefs.Next();
+ while (mNode)
{
- TexMacroDef* def = (TexMacroDef*) node->GetData();
+ TexMacroDef* def = (TexMacroDef*) mNode->GetData();
delete def;
- node = MacroDefs.Next();
+ mNode = MacroDefs.Next();
}
MacroDefs.Clear();
#ifdef __WXMSW__
EVT_MENU(TEX_MODE_WINHELP, MyFrame::OnModeWinHelp)
EVT_MENU(TEX_MODE_HTML, MyFrame::OnModeHTML)
EVT_MENU(TEX_MODE_XLP, MyFrame::OnModeXLP)
- EVT_MENU(TEX_OPTIONS_CURELY_BRACE, MyFrame::OnOptionsCurleyBrace)
+ EVT_MENU(TEX_OPTIONS_CURLEY_BRACE, MyFrame::OnOptionsCurleyBrace)
EVT_MENU(TEX_OPTIONS_SYNTAX_CHECKING, MyFrame::OnOptionsSyntaxChecking)
EVT_MENU(TEX_HELP, MyFrame::OnHelp)
EVT_MENU(TEX_ABOUT, MyFrame::OnAbout)
if (stopRunning)
{
+#if wxUSE_STATUSBAR
SetStatusText(_T("Build aborted!"));
+#endif // wxUSE_STATUSBAR
wxString errBuf;
errBuf.Printf(_T("\nErrors encountered during this pass: %lu\n"), errorCount);
OnInform((wxChar *)errBuf.c_str());
if (s != _T(""))
{
textWindow->SaveFile(s);
+#if wxUSE_STATUSBAR
wxChar buf[350];
wxSnprintf(buf, sizeof(buf), _T("Saved text to %s"), (const wxChar*) s.c_str());
frame->SetStatusText(buf, 0);
+#endif // wxUSE_STATUSBAR
}
}
winHelp = false;
InputFile = NULL;
OutputFile = NULL;
+#if wxUSE_STATUSBAR
SetStatusText(_T("In linear RTF mode."), 1);
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnModeWinHelp(wxCommandEvent& WXUNUSED(event))
winHelp = true;
InputFile = NULL;
OutputFile = NULL;
+#if wxUSE_STATUSBAR
SetStatusText(_T("In WinHelp RTF mode."), 1);
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnModeHTML(wxCommandEvent& WXUNUSED(event))
winHelp = false;
InputFile = NULL;
OutputFile = NULL;
+#if wxUSE_STATUSBAR
SetStatusText(_T("In HTML mode."), 1);
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnModeXLP(wxCommandEvent& WXUNUSED(event))
convertMode = TEX_XLP;
InputFile = NULL;
OutputFile = NULL;
+#if wxUSE_STATUSBAR
SetStatusText(_T("In XLP mode."), 1);
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnOptionsCurleyBrace(wxCommandEvent& WXUNUSED(event))
{
checkCurleyBraces = !checkCurleyBraces;
+#if wxUSE_STATUSBAR
if (checkCurleyBraces)
{
SetStatusText(_T("Checking curley braces: YES"), 1);
{
SetStatusText(_T("Checking curley braces: NO"), 1);
}
+#endif // wxUSE_STATUSBAR
}
void MyFrame::OnOptionsSyntaxChecking(wxCommandEvent& WXUNUSED(event))
{
checkSyntax = !checkSyntax;
+#if wxUSE_STATUSBAR
if (checkSyntax)
{
SetStatusText(_T("Checking syntax: YES"), 1);
{
SetStatusText(_T("Checking syntax: NO"), 1);
}
+#endif // wxUSE_STATUSBAR
}
}
case TEX_HTML:
{
-#if defined(__WXMSW__) && defined(__WIN16__)
- wxStrcpy(extensionBuf, _T("htm"));
- wxStrcat(wildBuf, _T("htm"));
-#else
wxStrcpy(extensionBuf, _T("html"));
wxStrcat(wildBuf, _T("html"));
-#endif
break;
}
}
TexCleanUp();
return false;
}
-#ifndef NO_GUI
+#if !defined(NO_GUI) && wxUSE_STATUSBAR
if (isInteractive)
{
wxString buf;
OnInform((wxChar *)buf.c_str());
}
+#if wxUSE_STATUSBAR
if (isInteractive)
{
buf.Printf(_T("Done, %d %s."), passNumber, (passNumber > 1) ? _T("passes") : _T("pass"));
frame->SetStatusText((wxChar *)buf.c_str());
}
+#endif // wxUSE_STATUSBAR
#else
buf.Printf(_T("Done, %d %s."), passNumber, (passNumber > 1) ? _T("passes") : _T("pass"));
OnInform((wxChar *)buf.c_str());
TexCleanUp();
startedSections = false;
-#ifndef NO_GUI
+#if !defined(NO_GUI) && wxUSE_STATUSBAR
frame->SetStatusText(_T("Aborted by user."));
#endif // GUI
(*frame->textWindow) << msg << _T("\n");
/* This whole block of code is just wrong I think. It would behave
completely wrong under anything other than MSW due to the ELSE
- with no statement, and the cout calls would fail under MSW, as
- the code in this block is compiled if !NO_GUI This code has been
- here since v1.1 of this file too. - gt
+ with no statement, and the cout calls would fail under MSW, as
+ the code in this block is compiled if !NO_GUI This code has been
+ here since v1.1 of this file too. - gt
else
#ifdef __WXMSW__
{
{
}
-Tex2RTFConnection::~Tex2RTFConnection(void)
-{
-}
-
bool SplitCommand(wxChar *data, wxChar *firstArg, wxChar *secondArg)
{
firstArg[0] = 0;
{
// Try for a setting
wxStrcpy(Tex2RTFLastStatus, RegisterSetting(firstArg, secondArg, false));
-#ifndef NO_GUI
+#if !defined(NO_GUI) && wxUSE_STATUSBAR
if (frame && wxStrcmp(firstArg, _T("conversionMode")) == 0)
{
wxChar buf[100];