dochandler.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * $Id$
4  *
5  *
6  * Copyright (C) 1997-2015 by Dimitri van Heesch.
7  *
8  * Permission to use, copy, modify, and distribute this software and its
9  * documentation under the terms of the GNU General Public License is hereby
10  * granted. No representations are made about the suitability of this software
11  * for any purpose. It is provided "as is" without express or implied warranty.
12  * See the GNU General Public License for more details.
13  *
14  */
15 
16 #ifndef _DOCHANDLER_H
17 #define _DOCHANDLER_H
18 
19 #include <qstring.h>
20 #include <qlist.h>
21 #include <qxml.h>
22 
23 #include <doxmlintf.h>
24 #include "stringimpl.h"
25 #include "basehandler.h"
26 #include "baseiterator.h"
27 
28 class ParagraphHandler;
29 class DocInternalHandler;
30 class LinkedTextImpl;
31 class LinkedTextHandler;
32 
33 //-----------------------------------------------------------------------------
34 
35 class DocImpl : public IDoc { public: virtual ~DocImpl() {} };
36 
37 #define DEFINE_CLS_IMPL(cls) \
38  class cls##Impl : public I##cls, public DocImpl { public: virtual ~cls##Impl() {} }
39 
40 DEFINE_CLS_IMPL(DocMarkup);
43 DEFINE_CLS_IMPL(DocMarkupModifier);
44 DEFINE_CLS_IMPL(DocItemizedList);
45 DEFINE_CLS_IMPL(DocOrderedList);
46 DEFINE_CLS_IMPL(DocListItem);
47 DEFINE_CLS_IMPL(DocParameterList);
48 DEFINE_CLS_IMPL(DocParameterItem);
49 DEFINE_CLS_IMPL(DocParameter);
53 DEFINE_CLS_IMPL(DocVariableList);
54 DEFINE_CLS_IMPL(DocVariableListEntry);
55 DEFINE_CLS_IMPL(DocHRuler);
57 DEFINE_CLS_IMPL(DocULink);
58 DEFINE_CLS_IMPL(DocEMail);
60 DEFINE_CLS_IMPL(DocProgramListing);
61 DEFINE_CLS_IMPL(DocCodeLine);
62 DEFINE_CLS_IMPL(DocHighlight);
67 DEFINE_CLS_IMPL(DocTable);
68 DEFINE_CLS_IMPL(DocRow);
69 DEFINE_CLS_IMPL(DocEntry);
73 DEFINE_CLS_IMPL(DocTocList);
74 DEFINE_CLS_IMPL(DocTocItem);
79 
80 //-----------------------------------------------------------------------------
81 
82 
83 /*! \brief Node representing a piece of text.
84  *
85  */
86 class TextNode : public DocTextImpl
87 {
88  public:
89  TextNode(const QString &t,int markup,int level)
90  : m_text(t), m_markup(markup), m_headingLevel(level) {}
91  virtual ~TextNode() {}
92 
93  // IDocText
94  virtual Kind kind() const { return DocImpl::Text; }
95  virtual const IString *text() const { return &m_text; }
96  virtual int markup() const { return m_markup; }
97  virtual int headingLevel() const { return m_headingLevel; }
98 
99  private:
101  int m_markup;
103 };
104 
105 //-----------------------------------------------------------------------------
106 
107 /*! \brief Node representing a change in the markup style.
108  *
109  */
110 class MarkupModifierNode : public DocMarkupModifierImpl
111 {
112  public:
113  MarkupModifierNode(int markup,bool enabled,int level=0)
114  : m_markup(markup), m_enabled(enabled), m_headingLevel(level) {}
115  virtual ~MarkupModifierNode() {}
116 
117  // IDocMarkupModifier
118  virtual Kind kind() const { return DocImpl::MarkupModifier; }
119  virtual bool enabled() const { return m_enabled; }
120  virtual int markup() const { return m_markup; }
121  virtual int headingLevel() const { return m_headingLevel; }
122 
123  private:
124  int m_markup;
125  bool m_enabled;
127 };
128 
129 
130 //-----------------------------------------------------------------------------
131 
132 /*! \brief Handles markup commands in the XML input.
133  *
134  */
135 class MarkupHandler : public BaseFallBackHandler<MarkupHandler>
136 {
137  public:
138  MarkupHandler(QList<DocImpl> &children,QString &curString);
139  virtual ~MarkupHandler();
140  int markup() const { return m_curMarkup; }
141  int headingLevel() const { return m_headingLevel; }
142 
143  virtual void startBold(const QXmlAttributes &attrib);
144  virtual void endBold();
145  virtual void startEmphasis(const QXmlAttributes &attrib);
146  virtual void endEmphasis();
147  virtual void startComputerOutput(const QXmlAttributes &attrib);
148  virtual void endComputerOutput();
149  virtual void startCenter(const QXmlAttributes &attrib);
150  virtual void endCenter();
151  virtual void startSmallFont(const QXmlAttributes &attrib);
152  virtual void endSmallFont();
153  virtual void startSubscript(const QXmlAttributes &attrib);
154  virtual void endSubscript();
155  virtual void startSuperscript(const QXmlAttributes &attrib);
156  virtual void endSuperscript();
157  virtual void startPreformatted(const QXmlAttributes &attrib);
158  virtual void endPreformatted();
159  virtual void startHeading1(const QXmlAttributes &attrib);
160  virtual void endHeading1();
161  virtual void startHeading2(const QXmlAttributes &attrib);
162  virtual void endHeading2();
163  virtual void startHeading3(const QXmlAttributes &attrib);
164  virtual void endHeading3();
165  virtual void startHeading4(const QXmlAttributes &attrib);
166  virtual void endHeading4();
167  virtual void startHeading5(const QXmlAttributes &attrib);
168  virtual void endHeading5();
169  virtual void startHeading6(const QXmlAttributes &attrib);
170  virtual void endHeading6();
171 
172 
173  private:
174  void addTextNode();
175 
180 };
181 
182 //-----------------------------------------------------------------------------
183 
184 /*! \brief Node representing a paragraph of text and commands.
185  *
186  */
187 // children: itemizedlist, orderedlist, parameterlist, simplesect, ref,
188 // variablelist, hruler, linebreak, ulink, email, link
189 // programlisting, formula, image, dotfile, indexentry,
190 // table
191 //
192 // children handled by MarkupHandler:
193 // bold, computeroutput, emphasis, center,
194 // small, subscript, superscript.
195 //
196 class ParagraphHandler : public DocParaImpl,
197  public BaseHandler<ParagraphHandler>
198 {
199  friend class ParagraphIterator;
200 
201  public:
202  virtual void startParagraph(const QXmlAttributes& attrib);
203  virtual void endParagraph();
204  virtual void startItemizedList(const QXmlAttributes& attrib);
205  virtual void startOrderedList(const QXmlAttributes& attrib);
206  virtual void startParameterList(const QXmlAttributes& attrib);
207  virtual void startSimpleSect(const QXmlAttributes& attrib);
208  virtual void startRef(const QXmlAttributes& attrib);
209  virtual void startVariableList(const QXmlAttributes& attrib);
210  virtual void startHRuler(const QXmlAttributes& attrib);
211  virtual void startLineBreak(const QXmlAttributes& attrib);
212  virtual void startULink(const QXmlAttributes& attrib);
213  virtual void startEMail(const QXmlAttributes& attrib);
214  virtual void startLink(const QXmlAttributes& attrib);
215  virtual void startProgramListing(const QXmlAttributes& attrib);
216  virtual void startFormula(const QXmlAttributes& attrib);
217  virtual void startImage(const QXmlAttributes& attrib);
218  virtual void startDotFile(const QXmlAttributes& attrib);
219  virtual void startIndexEntry(const QXmlAttributes& attrib);
220  virtual void startTable(const QXmlAttributes& attrib);
221  virtual void startVerbatim(const QXmlAttributes& attrib);
222  virtual void startHtmlOnly(const QXmlAttributes& attrib);
223  virtual void startLatexOnly(const QXmlAttributes& attrib);
224  virtual void startUmlaut(const QXmlAttributes& attrib);
225  virtual void startAcute(const QXmlAttributes& attrib);
226  virtual void startGrave(const QXmlAttributes& attrib);
227  virtual void startCirc(const QXmlAttributes& attrib);
228  virtual void startTilde(const QXmlAttributes& attrib);
229  virtual void startSzlig(const QXmlAttributes& attrib);
230  virtual void startCedil(const QXmlAttributes& attrib);
231  virtual void startRing(const QXmlAttributes& attrib);
232  virtual void startNbsp(const QXmlAttributes& attrib);
233  virtual void startCopy(const QXmlAttributes& attrib);
234  virtual void startAnchor(const QXmlAttributes& attrib);
235  virtual void startCopyDoc(const QXmlAttributes& attrib);
236  virtual void startTocList(const QXmlAttributes& attrib);
237 
239  virtual ~ParagraphHandler();
240 
241  // IDocPara
242  virtual Kind kind() const { return DocImpl::Para; }
243  virtual IDocIterator *contents() const;
244 
245  private:
246  void addTextNode();
250 };
251 
252 class ParagraphIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
253 {
254  public:
256  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
257 };
258 
259 //-----------------------------------------------------------------------------
260 
261 /*! \brief Node representing a list item.
262  *
263  */
264 class ListItemHandler : public DocListItemImpl, public BaseHandler<ListItemHandler>
265 {
266  friend class ListItemIterator;
267  public:
269  virtual ~ListItemHandler();
270  virtual void startListItem(const QXmlAttributes& attrib);
271  virtual void endListItem();
272  virtual void startParagraph(const QXmlAttributes& attrib);
273 
274  // IDocItem
275  virtual Kind kind() const { return DocImpl::ListItem; }
276  virtual IDocIterator *contents() const;
277 
278  private:
281 };
282 
283 class ListItemIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
284 {
285  public:
287  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
288 };
289 
290 
291 //-----------------------------------------------------------------------------
292 
293 /*! \brief Node representing list of items.
294  *
295  */
296 class OrderedListHandler : public DocOrderedListImpl, public BaseHandler<OrderedListHandler>
297 {
298  friend class OrderedListIterator;
299  public:
301  virtual ~OrderedListHandler();
302  virtual void startOrderedList(const QXmlAttributes& attrib);
303  virtual void endOrderedList();
304  virtual void startOrderedListItem(const QXmlAttributes& attrib);
305 
306  // IDocOrderedList
307  virtual Kind kind() const { return DocImpl::OrderedList; }
308  virtual IDocIterator *elements() const;
309 
310  private:
313 };
314 
315 class OrderedListIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
316 {
317  public:
319  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
320 };
321 
322 //-----------------------------------------------------------------------------
323 
324 /*! \brief Node representing table of contents list.
325  *
326  */
327 class TocListHandler : public DocTocListImpl, public BaseHandler<TocListHandler>
328 {
329  friend class TocListIterator;
330  public:
332  virtual ~TocListHandler();
333  virtual void startTocList(const QXmlAttributes& attrib);
334  virtual void endTocList();
335  virtual void startTocItem(const QXmlAttributes& attrib);
336 
337  // IDocTocList
338  virtual Kind kind() const { return DocImpl::TocList; }
339  virtual IDocIterator *elements() const;
340 
341  private:
344 };
345 
346 class TocListIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
347 {
348  public:
350  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
351 };
352 
353 //-----------------------------------------------------------------------------
354 
355 /*! \brief Node representing a table of contents item.
356  *
357  */
358 class TocItemHandler : public DocTocItemImpl, public BaseHandler<TocItemHandler>
359 {
360  friend class TocItemIterator;
361  public:
363  virtual ~TocItemHandler();
364  virtual void startTocItem(const QXmlAttributes& attrib);
365  virtual void endTocItem();
366 
367  // IDocItem
368  virtual Kind kind() const { return DocImpl::TocItem; }
369  virtual const IString *id() const { return &m_id; }
370  virtual const IString *title() const { return &m_title; }
371 
372  private:
376 };
377 
378 //-----------------------------------------------------------------------------
379 
380 /*! \brief Node representing list of items.
381  *
382  */
383 class ItemizedListHandler : public DocItemizedListImpl, public BaseHandler<ItemizedListHandler>
384 {
385  friend class ItemizedListIterator;
386  public:
388  virtual ~ItemizedListHandler();
389  virtual void startItemizedList(const QXmlAttributes& attrib);
390  virtual void endItemizedList();
391  virtual void startItemizedListItem(const QXmlAttributes& attrib);
392 
393  // IDocItemizedList
394  virtual Kind kind() const { return DocImpl::ItemizedList; }
395  virtual IDocIterator *elements() const;
396 
397  private:
400 };
401 
402 class ItemizedListIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
403 {
404  public:
406  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
407 };
408 
409 
410 //-----------------------------------------------------------------------------
411 /*! \brief Node representing a parameter.
412  *
413  */
414 class ParameterHandler : public DocParameterImpl,
415  public BaseHandler<ParameterHandler>
416 {
417  public:
419  virtual ~ParameterHandler();
420  virtual void startParameterName(const QXmlAttributes& attrib);
421  virtual void endParameterName();
422 
423  // IDocParameter
424  virtual Kind kind() const { return DocImpl::Parameter; }
425  virtual const IString *name() const { return &m_name; }
426 
427  private:
430 };
431 
432 //-----------------------------------------------------------------------------
433 
434 /* \brief Node representing a list of param names with a single description.
435  *
436  */
437 class ParameterItemHandler : public DocParameterItemImpl,
438  public BaseHandler<ParameterItemHandler>
439 {
440  friend class ParameterItemIterator;
441  public:
443  virtual ~ParameterItemHandler();
444  virtual void startParameterItem(const QXmlAttributes& attrib);
445  virtual void endParameterItem();
446  virtual void startParameterName(const QXmlAttributes& attrib);
447  virtual void startParagraph(const QXmlAttributes& attrib);
448 
449  // IDocParameterItem
450  virtual Kind kind() const { return DocImpl::ParameterItem; }
451  virtual IDocIterator *paramNames() const;
452  virtual IDocPara *description() const { return m_description; }
453 
454  private:
458 };
459 
460 class ParameterItemIterator : public BaseIteratorVia<IDocIterator,IDoc,ParameterHandler,DocImpl>
461 {
462  public:
464  BaseIteratorVia<IDocIterator,IDoc,ParameterHandler,DocImpl>(handler.m_parameters) {}
465 };
466 
467 //-----------------------------------------------------------------------------
468 
469 /* \brief Node representing a parameter section.
470  *
471  */
472 class ParameterListHandler : public DocParameterListImpl,
473  public BaseHandler<ParameterListHandler>
474 {
475  friend class ParameterListIterator;
476  public:
478  virtual ~ParameterListHandler();
479  virtual void startParameterList(const QXmlAttributes& attrib);
480  virtual void endParameterList();
481  virtual void startParameterItem(const QXmlAttributes& attrib);
482 
483  // IDocParameterList
484  virtual Kind kind() const { return DocImpl::ParameterList; }
485  virtual Types sectType() const { return m_type; }
486  virtual IDocIterator *params() const;
487 
488  private:
491  Types m_type;
492 };
493 
494 class ParameterListIterator : public BaseIteratorVia<IDocIterator,IDoc,ParameterItemHandler,DocImpl>
495 {
496  public:
499 };
500 
501 //-----------------------------------------------------------------------------
502 
503 /* \brief Node representing a horizontal ruler
504  *
505  */
506 class LineBreakHandler : public DocLineBreakImpl, public BaseHandler<LineBreakHandler>
507 {
508  public:
510  virtual ~LineBreakHandler();
511 
512  void startLineBreak(const QXmlAttributes& attrib);
513  void endLineBreak();
514 
515  // IDocLineBreak
516  virtual Kind kind() const { return DocImpl::LineBreak; }
517 
518  private:
520 };
521 
522 //-----------------------------------------------------------------------------
523 
524 /* \brief Node representing a link to section
525  *
526  */
527 class LinkHandler : public DocLinkImpl, public BaseHandler<LinkHandler>
528 {
529  public:
531  virtual ~LinkHandler();
532 
533  void startLink(const QXmlAttributes& attrib);
534  void endLink();
535 
536  // IDocLink
537  virtual Kind kind() const { return DocImpl::Link; }
538  virtual const IString *refId() const { return &m_ref; }
539  virtual const IString *text() const { return &m_text; }
540 
541  private:
545 };
546 
547 
548 //-----------------------------------------------------------------------------
549 
550 /* \brief Node representing a link to an email address
551  *
552  */
553 class EMailHandler : public DocEMailImpl, public BaseHandler<EMailHandler>
554 {
555  public:
557  virtual ~EMailHandler();
558 
559  void startEMail(const QXmlAttributes& attrib);
560  void endEMail();
561 
562  // IDocEMail
563  virtual Kind kind() const { return DocImpl::EMail; }
564  virtual const IString *address() const { return &m_address; }
565 
566  private:
569 };
570 
571 
572 //-----------------------------------------------------------------------------
573 
574 /* \brief Node representing a link to an URL
575  *
576  */
577 class ULinkHandler : public DocULinkImpl, public BaseHandler<ULinkHandler>
578 {
579  public:
581  virtual ~ULinkHandler();
582 
583  void startULink(const QXmlAttributes& attrib);
584  void endULink();
585 
586  // IDocULink
587  virtual Kind kind() const { return DocImpl::ULink; }
588  virtual const IString * url() const { return &m_url; }
589  virtual const IString * text() const { return &m_text; }
590 
591  private:
595 };
596 
597 //-----------------------------------------------------------------------------
598 
599 /* \brief Node representing a horizontal ruler
600  *
601  */
602 class HRulerHandler : public DocHRulerImpl, public BaseHandler<HRulerHandler>
603 {
604  public:
606  virtual ~HRulerHandler();
607 
608  void startHRuler(const QXmlAttributes& attrib);
609  void endHRuler();
610 
611  // IDocHRuler
612  virtual Kind kind() const { return DocImpl::HRuler; }
613 
614  private:
616 };
617 
618 //-----------------------------------------------------------------------------
619 
620 /* \brief Node representing a reference to another item
621  *
622  */
623 class RefHandler : public DocRefImpl, public BaseHandler<RefHandler>
624 {
625  public:
627  virtual ~RefHandler();
628  void startRef(const QXmlAttributes& attrib);
629  void endRef();
630 
631  // IDocRef
632  virtual Kind kind() const { return DocImpl::Ref; }
633  virtual const IString *refId() const { return &m_refId; }
634  virtual TargetKind targetKind() const { return m_targetKind; }
635  virtual const IString *external() const { return &m_extId; }
636  virtual const IString *text() const { return &m_linkText; }
637 
638  private:
643  TargetKind m_targetKind;
644 };
645 
646 //-----------------------------------------------------------------------------
647 
648 /* \brief Node representing the title of a section
649  *
650  */
651 // children: text, ref
652 // children handled by MarkupHandler:
653 // bold, computeroutput, emphasis, center,
654 // small, subscript, superscript.
655 class TitleHandler : public DocTitleImpl, public BaseHandler<TitleHandler>
656 {
657  friend class TitleIterator;
658  public:
660  virtual ~TitleHandler();
661  virtual void startTitle(const QXmlAttributes& attrib);
662  virtual void endTitle();
663  virtual void startRef(const QXmlAttributes& attrib);
664  void addTextNode();
665 
666  // IDocTitle
667  virtual Kind kind() const { return DocImpl::Title; }
668  virtual IDocIterator *title() const;
669 
670  private:
674 };
675 
676 class TitleIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
677 {
678  public:
680  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
681 };
682 
683 //-----------------------------------------------------------------------------
684 
685 /* \brief Node representing a simple section with an unnumbered header.
686  *
687  */
688 // children: title, para
689 class SimpleSectHandler : public DocSimpleSectImpl,
690  public BaseHandler<SimpleSectHandler>
691 {
692  public:
694  virtual ~SimpleSectHandler();
695  virtual void startSimpleSect(const QXmlAttributes& attrib);
696  virtual void endSimpleSect();
697  virtual void startTitle(const QXmlAttributes& attrib);
698  virtual void startParagraph(const QXmlAttributes& attrib);
699 
700  // IDocSimpleSect
701  virtual Kind kind() const { return DocImpl::SimpleSect; }
702  virtual Types type() const { return m_type; }
703  virtual const IString *typeString() const { return &m_typeString; }
704  virtual IDocTitle *title() const { return m_title; }
705  virtual IDocPara *description() const { return m_paragraph; }
706 
707  private:
710  Types m_type;
713 };
714 
715 //-----------------------------------------------------------------------------
716 
717 /* \brief Node representing an named item of a VariableList.
718  *
719  */
720 class VariableListEntryHandler : public DocVariableListEntryImpl,
721  public BaseHandler<VariableListEntryHandler>
722 {
723  public:
724  virtual void startVarListEntry(const QXmlAttributes& attrib);
725  virtual void endVarListEntry();
726  virtual void startListItem(const QXmlAttributes& attrib);
727  virtual void endListItem();
728  virtual void startTerm(const QXmlAttributes& attrib);
729  virtual void endTerm();
730  virtual void startParagraph(const QXmlAttributes& attrib);
731 
733  virtual ~VariableListEntryHandler();
734 
735  // IDocVariableListEntry
736  virtual Kind kind() const { return DocImpl::VariableListEntry; }
737  virtual ILinkedTextIterator *term() const;
738  virtual IDocPara *description() const { return m_description; }
739 
740  private:
745 };
746 
747 //-----------------------------------------------------------------------------
748 
749 /*! \brief Node representing a list of named items.
750  *
751  */
752 // children: varlistentry, listitem
753 class VariableListHandler : public DocVariableListImpl,
754  public BaseHandler<VariableListHandler>
755 {
756  friend class VariableListIterator;
757 
758  public:
759  virtual void startVariableList(const QXmlAttributes& attrib);
760  virtual void endVariableList();
761  virtual void startVarListEntry(const QXmlAttributes& attrib);
762  virtual void startListItem(const QXmlAttributes& attrib);
763 
765  virtual ~VariableListHandler();
766 
767  // IDocVariableList
768  virtual Kind kind() const { return DocImpl::VariableList; }
769  virtual IDocIterator *entries() const;
770 
771  private:
775 };
776 
777 class VariableListIterator : public BaseIteratorVia<IDocIterator,IDoc,VariableListEntryHandler,DocImpl>
778 {
779  public:
782 };
783 
784 //-----------------------------------------------------------------------------
785 
786 /*! \brief Node representing a highlighted text fragment.
787  *
788  */
789 // children: ref
790 class HighlightHandler : public DocHighlightImpl, public BaseHandler<HighlightHandler>
791 {
792  friend class HighlightIterator;
793  public:
795  virtual ~HighlightHandler();
796  void startHighlight(const QXmlAttributes& attrib);
797  void endHighlight();
798  virtual void startRef(const QXmlAttributes&);
799  virtual void startSpace(const QXmlAttributes&);
800 
801  // IDocHighlight
802  virtual Kind kind() const { return DocImpl::Highlight; }
803  virtual HighlightKind highlightKind() const { return m_hl; }
804  virtual IDocIterator *codeElements() const;
805 
806  private:
807  void addTextNode();
808 
810  HighlightKind m_hl;
813 };
814 
815 class HighlightIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
816 {
817  public:
819  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
820 };
821 
822 //-----------------------------------------------------------------------------
823 
824 /*! \brief Node representing a line of code.
825  *
826  */
827 // children: linenumber, highlight, anchor, ref
828 class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandler>
829 {
830  friend class CodeLineIterator;
831  public:
832 
833  virtual void startCodeLine(const QXmlAttributes&);
834  virtual void endCodeLine();
835  virtual void startLineNumber(const QXmlAttributes&);
836  virtual void endLineNumber();
837  virtual void startHighlight(const QXmlAttributes&);
838  virtual void startRef(const QXmlAttributes&);
839 
841  virtual ~CodeLineHandler();
842 
843  // IDocCodeLine
844  virtual Kind kind() const { return DocImpl::CodeLine; }
845  virtual int lineNumber() const { return m_lineNumber; }
846  virtual const IString *refId() const { return &m_refId; }
847  virtual IDocIterator *codeElements() const;
848 
849  private:
850  void addTextNode();
851 
856 };
857 
858 class CodeLineIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
859 {
860  public:
862  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
863 };
864 
865 //-----------------------------------------------------------------------------
866 
867 /*! \brief Node representing a program listing
868  *
869  */
870 // children: codeline, linenumber
871 class ProgramListingHandler : public DocProgramListingImpl, public BaseHandler<ProgramListingHandler>
872 {
874  public:
875  virtual void startProgramListing(const QXmlAttributes& attrib);
876  virtual void endProgramListing();
877  virtual void startCodeLine(const QXmlAttributes&);
878  virtual void startLineNumber(const QXmlAttributes&);
879 
881  virtual ~ProgramListingHandler();
882 
883  // IDocProgramListing
884  virtual Kind kind() const { return DocImpl::ProgramListing; }
885  virtual IDocIterator *codeLines() const;
886 
887  private:
891 };
892 
893 //-----------------------------------------------------------------------------
894 
895 class ProgramListingIterator : public BaseIteratorVia<IDocIterator,IDoc,CodeLineHandler,DocImpl>
896 {
897  public:
900 };
901 
902 //-----------------------------------------------------------------------------
903 
904 /*! \brief Node representing a formula.
905  *
906  */
907 // children: -
908 class FormulaHandler : public DocFormulaImpl, public BaseHandler<FormulaHandler>
909 {
910  public:
912  virtual ~FormulaHandler();
913  void startFormula(const QXmlAttributes& attrib);
914  void endFormula();
915 
916  // IDocFormula
917  virtual Kind kind() const { return DocImpl::Formula; }
918  virtual const IString *id() const { return &m_id; }
919  virtual const IString *text() const { return &m_text; }
920 
921  private:
925 };
926 
927 //-----------------------------------------------------------------------------
928 
929 /*! \brief Node representing an image.
930  *
931  */
932 // children: -
933 class ImageHandler : public DocImageImpl, public BaseHandler<ImageHandler>
934 {
935  public:
937  virtual ~ImageHandler();
938  void startImage(const QXmlAttributes& attrib);
939  void endImage();
940 
941  // IDocImage
942  virtual Kind kind() const { return DocImpl::Image; }
943  virtual const IString *name() const { return &m_name; }
944  virtual const IString *caption() const { return &m_caption; }
945 
946  private:
950 };
951 
952 
953 //-----------------------------------------------------------------------------
954 /*! \brief Node representing an anchor.
955  *
956  */
957 // children: -
958 class AnchorHandler : public DocAnchorImpl, public BaseHandler<AnchorHandler>
959 {
960  public:
962  virtual ~AnchorHandler();
963  void startAnchor(const QXmlAttributes& attrib);
964  void endAnchor();
965 
966  // IDocAnchor
967  virtual Kind kind() const { return DocImpl::Anchor; }
968  virtual const IString *id() const { return &m_id; }
969 
970  private:
973 };
974 
975 //-----------------------------------------------------------------------------
976 
977 /*! \brief Node representing a dot file.
978  *
979  */
980 // children: -
981 class DotFileHandler : public DocDotFileImpl, public BaseHandler<DotFileHandler>
982 {
983  public:
985  virtual ~DotFileHandler();
986  void startDotFile(const QXmlAttributes& attrib);
987  void endDotFile();
988 
989  // IDocDotFile
990  virtual Kind kind() const { return DocImpl::DotFile; }
991  virtual const IString *name() const { return &m_name; }
992  virtual const IString *caption() const { return &m_caption; }
993 
994  private:
998 };
999 
1000 //-----------------------------------------------------------------------------
1001 
1002 /*! \brief Node representing an entry in the index.
1003  *
1004  */
1005 // children: -
1006 class IndexEntryHandler : public DocIndexEntryImpl, public BaseHandler<IndexEntryHandler>
1007 {
1008  public:
1010  virtual ~IndexEntryHandler();
1011  void startIndexEntry(const QXmlAttributes& attrib);
1012  void endIndexEntry();
1013  void startPrimaryIE(const QXmlAttributes& attrib);
1014  void endPrimaryIE();
1015  void startSecondaryIE(const QXmlAttributes& attrib);
1016  void endSecondaryIE();
1017 
1018  // IDocIndexEntry
1019  virtual Kind kind() const { return DocImpl::IndexEntry; }
1020  virtual const IString *primary() const { return &m_primary; }
1021  virtual const IString *secondary() const { return &m_secondary; }
1022 
1023  private:
1027 };
1028 
1029 //-----------------------------------------------------------------------------
1030 
1031 /*! \brief Node representing an entry in the table entry.
1032  *
1033  */
1034 // children: para
1035 class EntryHandler : public DocEntryImpl, public BaseHandler<EntryHandler>
1036 {
1037  friend class EntryIterator;
1038  public:
1040  virtual ~EntryHandler();
1041  void startEntry(const QXmlAttributes& attrib);
1042  void endEntry();
1043  void startParagraph(const QXmlAttributes& attrib);
1044 
1045  // IDocEntry
1046  virtual Kind kind() const { return DocImpl::Entry; }
1047  virtual IDocIterator *contents() const;
1048 
1049  private:
1052 };
1053 
1054 class EntryIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1055 {
1056  public:
1058  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
1059 };
1060 
1061 //-----------------------------------------------------------------------------
1062 
1063 /*! \brief Node representing an entry in the table row.
1064  *
1065  */
1066 // children: entry
1067 class RowHandler : public DocRowImpl, public BaseHandler<RowHandler>
1068 {
1069  friend class RowIterator;
1070  public:
1072  virtual ~RowHandler();
1073  void startRow(const QXmlAttributes& attrib);
1074  void endRow();
1075  void startEntry(const QXmlAttributes& attrib);
1076 
1077  // IDocRow
1078  virtual Kind kind() const { return DocImpl::Row; }
1079  virtual IDocIterator *entries() const;
1080 
1081  private:
1084 };
1085 
1086 class RowIterator : public BaseIteratorVia<IDocIterator,IDoc,EntryHandler,DocImpl>
1087 {
1088  public:
1090  BaseIteratorVia<IDocIterator,IDoc,EntryHandler,DocImpl>(handler.m_children) {}
1091 };
1092 
1093 //-----------------------------------------------------------------------------
1094 
1095 /*! \brief Node representing an entry in the table.
1096  *
1097  */
1098 // children: row, caption
1099 class TableHandler : public DocTableImpl, public BaseHandler<TableHandler>
1100 {
1101  friend class TableIterator;
1102  public:
1104  virtual ~TableHandler();
1105  void startTable(const QXmlAttributes& attrib);
1106  void endTable();
1107  void startRow(const QXmlAttributes& attrib);
1108  void startCaption(const QXmlAttributes& attrib);
1109  void endCaption();
1110 
1111  // IDocTable
1112  virtual Kind kind() const { return DocImpl::Table; }
1113  virtual IDocIterator *rows() const;
1114  virtual int numColumns() const { return m_numColumns; }
1115  virtual const IString *caption() const { return &m_caption; }
1116 
1117  private:
1122 };
1123 
1124 class TableIterator : public BaseIteratorVia<IDocIterator,IDoc,RowHandler,DocImpl>
1125 {
1126  public:
1128  BaseIteratorVia<IDocIterator,IDoc,RowHandler,DocImpl>(handler.m_children) {}
1129 };
1130 
1131 //-----------------------------------------------------------------------------
1132 
1133 /*! \brief Node representing a copied piece of documentation.
1134  *
1135  */
1136 class CopyHandler : public DocCopyImpl, public BaseHandler<CopyHandler>
1137 {
1138  friend class CopyIterator;
1139  public:
1141  virtual ~CopyHandler();
1142  virtual void startCopy(const QXmlAttributes& attrib);
1143  virtual void endCopy();
1144  virtual void startParagraph(const QXmlAttributes& attrib);
1145 
1146  // IDocCopy
1147  virtual Kind kind() const { return DocImpl::Copy; }
1148  virtual IDocIterator *contents() const;
1149 
1150  private:
1153 };
1154 
1155 class CopyIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1156 {
1157  public:
1159  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
1160 };
1161 
1162 //-----------------------------------------------------------------------------
1163 
1164 /*! \brief Node representing an preformatted section
1165  */
1166 class VerbatimHandler : public DocVerbatimImpl,
1167  public BaseHandler<VerbatimHandler>
1168 {
1169  public:
1171  virtual ~VerbatimHandler();
1172  void startVerbatim(const QXmlAttributes& attrib,Types type);
1173  void endVerbatim();
1174 
1175  // IDocVerbatim
1176  virtual Kind kind() const { return DocImpl::Verbatim; }
1177  virtual const IString *text() const { return &m_text; }
1178  virtual Types type() const { return m_type; }
1179 
1180  private:
1183  Types m_type;
1184 };
1185 
1186 
1187 //-----------------------------------------------------------------------------
1188 
1189 /*! \brief Node representing an special symbol.
1190  *
1191  */
1192 // children: -
1193 class SymbolHandler : public DocSymbolImpl, public BaseHandler<SymbolHandler>
1194 {
1195  public:
1197  virtual ~SymbolHandler();
1198  void startSymbol(const QXmlAttributes& attrib);
1199  void endSymbol();
1200 
1201  // IDocSymbol
1202  virtual Kind kind() const { return DocImpl::Symbol; }
1203  virtual Types type() const { return m_type; }
1204  virtual const IString *typeString() const { return &m_typeString; }
1205  virtual char letter() const { return m_letter; }
1206 
1207  private:
1209  char m_letter;
1210  Types m_type;
1212 };
1213 
1214 
1215 //-----------------------------------------------------------------------------
1216 
1217 /*! \brief Node representing a section.
1218  *
1219  */
1220 // children: title, para, sect(n+1)
1221 class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHandler>
1222 {
1225  public:
1227  virtual ~DocSectionHandler();
1228  virtual void startDocSection(const QXmlAttributes& attrib);
1229  virtual void endDocSection();
1230  virtual void startTitle(const QXmlAttributes& attrib);
1231  virtual void startSubSection(const QXmlAttributes& attrib);
1232  virtual void startParagraph(const QXmlAttributes& attrib);
1233  virtual void startInternal(const QXmlAttributes& attrib);
1234 
1235  // IDocSection
1236  virtual Kind kind() const { return DocImpl::Section; }
1237  virtual const IString *id() const { return &m_id; }
1238  virtual int level() const { return m_level; }
1239  virtual IDocTitle *title() const { return m_title; }
1240  virtual IDocIterator *paragraphs() const;
1241  virtual IDocIterator *subSections() const;
1242  virtual IDocInternal *internal() const;
1243 
1244  private:
1250  int m_level;
1252 };
1253 
1254 class DocSectionParaIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1255 {
1256  public:
1258  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_paragraphs) {}
1259 };
1260 
1261 class DocSectionSubIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1262 {
1263  public:
1265  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_subsections) {}
1266 };
1267 
1268 //-----------------------------------------------------------------------------
1269 
1270 class DocInternalHandler : public DocInternalImpl, public BaseHandler<DocInternalHandler>
1271 {
1272  public:
1276  virtual ~DocInternalHandler();
1277  virtual void startInternal(const QXmlAttributes& attrib);
1278  virtual void endInternal();
1279  virtual void startSubSection(const QXmlAttributes& attrib);
1280  virtual void startParagraph(const QXmlAttributes& attrib);
1281 
1282  // IDocInternal
1283  virtual Kind kind() const { return DocImpl::Internal; }
1284  virtual IDocIterator *paragraphs() const;
1285  virtual IDocIterator *subSections() const;
1286 
1287  private:
1291  int m_level;
1292 };
1293 
1294 class DocInternalParaIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1295 {
1296  public:
1298  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_paragraphs) {}
1299 };
1300 
1301 class DocInternalSubIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1302 {
1303  public:
1305  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_subsections) {}
1306 };
1307 
1308 
1309 //-----------------------------------------------------------------------------
1310 
1311 /*! \brief Node representing a documentation block.
1312  *
1313  */
1314 // children: para, title, sect1, internal
1315 class DocHandler : public DocRootImpl, public BaseHandler<DocHandler>
1316 {
1317  friend class DocIterator;
1318  public:
1319  virtual void startDoc(const QXmlAttributes& attrib);
1320  virtual void endDoc();
1321  virtual void startParagraph(const QXmlAttributes& attrib);
1322  virtual void startSect1(const QXmlAttributes& attrib);
1323  virtual void startTitle(const QXmlAttributes& attrib);
1324  virtual void startInternal(const QXmlAttributes& attrib);
1325 
1327  virtual ~DocHandler();
1328 
1329  // IDocRoot
1330  virtual Kind kind() const { return DocImpl::Root; }
1331  virtual IDocIterator *contents() const;
1332  virtual IDocInternal *internal() const;
1333 
1334  private:
1338 };
1339 
1340 class DocIterator : public BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>
1341 {
1342  public:
1344  BaseIteratorVia<IDocIterator,IDoc,DocImpl,DocImpl>(handler.m_children) {}
1345 };
1346 
1347 //-----------------------------------------------------------------------------
1348 
1349 void dochandler_init();
1350 void dochandler_exit();
1351 
1352 #endif
virtual Kind kind() const
Definition: dochandler.h:1019
IBaseHandler * m_parent
Definition: dochandler.h:995
QList< DocImpl > m_subsections
Definition: dochandler.h:1290
int m_headingLevel
Definition: dochandler.h:102
StringImpl m_caption
Definition: dochandler.h:1121
QList< DocImpl > m_children
Definition: dochandler.h:312
IBaseHandler * m_parent
Definition: dochandler.h:1118
virtual IDocPara * description() const
Definition: dochandler.h:705
Node representing a list item.
Definition: dochandler.h:264
virtual Types sectType() const
Definition: dochandler.h:485
IBaseHandler * m_parent
Definition: dochandler.h:519
virtual Kind kind() const
Definition: dochandler.h:942
Node representing an entry in the table entry.
Definition: dochandler.h:1035
virtual Kind kind() const
Definition: dochandler.h:516
Read only interface to a string.
Definition: doxmlintf.h:42
virtual const IString * caption() const
Definition: dochandler.h:992
StringImpl m_text
Definition: dochandler.h:1182
virtual const IString * caption() const
Definition: dochandler.h:944
virtual Kind kind() const
Definition: dochandler.h:1283
virtual Kind kind() const
Definition: dochandler.h:424
HighlightIterator(const HighlightHandler &handler)
Definition: dochandler.h:818
virtual const IString * text() const
Definition: dochandler.h:919
StringImpl m_id
Definition: dochandler.h:972
virtual Kind kind() const
Definition: dochandler.h:884
QList< ParameterHandler > m_parameters
Definition: dochandler.h:456
IBaseHandler * m_parent
Definition: dochandler.h:1335
Node representing an preformatted section.
Definition: dochandler.h:1166
virtual Kind kind() const
Definition: dochandler.h:1202
QList< VariableListEntryHandler > m_entries
Definition: dochandler.h:773
virtual int headingLevel() const
Definition: dochandler.h:97
StringImpl m_title
Definition: dochandler.h:375
virtual Kind kind() const
Definition: dochandler.h:632
TableIterator(const TableHandler &handler)
Definition: dochandler.h:1127
virtual ~TextNode()
Definition: dochandler.h:91
#define DEFINE_CLS_IMPL(cls)
Definition: dochandler.h:37
virtual const IString * external() const
Definition: dochandler.h:635
LinkedTextHandler * m_linkedTextHandler
Definition: dochandler.h:744
StringImpl m_id
Definition: dochandler.h:374
virtual const IString * caption() const
Definition: dochandler.h:1115
int m_headingLevel
Definition: dochandler.h:179
Handles markup commands in the XML input.
Definition: dochandler.h:135
Node representing list of items.
Definition: dochandler.h:383
Node representing a formula.
Definition: dochandler.h:908
QList< CodeLineHandler > m_children
Definition: dochandler.h:889
virtual const IString * url() const
Definition: dochandler.h:588
IBaseHandler * m_parent
Definition: dochandler.h:1288
static void startCodeLine()
Definition: code.cpp:11021
virtual int lineNumber() const
Definition: dochandler.h:845
Node representing a line of code.
Definition: dochandler.h:828
StringImpl m_linkText
Definition: dochandler.h:642
virtual const IString * address() const
Definition: dochandler.h:564
OrderedListIterator(const OrderedListHandler &handler)
Definition: dochandler.h:318
Node representing a list of named items.
Definition: dochandler.h:753
IBaseHandler * m_parent
Definition: dochandler.h:455
TitleHandler * m_title
Definition: dochandler.h:712
StringImpl m_name
Definition: dochandler.h:996
virtual ~DocImpl()
Definition: dochandler.h:35
QList< EntryHandler > m_children
Definition: dochandler.h:1083
RowIterator(const RowHandler &handler)
Definition: dochandler.h:1089
virtual Kind kind() const
Definition: dochandler.h:768
virtual const IString * title() const
Definition: dochandler.h:370
StringImpl m_url
Definition: dochandler.h:593
QList< DocImpl > m_children
Definition: dochandler.h:399
DocInternalHandler * m_internal
Definition: dochandler.h:1337
IBaseHandler * m_parent
Definition: dochandler.h:852
IBaseHandler * m_parent
Definition: dochandler.h:567
StringImpl m_text
Definition: dochandler.h:924
virtual Kind kind() const
Definition: dochandler.h:917
IBaseHandler * m_parent
Definition: dochandler.h:1181
virtual char letter() const
Definition: dochandler.h:1205
QList< DocImpl > m_paragraphs
Definition: dochandler.h:1289
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
Definition: qstring.h:350
virtual Types type() const
Definition: dochandler.h:702
Node representing a paragraph of text and commands.
Definition: dochandler.h:196
virtual Kind kind() const
Definition: dochandler.h:802
ParameterItemIterator(const ParameterItemHandler &handler)
Definition: dochandler.h:463
virtual ~MarkupModifierNode()
Definition: dochandler.h:115
TitleIterator(const TitleHandler &handler)
Definition: dochandler.h:679
virtual int markup() const
Definition: dochandler.h:120
virtual const IString * primary() const
Definition: dochandler.h:1020
StringImpl m_secondary
Definition: dochandler.h:1026
QList< DocImpl > m_paragraphs
Definition: dochandler.h:1246
virtual Kind kind() const
Definition: dochandler.h:667
IBaseHandler * m_parent
Definition: dochandler.h:373
QList< DocImpl > m_children
Definition: dochandler.h:672
virtual const IString * id() const
Definition: dochandler.h:369
Node representing a parameter.
Definition: dochandler.h:414
QList< DocImpl > m_children
Definition: dochandler.h:280
virtual bool enabled() const
Definition: dochandler.h:119
IBaseHandler * m_parent
Definition: dochandler.h:428
QList< DocImpl > m_children
Definition: dochandler.h:248
int headingLevel() const
Definition: dochandler.h:141
void dochandler_exit()
Definition: dochandler.cpp:90
virtual Kind kind() const
Definition: dochandler.h:118
StringImpl m_refId
Definition: dochandler.h:640
DocIterator(const DocHandler &handler)
Definition: dochandler.h:1343
StringImpl m_refId
Definition: dochandler.h:854
void dochandler_init()
Definition: dochandler.cpp:84
Node representing a change in the markup style.
Definition: dochandler.h:110
static void startTable(FTextStream &t, const QCString &className)
Definition: vhdldocgen.cpp:275
virtual IDocPara * description() const
Definition: dochandler.h:738
virtual Kind kind() const
Definition: dochandler.h:1147
VariableListIterator(const VariableListHandler &handler)
Definition: dochandler.h:780
IBaseHandler * m_parent
Definition: dochandler.h:247
StringImpl m_typeString
Definition: dochandler.h:711
Node representing an entry in the table.
Definition: dochandler.h:1099
virtual const IString * id() const
Definition: dochandler.h:1237
IBaseHandler * m_parent
Definition: dochandler.h:398
ParagraphIterator(const ParagraphHandler &handler)
Definition: dochandler.h:255
DocInternalParaIterator(const DocInternalHandler &handler)
Definition: dochandler.h:1297
virtual Kind kind() const
Definition: dochandler.h:844
IBaseHandler * m_parent
Definition: dochandler.h:1151
CodeLineIterator(const CodeLineHandler &handler)
Definition: dochandler.h:861
TocListIterator(const TocListHandler &handler)
Definition: dochandler.h:349
IBaseHandler * m_parent
Definition: dochandler.h:971
Node representing a dot file.
Definition: dochandler.h:981
virtual Kind kind() const
Definition: dochandler.h:612
Node representing an entry in the index.
Definition: dochandler.h:1006
virtual Kind kind() const
Definition: dochandler.h:1176
HighlightKind m_hl
Definition: dochandler.h:810
QList< DocImpl > m_children
Definition: dochandler.h:812
StringImpl m_extId
Definition: dochandler.h:641
StringImpl m_ref
Definition: dochandler.h:543
CopyIterator(const CopyHandler &handler)
Definition: dochandler.h:1158
QList< DocImpl > & m_children
Definition: dochandler.h:176
IBaseHandler * m_parent
Definition: dochandler.h:671
virtual const IString * text() const
Definition: dochandler.h:95
QList< DocImpl > m_subsections
Definition: dochandler.h:1247
DocSectionParaIterator(const DocSectionHandler &handler)
Definition: dochandler.h:1257
virtual const IString * text() const
Definition: dochandler.h:539
virtual Kind kind() const
Definition: dochandler.h:368
DocInternalSubIterator(const DocInternalHandler &handler)
Definition: dochandler.h:1304
QList< DocImpl > m_children
Definition: dochandler.h:1051
virtual Kind kind() const
Definition: dochandler.h:338
IBaseHandler * m_parent
Definition: dochandler.h:809
Node representing a documentation block.
Definition: dochandler.h:1315
IBaseHandler * m_parent
Definition: dochandler.h:592
virtual const IString * name() const
Definition: dochandler.h:425
Node representing table of contents list.
Definition: dochandler.h:327
IBaseHandler * m_parent
Definition: dochandler.h:279
virtual Kind kind() const
Definition: dochandler.h:307
QList< LinkedTextImpl > m_term
Definition: dochandler.h:742
IBaseHandler * m_parent
Definition: dochandler.h:772
StringImpl m_address
Definition: dochandler.h:568
virtual const IString * name() const
Definition: dochandler.h:943
QList< DocImpl > m_children
Definition: dochandler.h:343
IBaseHandler * m_parent
Definition: dochandler.h:888
MarkupHandler * m_markupHandler
Definition: dochandler.h:249
Node representing a table of contents item.
Definition: dochandler.h:358
ProgramListingIterator(const ProgramListingHandler &handler)
Definition: dochandler.h:898
virtual Kind kind() const
Definition: dochandler.h:94
IBaseHandler * m_parent
Definition: dochandler.h:542
virtual Kind kind() const
Definition: dochandler.h:563
virtual IDocPara * description() const
Definition: dochandler.h:452
QList< DocImpl > m_children
Definition: dochandler.h:1336
IBaseHandler * m_parent
Definition: dochandler.h:342
virtual const IString * name() const
Definition: dochandler.h:991
virtual HighlightKind highlightKind() const
Definition: dochandler.h:803
virtual Kind kind() const
Definition: dochandler.h:242
StringImpl m_primary
Definition: dochandler.h:1025
virtual TargetKind targetKind() const
Definition: dochandler.h:634
virtual int numColumns() const
Definition: dochandler.h:1114
static void endCodeLine()
Definition: code.cpp:11081
virtual Kind kind() const
Definition: dochandler.h:967
IBaseHandler * m_parent
Definition: dochandler.h:1208
ParameterListIterator(const ParameterListHandler &handler)
Definition: dochandler.h:497
Iterates over a list of ILinkedText fragments.
Definition: doxmlintf.h:97
virtual const IString * id() const
Definition: dochandler.h:918
virtual const IString * id() const
Definition: dochandler.h:968
virtual Kind kind() const
Definition: dochandler.h:1112
ParagraphHandler * m_description
Definition: dochandler.h:743
StringImpl m_id
Definition: dochandler.h:1249
StringImpl m_caption
Definition: dochandler.h:949
QList< DocImpl > m_children
Definition: dochandler.h:1152
virtual const IString * refId() const
Definition: dochandler.h:538
StringImpl m_text
Definition: dochandler.h:100
void startTitle(OutputList &ol, const char *fileName, Definition *def)
Definition: index.cpp:228
virtual int level() const
Definition: dochandler.h:1238
virtual Kind kind() const
Definition: dochandler.h:587
Node representing an image.
Definition: dochandler.h:933
IBaseHandler * m_parent
Definition: dochandler.h:947
virtual Types type() const
Definition: dochandler.h:1178
StringImpl m_typeString
Definition: dochandler.h:1211
VariableListEntryHandler * m_curEntry
Definition: dochandler.h:774
IBaseHandler * m_parent
Definition: dochandler.h:311
virtual IDocTitle * title() const
Definition: dochandler.h:704
virtual Kind kind() const
Definition: dochandler.h:1330
MarkupModifierNode(int markup, bool enabled, int level=0)
Definition: dochandler.h:113
DocSectionSubIterator(const DocSectionHandler &handler)
Definition: dochandler.h:1264
StringImpl m_caption
Definition: dochandler.h:997
DocInternalHandler * m_internal
Definition: dochandler.h:1248
TitleHandler * m_title
Definition: dochandler.h:1251
EntryIterator(const EntryHandler &handler)
Definition: dochandler.h:1057
virtual const IString * text() const
Definition: dochandler.h:589
StringImpl m_text
Definition: dochandler.h:544
Node representing list of items.
Definition: dochandler.h:296
Node representing a piece of text.
Definition: dochandler.h:86
IBaseHandler * m_parent
Definition: dochandler.h:1024
StringImpl m_name
Definition: dochandler.h:948
virtual Types type() const
Definition: dochandler.h:1203
virtual Kind kind() const
Definition: dochandler.h:484
QList< RowHandler > m_children
Definition: dochandler.h:1119
The QXmlAttributes class provides XML attributes.
Definition: qxml.h:128
virtual IDocTitle * title() const
Definition: dochandler.h:1239
ItemizedListIterator(const ItemizedListHandler &handler)
Definition: dochandler.h:405
ParagraphHandler * m_paragraph
Definition: dochandler.h:709
static msg_handler handler
Definition: qglobal.cpp:234
virtual Kind kind() const
Definition: dochandler.h:537
IBaseHandler * m_parent
Definition: dochandler.h:922
StringImpl m_id
Definition: dochandler.h:923
QList< DocImpl > m_children
Definition: dochandler.h:855
void endTitle(OutputList &ol, const char *fileName, const char *name)
Definition: index.cpp:237
virtual Kind kind() const
Definition: dochandler.h:450
IBaseHandler * m_parent
Definition: dochandler.h:741
TargetKind m_targetKind
Definition: dochandler.h:643
ParagraphHandler * m_description
Definition: dochandler.h:457
virtual const IString * secondary() const
Definition: dochandler.h:1021
Node representing a highlighted text fragment.
Definition: dochandler.h:790
virtual Kind kind() const
Definition: dochandler.h:1078
virtual const IString * text() const
Definition: dochandler.h:636
QString m_hlString
Definition: dochandler.h:811
QList< ParameterItemHandler > m_paramItems
Definition: dochandler.h:490
virtual const IString * refId() const
Definition: dochandler.h:633
ListItemIterator(const ListItemHandler &handler)
Definition: dochandler.h:286
Node representing a copied piece of documentation.
Definition: dochandler.h:1136
virtual const IString * refId() const
Definition: dochandler.h:846
IBaseHandler * m_parent
Definition: dochandler.h:708
Node representing a program listing.
Definition: dochandler.h:871
virtual Kind kind() const
Definition: dochandler.h:1046
QString & m_curString
Definition: dochandler.h:177
Node representing an anchor.
Definition: dochandler.h:958
virtual int markup() const
Definition: dochandler.h:96
int markup() const
Definition: dochandler.h:140
IBaseHandler * m_parent
Definition: dochandler.h:1245
Node representing an entry in the table row.
Definition: dochandler.h:1067
MarkupHandler * m_markupHandler
Definition: dochandler.h:673
virtual int headingLevel() const
Definition: dochandler.h:121
Node representing an special symbol.
Definition: dochandler.h:1193
int m_markup
Definition: dochandler.h:101
virtual const IString * text() const
Definition: dochandler.h:1177
def parent(G, child, parent_type)
Definition: graph.py:67
IBaseHandler * m_parent
Definition: dochandler.h:615
virtual Kind kind() const
Definition: dochandler.h:275
StringImpl m_text
Definition: dochandler.h:594
virtual const IString * typeString() const
Definition: dochandler.h:1204
virtual Kind kind() const
Definition: dochandler.h:394
StringImpl m_name
Definition: dochandler.h:429
The interface to the object model provided by the XML parser library.
IBaseHandler * m_parent
Definition: dochandler.h:1082
Node representing a section.
Definition: dochandler.h:1221
virtual Kind kind() const
Definition: dochandler.h:990
IBaseHandler * m_parent
Definition: dochandler.h:639
IBaseHandler * m_parent
Definition: dochandler.h:1050
IBaseHandler * m_parent
Definition: dochandler.h:489
virtual Kind kind() const
Definition: dochandler.h:1236
TextNode(const QString &t, int markup, int level)
Definition: dochandler.h:89
virtual Kind kind() const
Definition: dochandler.h:736
virtual const IString * typeString() const
Definition: dochandler.h:703
virtual Kind kind() const
Definition: dochandler.h:701