1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef ADC_DISPLAY_HFI_PROPERTY_HXX 25 #define ADC_DISPLAY_HFI_PROPERTY_HXX 26 27 28 29 // USED SERVICES 30 // BASE CLASSES 31 #include "hi_factory.hxx" 32 // COMPONENTS 33 // PARAMETERS 34 #include <ary/idl/i_comrela.hxx> 35 36 class HF_SubTitleTable; 37 38 class HF_IdlDataMember : public HtmlFactory_Idl 39 { 40 public: 41 void Produce_byData( 42 const client & ce ) const; 43 protected: 44 HF_IdlDataMember( 45 Environment & io_rEnv, 46 HF_SubTitleTable & o_table ); ~HF_IdlDataMember()47 virtual ~HF_IdlDataMember() {} 48 49 private: 50 virtual void write_Title( 51 const client & i_ce ) const; 52 53 virtual void write_Declaration( 54 const client & i_ce ) const = 0; 55 56 virtual void write_Description( 57 const client & i_ce ) const; 58 59 void enter_ContentCell() const; 60 void leave_ContentCell() const; 61 }; 62 63 64 65 class HF_IdlProperty : public HF_IdlDataMember 66 { 67 public: HF_IdlProperty(Environment & io_rEnv,HF_SubTitleTable & o_table)68 HF_IdlProperty( 69 Environment & io_rEnv, 70 HF_SubTitleTable & o_table ) 71 : HF_IdlDataMember(io_rEnv, o_table) {} 72 virtual ~HF_IdlProperty(); 73 private: 74 virtual void write_Declaration( 75 const client & i_ce ) const; 76 }; 77 78 class HF_IdlAttribute : public HF_IdlDataMember 79 { 80 public: HF_IdlAttribute(Environment & io_rEnv,HF_SubTitleTable & o_table)81 HF_IdlAttribute( 82 Environment & io_rEnv, 83 HF_SubTitleTable & o_table ) 84 : HF_IdlDataMember(io_rEnv, o_table) {} 85 virtual ~HF_IdlAttribute(); 86 87 private: 88 virtual void write_Declaration( 89 const client & i_ce ) const; 90 }; 91 92 93 class HF_IdlEnumValue : public HF_IdlDataMember 94 { 95 public: HF_IdlEnumValue(Environment & io_rEnv,HF_SubTitleTable & o_table)96 HF_IdlEnumValue( 97 Environment & io_rEnv, 98 HF_SubTitleTable & o_table ) 99 : HF_IdlDataMember(io_rEnv, o_table) {} 100 virtual ~HF_IdlEnumValue(); 101 102 private: 103 virtual void write_Declaration( 104 const client & i_ce ) const; 105 }; 106 107 class HF_IdlConstant : public HF_IdlDataMember 108 { 109 public: HF_IdlConstant(Environment & io_rEnv,HF_SubTitleTable & o_table)110 HF_IdlConstant( 111 Environment & io_rEnv, 112 HF_SubTitleTable & o_table ) 113 : HF_IdlDataMember(io_rEnv, o_table) {} 114 virtual ~HF_IdlConstant(); 115 116 private: 117 virtual void write_Declaration( 118 const client & i_ce ) const; 119 }; 120 121 122 class HF_IdlStructElement : public HF_IdlDataMember 123 { 124 public: HF_IdlStructElement(Environment & io_rEnv,HF_SubTitleTable & o_table)125 HF_IdlStructElement( 126 Environment & io_rEnv, 127 HF_SubTitleTable & o_table ) 128 : HF_IdlDataMember(io_rEnv, o_table) {} 129 virtual ~HF_IdlStructElement(); 130 131 private: 132 virtual void write_Declaration( 133 const client & i_ce ) const; 134 }; 135 136 class HF_IdlCommentedRelationElement : public HF_IdlDataMember 137 { 138 public: HF_IdlCommentedRelationElement(Environment & io_rEnv,HF_SubTitleTable & o_table,const ary::idl::CommentedRelation & i_relation)139 HF_IdlCommentedRelationElement( 140 Environment & io_rEnv, 141 HF_SubTitleTable & o_table, 142 const ary::idl::CommentedRelation& i_relation ) 143 : HF_IdlDataMember(io_rEnv, o_table) 144 , m_relation( i_relation ) 145 { 146 } 147 virtual ~HF_IdlCommentedRelationElement(); 148 149 typedef ::ary::idl::CommentedRelation comref; 150 151 static void produce_LinkDoc( 152 Environment & io_env, 153 const client & i_ce, 154 Xml::Element & io_context, 155 const comref & i_commentedRef, 156 const E_DocType i_docType ); 157 158 private: 159 virtual void write_Title( 160 const client & i_ce ) const; 161 virtual void write_Declaration( 162 const client & i_ce ) const; 163 virtual void write_Description( 164 const client & i_ce ) const; 165 private: 166 static void produce_Summary( Environment & io_env, 167 Xml::Element & io_context, 168 const comref & i_commentedRef, 169 const client & i_rScopeGivingCe ); 170 171 static String get_LocalLinkName( Environment & io_env, 172 const comref & i_commentedRef ); 173 174 private: 175 const ary::idl::CommentedRelation& m_relation; 176 }; 177 178 #endif 179