#define FORBID_WARN 1
#define FORBID_ABSOLUTELY 2
+
+#ifdef __WXMSW__
+ const unsigned long MAX_LINE_BUFFER_SIZE = 600;
+#else
+ const unsigned long MAX_LINE_BUFFER_SIZE = 11000;
+#endif
+
class TexMacroDef: public wxObject
{
public:
int forbidden;
int macroId;
- TexMacroDef(int the_id, char *the_name, int n, bool ig, bool forbidLevel = FORBID_OK);
+ TexMacroDef(int the_id, const char *the_name, int n, bool ig, bool forbidLevel = FORBID_OK);
~TexMacroDef(void);
};
void AddKeyWordForTopic(char *topic, char *entry, char *filename = NULL);
void ClearKeyWordTable(void);
+extern char wxTex2RTFBuffer[];
extern TexChunk *TopLevel;
extern wxHashTable MacroDefs;
extern wxStringList IgnorableInputFiles; // Ignorable \input files, e.g. psbox.tex
bool TexLoadFile(char *filename);
int ParseArg(TexChunk *thisArg, wxList& children, char *buffer, int pos,
char *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL);
-int ParseMacroBody(char *macro_name, TexChunk *parent, int no_args,
+int ParseMacroBody(const char *macro_name, TexChunk *parent, int no_args,
char *buffer, int pos, char *environment = NULL, bool parseArgToBrace = TRUE, TexChunk *customMacroArgs = NULL);
void TraverseDocument(void);
void TraverseFromChunk(TexChunk *chunk, wxNode *thisNode = NULL, bool childrenOnly = FALSE);
void SetCurrentOutputs(FILE *fd1, FILE *fd2);
extern FILE *CurrentOutput1;
extern FILE *CurrentOutput2;
-void AddMacroDef(int the_id, char *name, int n, bool ignore = FALSE, bool forbidden = FALSE);
+void AddMacroDef(int the_id, const char *name, int n, bool ignore = FALSE, bool forbidden = FALSE);
void TexInitialize(int bufSize);
void TexCleanUp(void);
-void TexOutput(char *s, bool ordinaryText = FALSE);
+void TexOutput(const char *s, bool ordinaryText = FALSE);
char *GetArgData(TexChunk *chunk);
char *GetArgData(void); // Get the string for the current argument
int GetNoArgs(void); // Get the number of arguments for the current macro
char *ConvertCase(char *s); // Convert case, according to upperCaseNames setting.
extern wxPathList TexPathList; // Path list, can be used for file searching.
+#if !WXWIN_COMPATIBILITY_2
+extern bool StringMatch(const wxChar *one, const wxChar *two, bool subString = TRUE, bool exact = FALSE);
+#endif
+
// Define a variable value from the .ini file
char *RegisterSetting(char *settingName, char *settingValue, bool interactive = TRUE);
extern bool isInteractive;
extern bool runTwice;
extern int convertMode;
+extern bool checkCurleyBraces;
+extern bool checkSyntax;
extern bool stopRunning;
extern int mirrorMargins;
extern bool headerRule;
extern bool winHelpContents; // Generate .cnt file
extern bool htmlIndex; // Generate .htx HTML index file
extern bool htmlFrameContents; // Use frames for HTML contents page
+extern char *htmlStylesheet; // Use this CSS stylesheet for HTML pages
extern int contentsDepth; // Depth of contents for linear RTF files
extern bool upperCaseNames; // Filenames; default is lower case
extern char *backgroundImageString; // HTML background image
extern char *linkColourString; // HTML link colour
extern char *followedLinkColourString; // HTML followed link colour
extern bool combineSubSections; // Stop splitting files below section
+extern bool htmlWorkshopFiles; // generate HTML Help Workshop project files
+extern bool ignoreBadRefs; // Don't insert (REF NOT FOUND)
+extern char *htmlFaceName; // HTML face name
// Names to help with internationalisation
extern char *ContentsNameString;
bool DefaultOnArgument(int macroId, int arg_no, bool start);
// Called on error
-void OnError(char *msg);
+void OnError(const char *msg);
// Called for information
-void OnInform(char *msg);
+void OnInform(const char *msg);
// Special yield wrapper
void Tex2RTFYield(bool force = FALSE);
// make up a topic name otherwise.
char *FindTopicName(TexChunk *chunk);
// Force the current topic to be this (e.g. force 'references' label).
-void ForceTopicName(char *name);
+void ForceTopicName(const char *name);
void ResetTopicCounter(void);
// Parse unit eg. 14, 12pt, 34cm and return value in points.
char *refFile; // Reference filename (can be NULL)
char *sectionNumber; // Section or figure number (as a string)
char *sectionName; // name e.g. 'section'
- TexRef(char *label, char *file, char *section, char *sectionN = NULL)
- {
- refLabel = copystring(label);
- refFile = file ? copystring(file) : (char*) NULL;
- sectionNumber = section ? copystring(section) : copystring("??");
- sectionName = sectionN ? copystring(sectionN) : copystring("??");
- }
- ~TexRef(void)
- {
- delete[] refLabel; delete[] refFile; delete[] sectionNumber; delete[] sectionName;
- }
+ TexRef(const char *label, const char *file, const char *section, const char *sectionN = NULL);
+ ~TexRef(void);
};
-extern wxHashTable TexReferences;
-
/*
* Add a reference
*
else
macroBody = NULL;
}
+ ~CustomMacro();
};
bool ReadCustomMacros(char *filename);
unsigned int green;
unsigned int blue;
- ColourTableEntry(char *theName, unsigned int r, unsigned int g, unsigned int b);
+ ColourTableEntry(const char *theName, unsigned int r, unsigned int g, unsigned int b);
~ColourTableEntry(void);
};
extern wxList ColourTable;
-extern void AddColour(char *theName, unsigned int r, unsigned int g, unsigned int b);
+extern void AddColour(const char *theName, unsigned int r, unsigned int g, unsigned int b);
extern int FindColourPosition(char *theName);
// Converts e.g. "red" -> "#FF0000"
extern bool FindColourHTMLString(char *theName, char *buf);