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_HFI_LINKLIST_HXX 29 #define ADC_DISPLAY_HFI_LINKLIST_HXX 30 31 32 33 // USED SERVICES 34 // BASE CLASSES 35 #include "hi_factory.hxx" 36 // COMPONENTS 37 // PARAMETERS 38 #include <ary/idl/i_comrela.hxx> 39 #include <ary_i/ci_text2.hxx> 40 #include <ary/doc/d_oldidldocu.hxx> 41 42 43 44 45 class HF_CommentedLink_Table : public HtmlFactory_Idl 46 { 47 public: 48 HF_CommentedLink_Table( 49 Environment & io_rEnv, 50 Xml::Element & o_rOut, 51 const String & i_sTitle, 52 const String & i_sLabel, 53 bool i_bBorder = false ); 54 virtual ~HF_CommentedLink_Table(); 55 56 void Add_Line(); 57 Xml::Element & Cur_LinkColumn(); 58 Xml::Element & Cur_CommentColumn(); 59 60 private: 61 // DATA 62 Html::Table * pTable; 63 Xml::Element * pCurLinkColumn; 64 Xml::Element * pCurCommentColumn; 65 }; 66 67 class HF_MemberTable : public HtmlFactory_Idl 68 { 69 public: 70 HF_MemberTable( 71 Environment & io_rEnv, 72 Xml::Element & o_rOut, 73 const String & i_sTitle, 74 const String & i_sLabel, 75 bool i_bInline = false ); 76 virtual ~HF_MemberTable(); 77 78 void Add_Line(); 79 Xml::Element & Cur_Declaration(); 80 Xml::Element & Cur_Description(); 81 82 private: 83 // DATA 84 Html::Table * pTable; 85 Xml::Element * pCurDeclaration; 86 Xml::Element * pCurDescription; 87 bool bInline; 88 }; 89 90 91 92 93 class HF_IdlLinkList : public HtmlFactory_Idl 94 { 95 public: 96 typedef ary::StdConstIterator<ary::idl::CommentedRelation> 97 comref_list; 98 99 HF_IdlLinkList( 100 Environment & io_rEnv, 101 Xml::Element * o_pOut ); 102 virtual ~HF_IdlLinkList(); 103 104 void Produce_NamespaceMembers( 105 const String & i_sTitle, 106 const String & i_sLabel, 107 const std::vector<ary::idl::Ce_id> & 108 i_rList, 109 bool i_bNestedNamespaces = false ) const; 110 void Produce_GlobalLinks( 111 const String & i_sTitle, 112 const String & i_sLabel, 113 ce_list & i_rList ) const; 114 void Produce_GlobalCommentedLinks( 115 const String & i_sTitle, 116 const String & i_sLabel, 117 comref_list & i_rList ) const; 118 void Produce_MemberLinks( 119 const String & i_sTitle, 120 const String & i_sLabel, 121 ce_list & i_rList ) const; 122 private: 123 void Get_EntryData_NamespaceMembers( 124 String & o_sEntryName, 125 String & o_sEntryLink, 126 const ce_info * & o_pDocuText, 127 ce_id i_nMemberId, 128 bool i_bIsNestedNamespace ) const; 129 const ce_info * Get_EntryDocu( 130 ce_id i_nMemberId ) const; 131 }; 132 133 134 135 136 137 138 139 140 // IMPLEMENTATION 141 142 143 #endif 144 145 146