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 #include <precomp.h> 29 #include "dsply_cl.hxx" 30 31 32 // NOT FULLY DEFINED SERVICES 33 #include <ary/cpp/c_class.hxx> 34 #include <ary/cpp/c_gate.hxx> 35 #include "dsply_da.hxx" 36 #include "dsply_op.hxx" 37 #include "hdimpl.hxx" 38 #include "opageenv.hxx" 39 #include "pagemake.hxx" 40 41 42 43 44 ClassDisplayer::ClassDisplayer( OuputPage_Environment & io_rEnv ) 45 : pEnv(&io_rEnv) 46 { 47 } 48 49 ClassDisplayer::~ClassDisplayer() 50 { 51 } 52 53 void 54 ClassDisplayer::DisplayFiles_InClass( const ary::cpp::Class & i_rData, 55 PageDisplay & io_rPageMaker ) 56 { 57 // Classes 58 ClassDisplayer aClassDisplayer( Env() ); 59 DisplaySlot( aClassDisplayer, i_rData, ary::cpp::Class::SLOT_NestedClasses ); 60 61 // Enums 62 DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Enums ); 63 64 // Typedefs 65 DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Typedefs ); 66 67 // Operations 68 OperationsDisplay aOperationsDisplayer( Env() ); 69 70 aOperationsDisplayer.PrepareForStdMembers(); 71 DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_Operations ); 72 73 aOperationsDisplayer.PrepareForStaticMembers(); 74 DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_StaticOperations ); 75 76 aOperationsDisplayer.Create_Files(); 77 78 // Data 79 DataDisplay aDataDisplayer( Env() ); 80 81 aDataDisplayer.PrepareForStdMembers(); 82 DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_Data ); 83 84 aDataDisplayer.PrepareForStaticMembers(); 85 DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_StaticData ); 86 87 aDataDisplayer.Create_Files(); 88 } 89 90 void 91 ClassDisplayer::do_Process( const ary::cpp::Class & i_rData ) 92 { 93 if ( Ce_IsInternal(i_rData) ) 94 return; 95 96 PageDisplay aPageMaker( Env() ); 97 aPageMaker.Process(i_rData); 98 99 Env().MoveDir_Down2( i_rData ); 100 DisplayFiles_InClass( i_rData, aPageMaker ); 101 Env().MoveDir_Up(); 102 } 103 104 const ary::cpp::Gate * 105 ClassDisplayer::inq_Get_ReFinder() const 106 { 107 return & pEnv->Gate(); 108 } 109