LCOV - code coverage report
Current view: top level - libreoffice/autodoc/source/display/idl - hfi_tag.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 4 4 100.0 %
Date: 2012-12-27 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : 
      20             : #ifndef ADC_DISPLAY_HFI_TAG_HXX
      21             : #define ADC_DISPLAY_HFI_TAG_HXX
      22             : 
      23             : // BASE CLASSES
      24             : #include "hi_factory.hxx"
      25             : #include <ary_i/disdocum.hxx>
      26             : // USED SERVICES
      27             : #include <ary/idl/i_types4idl.hxx>
      28             : #include <ary_i/ci_atag2.hxx>
      29             : #include <ary_i/ci_text2.hxx>
      30             : #include <ary/doc/d_oldidldocu.hxx>
      31             : 
      32             : #include <toolkit/hf_docentry.hxx>
      33             : 
      34             : /** This class is an implementation of ary::inf::DocuText_Display
      35             :     and will be used by that interface.
      36             : */
      37             : class HF_IdlDocuTextDisplay : public HtmlFactory_Idl,
      38             :                               public ary::inf::DocuText_Display
      39             : {
      40             :   public:
      41             :                         HF_IdlDocuTextDisplay(
      42             :                             Environment  &      io_rEnv,
      43             :                             Xml::Element *      o_pOut,
      44             :                             const ary::idl::CodeEntity &
      45             :                                                 i_rScopeGivingCe );
      46             :     virtual             ~HF_IdlDocuTextDisplay();
      47             : 
      48             :     const ary::idl::CodeEntity &
      49       10239 :                         ScopeGivingCe() const { return *pScopeGivingCe; }
      50             :   private:
      51             :     virtual void        Display_TextToken(
      52             :                             const csi::dsapi::DT_TextToken &
      53             :                                                 i_rToken );
      54             :     virtual void        Display_White();
      55             : 
      56             :     virtual void        Display_MupType(
      57             :                             const csi::dsapi::DT_MupType &
      58             :                                                 i_rToken );
      59             :     virtual void        Display_MupMember(
      60             :                             const csi::dsapi::DT_MupMember &
      61             :                                                 i_rToken );
      62             :     virtual void        Display_MupConst(
      63             :                             const csi::dsapi::DT_MupConst &
      64             :                                                 i_rToken );
      65             :     virtual void        Display_Style(
      66             :                             const csi::dsapi::DT_Style &    i_rToken );
      67             :     virtual void        Display_EOL();
      68             : 
      69             :     // Local
      70        7518 :     void                StartLinkGathering(
      71             :                             const String &      i_sScope )
      72        7518 :                                                 { sLinkToken = ""; sScope = i_sScope; bGatherLink = true; }
      73        7493 :     void                StopLinkGathering()     { bGatherLink = false; }
      74             :     /** @precond
      75             :         The scope is in sScope, the name is in sLinkToken.
      76             :     */
      77             :     void                CreateTypeLink();
      78             :     /** @precond
      79             :         The scope is in sScope, the qualified member-name is in sLinkToken.
      80             :     */
      81             :     void                CreateMemberLink();
      82             : 
      83             :     // DATA
      84             :     String              sScope;
      85             :     String              sLinkToken;
      86             :     bool                bGatherLink;
      87             :     const ary::idl::CodeEntity *
      88             :                         pScopeGivingCe;
      89             : };
      90             : 
      91             : 
      92             : 
      93             : class HF_IdlShortDocu : public HtmlFactory_Idl
      94             : {
      95             :   public:
      96             :                         HF_IdlShortDocu(
      97             :                             Environment &       io_rEnv,
      98             :                             Xml::Element &      o_rOut );
      99             :     virtual             ~HF_IdlShortDocu();
     100             : 
     101             :     void                Produce_byData(
     102             :                             const ary::idl::CodeEntity &
     103             :                                                 i_rCe );
     104             : };
     105             : 
     106             : 
     107             : 
     108             : class HF_IdlTag : public HtmlFactory_Idl,
     109             :                   public ary::inf::DocuTag_Display
     110             : {
     111             :   public:
     112             :                         HF_IdlTag(
     113             :                             Environment &       io_rEnv,
     114             :                             const ary::idl::CodeEntity &
     115             :                                                 i_rScopeGivingCe );
     116             :     virtual             ~HF_IdlTag();
     117             : 
     118             :     void                Produce_byData(
     119             :                             Xml::Element &      o_rTitle,
     120             :                             Xml::Element &      o_rText,
     121             :                             const ary::inf::AtTag2 &
     122             :                                                 i_rTag ) const;
     123             :     void                Produce_byData(
     124             :                             Xml::Element &      o_rTitle,
     125             :                             Xml::Element &      o_rText,
     126             :                             const std::vector< csi::dsapi::DT_SeeAlsoAtTag* > &
     127             :                                                 i_seeAlsoVector ) const;
     128             :   private:
     129             :     virtual void        Display_StdAtTag(
     130             :                             const csi::dsapi::DT_StdAtTag &
     131             :                                                 i_rToken );
     132             :     virtual void        Display_SeeAlsoAtTag(
     133             :                             const csi::dsapi::DT_SeeAlsoAtTag &
     134             :                                                 i_rToken );
     135             :     virtual void        Display_ParameterAtTag(
     136             :                             const csi::dsapi::DT_ParameterAtTag &
     137             :                                                 i_rToken );
     138             :     virtual void        Display_SinceAtTag(
     139             :                             const csi::dsapi::DT_SinceAtTag &
     140             :                                                 i_rToken );
     141             : 
     142             :     void                Enter_TextOut(
     143             :                             Xml::Element &      o_rText ) const;
     144             :     void                Leave_TextOut() const;
     145             :     void                PutText_Out(
     146             :                             const ary::inf::DocuTex2 &
     147             :                                                 i_rText ) const;
     148             :     // DATA
     149             :     mutable Xml::Element *
     150             :                         pTitleOut;
     151             :     mutable HF_IdlDocuTextDisplay
     152             :                         aTextOut;
     153             : };
     154             : 
     155             : 
     156             : 
     157             : 
     158             : #endif
     159             : 
     160             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10