update dev300-m58
[ooovba.git] / autodoc / source / display / idl / hfi_property.hxx
blobb2a1ae1a596718f8fa92c520d9e77832286f6d18
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_property.hxx,v $
10 * $Revision: 1.4 $
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_PROPERTY_HXX
32 #define ADC_DISPLAY_HFI_PROPERTY_HXX
36 // USED SERVICES
37 // BASE CLASSES
38 #include "hi_factory.hxx"
39 // COMPONENTS
40 // PARAMETERS
41 #include <ary/idl/i_comrela.hxx>
43 class HF_SubTitleTable;
45 class HF_IdlDataMember : public HtmlFactory_Idl
47 public:
48 void Produce_byData(
49 const client & ce ) const;
50 protected:
51 HF_IdlDataMember(
52 Environment & io_rEnv,
53 HF_SubTitleTable & o_table );
54 virtual ~HF_IdlDataMember() {}
56 private:
57 virtual void write_Title(
58 const client & i_ce ) const;
60 virtual void write_Declaration(
61 const client & i_ce ) const = 0;
63 virtual void write_Description(
64 const client & i_ce ) const;
66 void enter_ContentCell() const;
67 void leave_ContentCell() const;
72 class HF_IdlProperty : public HF_IdlDataMember
74 public:
75 HF_IdlProperty(
76 Environment & io_rEnv,
77 HF_SubTitleTable & o_table )
78 : HF_IdlDataMember(io_rEnv, o_table) {}
79 virtual ~HF_IdlProperty();
80 private:
81 virtual void write_Declaration(
82 const client & i_ce ) const;
85 class HF_IdlAttribute : public HF_IdlDataMember
87 public:
88 HF_IdlAttribute(
89 Environment & io_rEnv,
90 HF_SubTitleTable & o_table )
91 : HF_IdlDataMember(io_rEnv, o_table) {}
92 virtual ~HF_IdlAttribute();
94 private:
95 virtual void write_Declaration(
96 const client & i_ce ) const;
100 class HF_IdlEnumValue : public HF_IdlDataMember
102 public:
103 HF_IdlEnumValue(
104 Environment & io_rEnv,
105 HF_SubTitleTable & o_table )
106 : HF_IdlDataMember(io_rEnv, o_table) {}
107 virtual ~HF_IdlEnumValue();
109 private:
110 virtual void write_Declaration(
111 const client & i_ce ) const;
114 class HF_IdlConstant : public HF_IdlDataMember
116 public:
117 HF_IdlConstant(
118 Environment & io_rEnv,
119 HF_SubTitleTable & o_table )
120 : HF_IdlDataMember(io_rEnv, o_table) {}
121 virtual ~HF_IdlConstant();
123 private:
124 virtual void write_Declaration(
125 const client & i_ce ) const;
129 class HF_IdlStructElement : public HF_IdlDataMember
131 public:
132 HF_IdlStructElement(
133 Environment & io_rEnv,
134 HF_SubTitleTable & o_table )
135 : HF_IdlDataMember(io_rEnv, o_table) {}
136 virtual ~HF_IdlStructElement();
138 private:
139 virtual void write_Declaration(
140 const client & i_ce ) const;
143 class HF_IdlCommentedRelationElement : public HF_IdlDataMember
145 public:
146 HF_IdlCommentedRelationElement(
147 Environment & io_rEnv,
148 HF_SubTitleTable & o_table,
149 const ary::idl::CommentedRelation& i_relation )
150 : HF_IdlDataMember(io_rEnv, o_table)
151 , m_relation( i_relation )
154 virtual ~HF_IdlCommentedRelationElement();
156 typedef ::ary::idl::CommentedRelation comref;
158 static void produce_LinkDoc(
159 Environment & io_env,
160 const client & i_ce,
161 Xml::Element & io_context,
162 const comref & i_commentedRef,
163 const E_DocType i_docType );
165 private:
166 virtual void write_Title(
167 const client & i_ce ) const;
168 virtual void write_Declaration(
169 const client & i_ce ) const;
170 virtual void write_Description(
171 const client & i_ce ) const;
172 private:
173 static void produce_Summary( Environment & io_env,
174 Xml::Element & io_context,
175 const comref & i_commentedRef,
176 const client & i_rScopeGivingCe );
178 static String get_LocalLinkName( Environment & io_env,
179 const comref & i_commentedRef );
181 private:
182 const ary::idl::CommentedRelation& m_relation;
185 #endif