LCOV - code coverage report
Current view: top level - libreoffice/autodoc/source/display/inc/toolkit - out_position.hxx (source / functions) Hit Total Coverage
Test: libreoffice_filtered.info Lines: 10 10 100.0 %
Date: 2012-12-27 Functions: 7 7 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_OUT_POSITION_HXX
      21             : #define ADC_DISPLAY_OUT_POSITION_HXX
      22             : 
      23             : 
      24             : // USED SERVICES
      25             :     // BASE CLASSES
      26             :     // COMPONENTS
      27             : #include <toolkit/out_node.hxx>
      28             :     // PARAMETERS
      29             : 
      30             : 
      31             : 
      32             : namespace output
      33             : {
      34             : 
      35             : 
      36             : 
      37        7834 : class Position
      38             : {
      39             :   public:
      40             :     // LIFECYCLE
      41             :                         Position();
      42             :     explicit            Position(
      43             :                             Node &              i_directory,
      44       94480 :                             const String &      i_file = String::Null_() );
      45             :                         Position(
      46             :                             const Position &    i_directory,
      47             :                             const String &      i_rDifferentFile );
      48             :                         ~Position();
      49             : 
      50             :     // OPERATIONS
      51             :     Position &          operator=(
      52             :                             Node &              i_node );
      53             :     Position &          operator+=(
      54             :                             const String &      i_nodeName );
      55             :     Position &          operator-=(
      56             :                             intt                i_levels );
      57             : 
      58             :     // INQUIRY
      59             :     bool                IsValid() const         { return pDirectory->Depth() >= 0; }
      60         119 :     const String &      Name() const            { return pDirectory->Name(); }
      61             :     const String &      File() const            { return sFile; }
      62      344847 :     intt                Depth() const           { return pDirectory->Depth(); }
      63             : 
      64           3 :     void                Get_Chain(
      65             :                             StringVector &      o_result ) const
      66           3 :                                                 { pDirectory->Get_Chain(o_result); }
      67             :     String              LinkToRoot() const;
      68             : 
      69             :     void                Get_LinkTo(
      70             :                             StreamStr &         o_result,
      71             :                             const Position &    i_destination,
      72      168403 :                             const String &      i_localLabel = String::Null_() ) const;
      73             :     void                Get_LinkToRoot(
      74             :                             StreamStr &         o_result ) const;
      75             : 
      76             :     static char         Delimiter()             { return '/'; }
      77             : 
      78             :     // ACCESS
      79       52925 :     Node &              RelatedNode() const     { return *pDirectory; }
      80             : 
      81             :     void                Set(
      82             :                             Node &              i_node,
      83             :                             const String &      i_file = String::Null_() );
      84             :     void                Set_File(
      85             :                             const String &      i_file );
      86             : 
      87             :   private:
      88             :     // DATA
      89             :     String              sFile;
      90             :     Node *              pDirectory;
      91             : };
      92             : 
      93             : 
      94             : /// @return No delimiter at start, with delimiter at end.
      95             : const char *        get_UpLink(
      96             :                         uintt                   i_depth );
      97             : 
      98             : 
      99             : // IMPLEMENTATION
     100             : 
     101             : inline void
     102      110873 : Position::Set_File( const String & i_file )
     103      110873 :     { sFile = i_file; }
     104             : 
     105             : }   // namespace output
     106             : 
     107             : #endif
     108             : 
     109             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10