Added ignoreBadRefs so e.g. the PMF manual doesn't generate bad references to

wxWindows classes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2002-01-03 18:23:35 +00:00
parent 4aaef122cb
commit bf16085dc0
6 changed files with 46 additions and 23 deletions

View File

@ -577,6 +577,9 @@ are followed, e.g. use of $\backslash${\tt row} command in tabular environment.}
The only default filename in the list is {\tt psbox.tex}.}
\twocolitem{\inioption{isInteractive}}{If true, runs in interactive mode (the default).}
\twocolitem{\inioption{runTwice}}{If true, runs the converter twice.}
\twocolitem{\inioption{ignoreBadRefs}}{If true (or yes), ignores bad helpref references
and simply writes the text in the first argument. Useful when a program such as HelpGen
generates references to classes documented in another manual.}
\end{twocollist}
\subsubsection{Presentation options}\index{options, presentation}%

View File

@ -1906,7 +1906,8 @@ bool HTMLOnArgument(int macroId, int arg_no, bool start)
{
if (helpRefText)
TraverseChildrenFromChunk(helpRefText);
TexOutput(" (REF NOT FOUND)");
if (!ignoreBadRefs)
TexOutput(" (REF NOT FOUND)");
wxString errBuf;
errBuf.Printf("Warning: unresolved reference '%s'", refName);
OnInform((char *)errBuf.c_str());

View File

@ -59,10 +59,8 @@ extern char *RTFCharset;
// This is defined in the Tex2Any library and isn't in use after parsing
extern char *BigBuffer;
extern wxHashTable TexReferences;
// Are we in verbatim mode? If so, format differently.
static bool inVerbatim = FALSE;
@ -95,6 +93,8 @@ static int TwoColWidthB = 3000;
const int PageWidth = 12242; // 8.25 inches wide for A4
// Remember the anchor in a helpref
static TexChunk *helpRefText = NULL;
/*
* Flag to say we've just issued a \par\pard command, so don't
@ -3343,46 +3343,61 @@ bool RTFOnArgument(int macroId, int arg_no, bool start)
TexOutput("{\\i ");
else
TexOutput("}");
if (start)
helpRefText = GetArgChunk();
return TRUE;
}
else if ((GetNoArgs() - arg_no) == 0) // Arg = 2, or 3 if first is optional
{
if (macroId != ltHELPREFN)
{
char *refName = GetArgData();
TexRef *texRef = NULL;
if (refName)
texRef = FindReference(refName);
if (start)
{
TexOutput(" (");
char *refName = GetArgData();
if (texRef || !ignoreBadRefs)
TexOutput(" (");
if (refName)
{
if (useWord)
if (texRef || !ignoreBadRefs)
{
char *s = GetArgData();
TexOutput("p. ");
TexOutput("{\\field{\\*\\fldinst PAGEREF ");
TexOutput(refName);
TexOutput(" \\\\* MERGEFORMAT }{\\fldrslt ??}}");
}
else
{
// Only print section name if we're not in Word mode,
// so can't do page references
TexRef *texRef = FindReference(refName);
if (texRef)
if (useWord)
{
TexOutput(texRef->sectionName) ; TexOutput(" "); TexOutput(texRef->sectionNumber);
char *s = GetArgData();
TexOutput("p. ");
TexOutput("{\\field{\\*\\fldinst PAGEREF ");
TexOutput(refName);
TexOutput(" \\\\* MERGEFORMAT }{\\fldrslt ??}}");
}
else
{
TexOutput("??");
sprintf(buf, "Warning: unresolved reference '%s'", refName);
OnInform(buf);
// Only print section name if we're not in Word mode,
// so can't do page references
if (texRef)
{
TexOutput(texRef->sectionName) ; TexOutput(" "); TexOutput(texRef->sectionNumber);
}
else
{
if (!ignoreBadRefs)
TexOutput("??");
sprintf(buf, "Warning: unresolved reference '%s'", refName);
OnInform(buf);
}
}
}
}
else TexOutput("??");
}
else TexOutput(")");
else
{
if (texRef || !ignoreBadRefs)
TexOutput(")");
}
}
return FALSE;
}

View File

@ -144,6 +144,7 @@ char *linkColourString = NULL;
char *followedLinkColourString = NULL;
bool combineSubSections = FALSE;
bool htmlWorkshopFiles = FALSE;
bool ignoreBadRefs = FALSE;
extern int passNumber;

View File

@ -248,6 +248,7 @@ 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)
// Names to help with internationalisation
extern char *ContentsNameString;

View File

@ -1183,6 +1183,8 @@ char *RegisterSetting(char *settingName, char *settingValue, bool interactive)
htmlFrameContents = StringTobool(settingValue);
else if (StringMatch(settingName, "upperCaseNames", FALSE, TRUE))
upperCaseNames = StringTobool(settingValue);
else if (StringMatch(settingName, "ignoreBadRefs", FALSE, TRUE))
ignoreBadRefs = StringTobool(settingValue);
else if (StringMatch(settingName, "winHelpTitle", FALSE, TRUE))
{
if (winHelpTitle)