merge the formfield patch from ooo-build
[ooovba.git] / autodoc / source / display / idl / hfi_linklist.hxx
blobc781fe2e202ca7386bf601ece92c730511603d12
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: hfi_linklist.hxx,v $
10 * $Revision: 1.5 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef ADC_DISPLAY_HFI_LINKLIST_HXX
32 #define ADC_DISPLAY_HFI_LINKLIST_HXX
36 // USED SERVICES
37 // BASE CLASSES
38 #include "hi_factory.hxx"
39 // COMPONENTS
40 // PARAMETERS
41 #include <ary/idl/i_comrela.hxx>
42 #include <ary_i/ci_text2.hxx>
43 #include <ary/doc/d_oldidldocu.hxx>
48 class HF_CommentedLink_Table : public HtmlFactory_Idl
50 public:
51 HF_CommentedLink_Table(
52 Environment & io_rEnv,
53 Xml::Element & o_rOut,
54 const String & i_sTitle,
55 const String & i_sLabel,
56 bool i_bBorder = false );
57 virtual ~HF_CommentedLink_Table();
59 void Add_Line();
60 Xml::Element & Cur_LinkColumn();
61 Xml::Element & Cur_CommentColumn();
63 private:
64 // DATA
65 Html::Table * pTable;
66 Xml::Element * pCurLinkColumn;
67 Xml::Element * pCurCommentColumn;
70 class HF_MemberTable : public HtmlFactory_Idl
72 public:
73 HF_MemberTable(
74 Environment & io_rEnv,
75 Xml::Element & o_rOut,
76 const String & i_sTitle,
77 const String & i_sLabel,
78 bool i_bInline = false );
79 virtual ~HF_MemberTable();
81 void Add_Line();
82 Xml::Element & Cur_Declaration();
83 Xml::Element & Cur_Description();
85 private:
86 // DATA
87 Html::Table * pTable;
88 Xml::Element * pCurDeclaration;
89 Xml::Element * pCurDescription;
90 bool bInline;
96 class HF_IdlLinkList : public HtmlFactory_Idl
98 public:
99 typedef ary::StdConstIterator<ary::idl::CommentedRelation>
100 comref_list;
102 HF_IdlLinkList(
103 Environment & io_rEnv,
104 Xml::Element * o_pOut );
105 virtual ~HF_IdlLinkList();
107 void Produce_NamespaceMembers(
108 const String & i_sTitle,
109 const String & i_sLabel,
110 const std::vector<ary::idl::Ce_id> &
111 i_rList,
112 bool i_bNestedNamespaces = false ) const;
113 void Produce_GlobalLinks(
114 const String & i_sTitle,
115 const String & i_sLabel,
116 ce_list & i_rList ) const;
117 void Produce_GlobalCommentedLinks(
118 const String & i_sTitle,
119 const String & i_sLabel,
120 comref_list & i_rList ) const;
121 void Produce_MemberLinks(
122 const String & i_sTitle,
123 const String & i_sLabel,
124 ce_list & i_rList ) const;
125 private:
126 void Get_EntryData_NamespaceMembers(
127 String & o_sEntryName,
128 String & o_sEntryLink,
129 const ce_info * & o_pDocuText,
130 ce_id i_nMemberId,
131 bool i_bIsNestedNamespace ) const;
132 const ce_info * Get_EntryDocu(
133 ce_id i_nMemberId ) const;
143 // IMPLEMENTATION
146 #endif