1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #ifndef ADC_DISPLAY_HTML_OPAGEENV_HXX 29 #define ADC_DISPLAY_HTML_OPAGEENV_HXX 30 31 32 // USED SERVICES 33 // BASE CLASSES 34 // COMPONENTS 35 #include <cosv/ploc.hxx> 36 // PARAMETERS 37 38 namespace ary 39 { 40 namespace cpp 41 { 42 class Gate; 43 44 class Namespace; 45 class Class; 46 class Enum; 47 class Typedef; 48 } 49 namespace loc 50 { 51 class File; 52 } 53 } 54 namespace display 55 { 56 class CorporateFrame; 57 } 58 59 class OuputPage_Environment 60 { 61 public: 62 // LIFECYCLE 63 OuputPage_Environment( 64 const csv::ploc::Path & 65 io_rOutputDir, 66 const ary::cpp::Gate & 67 i_rGate, 68 const display::CorporateFrame & 69 i_rLayout ); 70 ~OuputPage_Environment(); 71 72 // OPERATIONS 73 void MoveDir_2Root(); 74 void MoveDir_2Names(); 75 void MoveDir_Down2( /// Only one level. 76 const ary::cpp::Namespace & 77 i_rNsp ); 78 void MoveDir_Down2( /// Only one level. 79 const ary::cpp::Class & 80 i_rClass ); 81 void MoveDir_2Index(); 82 void MoveDir_Up(); 83 84 void SetFile_Css(); 85 void SetFile_Overview(); 86 void SetFile_AllDefs(); 87 void SetFile_Index( 88 char i_cLetter ); 89 void SetFile_Help(); 90 void SetFile_CurNamespace(); 91 void SetFile_Class( 92 const ary::cpp::Class & 93 i_rClass ); 94 void SetFile_Enum( 95 const ary::cpp::Enum & 96 i_rEnum ); 97 void SetFile_Typedef( 98 const ary::cpp::Typedef & 99 i_typedef ); 100 void SetFile_Operations( 101 const ary::loc::File * 102 i_pFile = 0 ); /// Only needed for global functions. 103 void SetFile_Data( 104 const ary::loc::File * 105 i_pFile = 0 ); /// Only needed for global variables. 106 // INQUIRY 107 const ary::cpp::Namespace * 108 CurNamespace() const; 109 const ary::cpp::Class * 110 CurClass() const; 111 const csv::ploc::Path & 112 CurPath() const; 113 const ary::cpp::Gate & 114 Gate() const; 115 const display::CorporateFrame & 116 Layout() const; 117 uintt Depth() const; 118 const String & RepositoryTitle() const; 119 120 private: 121 struct CheshireCat; 122 Dyn<CheshireCat> pi; 123 }; 124 125 126 127 128 #endif 129