1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef ADC_DISPLAY_HI_ENV_HXX
21 #define ADC_DISPLAY_HI_ENV_HXX
27 #include <cosv/ploc.hxx>
28 #include <cosv/ploc_dir.hxx>
30 #include <toolkit/out_position.hxx>
53 Provides enviroment information to the HTML factory
57 All information that is not included in the data, especially
58 about the layout of the output tree and the access to
59 information from the repository are provided here.
63 class HtmlEnvironment_Idl
68 const csv::ploc::Path
&
70 const ary::idl::Gate
&
72 const display::CorporateFrame
&
74 ~HtmlEnvironment_Idl();
78 output::Position i_pos
,
79 bool i_bCreateDirectoryIfNecessary
);
80 void Goto_DirectoryLevelDown(
81 const String
& i_subDirName
,
82 bool i_bCreateDirectoryIfNecessary
);
83 void Goto_DirectoryLevelUp();
85 const String
& i_fileName
);
87 const ary::idl::CodeEntity
*
89 { pCurPageCe
= i_ce
; }
91 const ary::idl::Gate
&
92 Gate() const { return *pGate
; }
93 const AryAccess
& Data() const { return *pData
; }
94 const char * Link2Manual(
95 const String
& i_link
) const;
97 /// This may be reimplemented for removing dead links to members.
98 bool Is_MemberExistenceCheckRequired() const
101 /// @return Holds only the current directory, not the current file.
102 output::Position
& CurPosition() const { return aCurPosition
; }
103 void Get_CurFilePath(
104 StreamStr
& o_buffer
) const
105 { o_buffer
<< aCurPath
; }
107 const display::CorporateFrame
&
108 Layout() const { return *pLayout
; }
109 const LinkHelper
& Linker() const { return *pLinker
; }
112 StreamStr
& o_result
,
113 output::Position i_destination
)
114 { CurPosition().Get_LinkTo(o_result
, i_destination
); }
115 String
CurPageCe_AsText() const;
116 String
CurPageCe_AsFile(
117 const char * i_sEnding
) const;
118 const ary::idl::CodeEntity
*
119 CurPageCe() const { return pCurPageCe
; }
122 output::Tree
& OutputTree() { return *pOutputTree
; }
126 void create_Directory(
127 const csv::ploc::Path
&
133 csv::ploc::Path aCurPath
;
135 Dyn
<AryAccess
> pData
; /// @invariant *pData is valid.
136 const ary::idl::Gate
*
137 pGate
; /// @invariant pGate != 0.
138 Dyn
<output::Tree
> pOutputTree
; /// @invariant *pOutputTree is valid.
139 mutable output::Position
141 const ary::idl::CodeEntity
*
144 const display::CorporateFrame
*
147 Dyn
<LinkHelper
> pLinker
;
154 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */