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_HTML_DSPLY_DA_HXX 25 #define ADC_DISPLAY_HTML_DSPLY_DA_HXX 26 27 // BASE CLASSES 28 #include <ary/ary_disp.hxx> 29 #include <cosv/tpl/processor.hxx> 30 // USED SERVICES 31 #include <ary/cpp/c_ce.hxx> 32 33 namespace ary 34 { 35 namespace cpp 36 { 37 class Variable; 38 } 39 } 40 namespace csi 41 { 42 namespace xml 43 { 44 class Element; 45 } 46 } 47 48 49 50 51 class OuputPage_Environment; 52 class PageDisplay; 53 class Docu_Display; 54 55 class DataDisplay : public ary::Display, 56 public csv::ConstProcessor<ary::cpp::Variable> 57 { 58 public: 59 DataDisplay( 60 OuputPage_Environment & 61 io_rInfo ); 62 virtual ~DataDisplay(); 63 64 void PrepareForConstants(); 65 void PrepareForVariables(); 66 void PrepareForStdMembers(); 67 void PrepareForStaticMembers(); 68 69 void Create_Files(); 70 71 private: 72 // Interface csv::ConstProcessor<>: 73 virtual void do_Process( 74 const ary::cpp::Variable & 75 i_rData ); 76 // Interface ary::cpp::Display: 77 virtual const ary::cpp::Gate * 78 inq_Get_ReFinder() const; 79 80 // Locals 81 typedef ary::cpp::Lid SourceFileId; 82 typedef std::map< SourceFileId, DYN PageDisplay* > Map_FileId2PagePtr; 83 84 PageDisplay & FindPage_for( 85 const ary::cpp::Variable & 86 i_rData ); 87 void Display_SglDatum( 88 csi::xml::Element & rOut, 89 const ary::cpp::Variable & 90 i_rData ); 91 // DATA 92 Map_FileId2PagePtr aMap_GlobalDataDisplay; 93 Dyn<PageDisplay> pClassMembersDisplay; 94 95 OuputPage_Environment * 96 pEnv; 97 Dyn<Docu_Display> pDocuShow; 98 }; 99 100 101 102 103 #endif 104