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_PROPERTY_HXX 29 #define ADC_DISPLAY_HFI_PROPERTY_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 40 class HF_SubTitleTable; 41 42 class HF_IdlDataMember : public HtmlFactory_Idl 43 { 44 public: 45 void Produce_byData( 46 const client & ce ) const; 47 protected: 48 HF_IdlDataMember( 49 Environment & io_rEnv, 50 HF_SubTitleTable & o_table ); 51 virtual ~HF_IdlDataMember() {} 52 53 private: 54 virtual void write_Title( 55 const client & i_ce ) const; 56 57 virtual void write_Declaration( 58 const client & i_ce ) const = 0; 59 60 virtual void write_Description( 61 const client & i_ce ) const; 62 63 void enter_ContentCell() const; 64 void leave_ContentCell() const; 65 }; 66 67 68 69 class HF_IdlProperty : public HF_IdlDataMember 70 { 71 public: 72 HF_IdlProperty( 73 Environment & io_rEnv, 74 HF_SubTitleTable & o_table ) 75 : HF_IdlDataMember(io_rEnv, o_table) {} 76 virtual ~HF_IdlProperty(); 77 private: 78 virtual void write_Declaration( 79 const client & i_ce ) const; 80 }; 81 82 class HF_IdlAttribute : public HF_IdlDataMember 83 { 84 public: 85 HF_IdlAttribute( 86 Environment & io_rEnv, 87 HF_SubTitleTable & o_table ) 88 : HF_IdlDataMember(io_rEnv, o_table) {} 89 virtual ~HF_IdlAttribute(); 90 91 private: 92 virtual void write_Declaration( 93 const client & i_ce ) const; 94 }; 95 96 97 class HF_IdlEnumValue : public HF_IdlDataMember 98 { 99 public: 100 HF_IdlEnumValue( 101 Environment & io_rEnv, 102 HF_SubTitleTable & o_table ) 103 : HF_IdlDataMember(io_rEnv, o_table) {} 104 virtual ~HF_IdlEnumValue(); 105 106 private: 107 virtual void write_Declaration( 108 const client & i_ce ) const; 109 }; 110 111 class HF_IdlConstant : public HF_IdlDataMember 112 { 113 public: 114 HF_IdlConstant( 115 Environment & io_rEnv, 116 HF_SubTitleTable & o_table ) 117 : HF_IdlDataMember(io_rEnv, o_table) {} 118 virtual ~HF_IdlConstant(); 119 120 private: 121 virtual void write_Declaration( 122 const client & i_ce ) const; 123 }; 124 125 126 class HF_IdlStructElement : public HF_IdlDataMember 127 { 128 public: 129 HF_IdlStructElement( 130 Environment & io_rEnv, 131 HF_SubTitleTable & o_table ) 132 : HF_IdlDataMember(io_rEnv, o_table) {} 133 virtual ~HF_IdlStructElement(); 134 135 private: 136 virtual void write_Declaration( 137 const client & i_ce ) const; 138 }; 139 140 class HF_IdlCommentedRelationElement : public HF_IdlDataMember 141 { 142 public: 143 HF_IdlCommentedRelationElement( 144 Environment & io_rEnv, 145 HF_SubTitleTable & o_table, 146 const ary::idl::CommentedRelation& i_relation ) 147 : HF_IdlDataMember(io_rEnv, o_table) 148 , m_relation( i_relation ) 149 { 150 } 151 virtual ~HF_IdlCommentedRelationElement(); 152 153 typedef ::ary::idl::CommentedRelation comref; 154 155 static void produce_LinkDoc( 156 Environment & io_env, 157 const client & i_ce, 158 Xml::Element & io_context, 159 const comref & i_commentedRef, 160 const E_DocType i_docType ); 161 162 private: 163 virtual void write_Title( 164 const client & i_ce ) const; 165 virtual void write_Declaration( 166 const client & i_ce ) const; 167 virtual void write_Description( 168 const client & i_ce ) const; 169 private: 170 static void produce_Summary( Environment & io_env, 171 Xml::Element & io_context, 172 const comref & i_commentedRef, 173 const client & i_rScopeGivingCe ); 174 175 static String get_LocalLinkName( Environment & io_env, 176 const comref & i_commentedRef ); 177 178 private: 179 const ary::idl::CommentedRelation& m_relation; 180 }; 181 182 #endif 183