void HtmlDocVisitor::visitPre(DocParamList *pl) { //printf("DocParamList::visitPre\n"); if (m_hide) return; m_t << " <tr>"; DocParamSect *sect = 0; if (pl->parent()->kind()==DocNode::Kind_ParamSect) { sect=(DocParamSect*)pl->parent(); } if (sect && sect->hasInOutSpecifier()) { m_t << "<td class=\"paramdir\">"; if (pl->direction()!=DocParamSect::Unspecified) { m_t << "["; if (pl->direction()==DocParamSect::In) { m_t << "in"; } else if (pl->direction()==DocParamSect::Out) { m_t << "out"; } else if (pl->direction()==DocParamSect::InOut) { m_t << "in,out"; } m_t << "]"; } m_t << "</td>"; } if (sect && sect->hasTypeSpecifier()) { m_t << "<td class=\"paramtype\">"; QListIterator<DocNode> li(pl->paramTypes()); DocNode *type; bool first=TRUE; for (li.toFirst();(type=li.current());++li) { if (!first) m_t << " | "; else first=FALSE; if (type->kind()==DocNode::Kind_Word) { visit((DocWord*)type); } else if (type->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)type); } } m_t << "</td>"; } m_t << "<td class=\"paramname\">"; //QStrListIterator li(pl->parameters()); //const char *s; QListIterator<DocNode> li(pl->parameters()); DocNode *param; bool first=TRUE; for (li.toFirst();(param=li.current());++li) { if (!first) m_t << ","; else first=FALSE; if (param->kind()==DocNode::Kind_Word) { visit((DocWord*)param); } else if (param->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)param); } } m_t << "</td><td>"; }
void LatexDocVisitor::visitPre(DocParamList *pl) { if (m_hide) return; DocParamSect::Type parentType = DocParamSect::Unknown; DocParamSect *sect = 0; if (pl->parent() && pl->parent()->kind()==DocNode::Kind_ParamSect) { parentType = ((DocParamSect*)pl->parent())->type(); sect=(DocParamSect*)pl->parent(); } bool useTable = parentType==DocParamSect::Param || parentType==DocParamSect::RetVal || parentType==DocParamSect::Exception || parentType==DocParamSect::TemplateParam; if (!useTable) { m_t << "\\item["; } if (sect && sect->hasInOutSpecifier()) { if (pl->direction()!=DocParamSect::Unspecified) { m_t << "\\mbox{\\tt "; if (pl->direction()==DocParamSect::In) { m_t << "in"; } else if (pl->direction()==DocParamSect::Out) { m_t << "out"; } else if (pl->direction()==DocParamSect::InOut) { m_t << "in,out"; } m_t << "} "; } if (useTable) m_t << " & "; } if (sect && sect->hasTypeSpecifier()) { QListIterator<DocNode> li(pl->paramTypes()); DocNode *type; bool first=TRUE; for (li.toFirst();(type=li.current());++li) { if (!first) m_t << " | "; else first=FALSE; if (type->kind()==DocNode::Kind_Word) { visit((DocWord*)type); } else if (type->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)type); } } if (useTable) m_t << " & "; } m_t << "{\\em "; //QStrListIterator li(pl->parameters()); //const char *s; QListIterator<DocNode> li(pl->parameters()); DocNode *param; bool first=TRUE; for (li.toFirst();(param=li.current());++li) { if (!first) m_t << ","; else first=FALSE; m_insideItem=TRUE; if (param->kind()==DocNode::Kind_Word) { visit((DocWord*)param); } else if (param->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)param); } m_insideItem=FALSE; } m_t << "}"; if (useTable) { m_t << " & "; } else { m_t << "]"; } }
void RTFDocVisitor::visitPre(DocParamList *pl) { static int columnPos[4][5] = { { 2, 25, 100, 100, 100 }, // no inout, no type { 3, 14, 35, 100, 100 }, // inout, no type { 3, 25, 50, 100, 100 }, // no inout, type { 4, 14, 35, 55, 100 }, // inout, type }; int config=0; if (m_hide) return; DBG_RTF("{\\comment RTFDocVisitor::visitPre(DocParamList)}\n"); DocParamSect::Type parentType = DocParamSect::Unknown; DocParamSect *sect = 0; if (pl->parent() && pl->parent()->kind()==DocNode::Kind_ParamSect) { parentType = ((DocParamSect*)pl->parent())->type(); sect=(DocParamSect*)pl->parent(); } bool useTable = parentType==DocParamSect::Param || parentType==DocParamSect::RetVal || parentType==DocParamSect::Exception || parentType==DocParamSect::TemplateParam; if (sect && sect->hasInOutSpecifier()) config+=1; if (sect && sect->hasTypeSpecifier()) config+=2; if (useTable) { int i; m_t << "\\trowd \\trgaph108\\trleft426\\tblind426" "\\trbrdrt\\brdrs\\brdrw10\\brdrcf15 " "\\trbrdrl\\brdrs\\brdrw10\\brdrcf15 " "\\trbrdrb\\brdrs\\brdrw10\\brdrcf15 " "\\trbrdrr\\brdrs\\brdrw10\\brdrcf15 " "\\trbrdrh\\brdrs\\brdrw10\\brdrcf15 " "\\trbrdrv\\brdrs\\brdrw10\\brdrcf15 "<< endl; for (i=0;i<columnPos[config][0];i++) { m_t << "\\clvertalt\\clbrdrt\\brdrs\\brdrw10\\brdrcf15 " "\\clbrdrl\\brdrs\\brdrw10\\brdrcf15 " "\\clbrdrb\\brdrs\\brdrw10\\brdrcf15 " "\\clbrdrr \\brdrs\\brdrw10\\brdrcf15 " "\\cltxlrtb " "\\cellx" << (rtf_pageWidth*columnPos[config][i+1]/100) << endl; } m_t << "\\pard \\widctlpar\\intbl\\adjustright" << endl; } if (sect && sect->hasInOutSpecifier()) { if (useTable) { m_t << "{"; } // Put in the direction: in/out/in,out if specified. if (pl->direction()!=DocParamSect::Unspecified) { if (pl->direction()==DocParamSect::In) { m_t << "in"; } else if (pl->direction()==DocParamSect::Out) { m_t << "out"; } else if (pl->direction()==DocParamSect::InOut) { m_t << "in,out"; } } if (useTable) { m_t << "\\cell }"; } } if (sect && sect->hasTypeSpecifier()) { if (useTable) { m_t << "{"; } QListIterator<DocNode> li(pl->paramTypes()); DocNode *type; bool first=TRUE; for (li.toFirst();(type=li.current());++li) { if (!first) m_t << " | "; else first=FALSE; if (type->kind()==DocNode::Kind_Word) { visit((DocWord*)type); } else if (type->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)type); } } if (useTable) { m_t << "\\cell }"; } } if (useTable) { m_t << "{"; } m_t << "{\\i "; //QStrListIterator li(pl->parameters()); //const char *s; QListIterator<DocNode> li(pl->parameters()); DocNode *param; bool first=TRUE; for (li.toFirst();(param=li.current());++li) { if (!first) m_t << ","; else first=FALSE; if (param->kind()==DocNode::Kind_Word) { visit((DocWord*)param); } else if (param->kind()==DocNode::Kind_LinkedWord) { visit((DocLinkedWord*)param); } } m_t << "} "; if (useTable) { m_t << "\\cell }{"; } m_lastIsPara=TRUE; }
void LatexDocVisitor::visitPre(DocParamList *pl) { if (m_hide) { return; } DocParamSect::Type parentType = DocParamSect::Unknown; DocParamSect *sect = 0; if (pl->parent() && pl->parent()->kind() == DocNode::Kind_ParamSect) { parentType = ((DocParamSect *)pl->parent())->type(); sect = (DocParamSect *)pl->parent(); } bool useTable = parentType == DocParamSect::Param || parentType == DocParamSect::RetVal || parentType == DocParamSect::Exception || parentType == DocParamSect::TemplateParam; if (!useTable) { m_t << "\\item["; } if (sect && sect->hasInOutSpecifier()) { if (pl->direction() != DocParamSect::Unspecified) { m_t << "\\mbox{\\tt "; if (pl->direction() == DocParamSect::In) { m_t << "in"; } else if (pl->direction() == DocParamSect::Out) { m_t << "out"; } else if (pl->direction() == DocParamSect::InOut) { m_t << "in,out"; } m_t << "} "; } if (useTable) { m_t << " & "; } } if (sect && sect->hasTypeSpecifier()) { bool first = true; for (auto type : pl->paramTypes() ) { if (! first) { m_t << " | "; } else { first = false; } if (type->kind() == DocNode::Kind_Word) { visit((DocWord *)type); } else if (type->kind() == DocNode::Kind_LinkedWord) { visit((DocLinkedWord *)type); } } if (useTable) { m_t << " & "; } } m_t << "{\\em "; bool first = true; for (auto param : pl->parameters() ) { if (!first) { m_t << ","; } else { first = false; } m_insideItem = true; if (param->kind() == DocNode::Kind_Word) { visit((DocWord *)param); } else if (param->kind() == DocNode::Kind_LinkedWord) { visit((DocLinkedWord *)param); } m_insideItem = false; } m_t << "}"; if (useTable) { m_t << " & "; } else { m_t << "]"; } }