1*0841af79SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*0841af79SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*0841af79SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*0841af79SAndrew Rist  * distributed with this work for additional information
6*0841af79SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*0841af79SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*0841af79SAndrew Rist  * "License"); you may not use this file except in compliance
9*0841af79SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*0841af79SAndrew Rist  *
11*0841af79SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*0841af79SAndrew Rist  *
13*0841af79SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*0841af79SAndrew Rist  * software distributed under the License is distributed on an
15*0841af79SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*0841af79SAndrew Rist  * KIND, either express or implied.  See the License for the
17*0841af79SAndrew Rist  * specific language governing permissions and limitations
18*0841af79SAndrew Rist  * under the License.
19*0841af79SAndrew Rist  *
20*0841af79SAndrew Rist  *************************************************************/
21cdf0e10cSrcweir 
22cdf0e10cSrcweir #include <precomp.h>
23cdf0e10cSrcweir #include "dsply_cl.hxx"
24cdf0e10cSrcweir 
25cdf0e10cSrcweir 
26cdf0e10cSrcweir // NOT FULLY DEFINED SERVICES
27cdf0e10cSrcweir #include <ary/cpp/c_class.hxx>
28cdf0e10cSrcweir #include <ary/cpp/c_gate.hxx>
29cdf0e10cSrcweir #include "dsply_da.hxx"
30cdf0e10cSrcweir #include "dsply_op.hxx"
31cdf0e10cSrcweir #include "hdimpl.hxx"
32cdf0e10cSrcweir #include "opageenv.hxx"
33cdf0e10cSrcweir #include "pagemake.hxx"
34cdf0e10cSrcweir 
35cdf0e10cSrcweir 
36cdf0e10cSrcweir 
37cdf0e10cSrcweir 
ClassDisplayer(OuputPage_Environment & io_rEnv)38cdf0e10cSrcweir ClassDisplayer::ClassDisplayer( OuputPage_Environment & io_rEnv )
39cdf0e10cSrcweir     :   pEnv(&io_rEnv)
40cdf0e10cSrcweir {
41cdf0e10cSrcweir }
42cdf0e10cSrcweir 
~ClassDisplayer()43cdf0e10cSrcweir ClassDisplayer::~ClassDisplayer()
44cdf0e10cSrcweir {
45cdf0e10cSrcweir }
46cdf0e10cSrcweir 
47cdf0e10cSrcweir void
DisplayFiles_InClass(const ary::cpp::Class & i_rData,PageDisplay & io_rPageMaker)48cdf0e10cSrcweir ClassDisplayer::DisplayFiles_InClass( const ary::cpp::Class & i_rData,
49cdf0e10cSrcweir                                       PageDisplay &           io_rPageMaker )
50cdf0e10cSrcweir {
51cdf0e10cSrcweir     // Classes
52cdf0e10cSrcweir     ClassDisplayer aClassDisplayer( Env() );
53cdf0e10cSrcweir     DisplaySlot( aClassDisplayer, i_rData, ary::cpp::Class::SLOT_NestedClasses );
54cdf0e10cSrcweir 
55cdf0e10cSrcweir     // Enums
56cdf0e10cSrcweir     DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Enums );
57cdf0e10cSrcweir 
58cdf0e10cSrcweir     // Typedefs
59cdf0e10cSrcweir     DisplaySlot( io_rPageMaker, i_rData, ary::cpp::Class::SLOT_Typedefs );
60cdf0e10cSrcweir 
61cdf0e10cSrcweir     // Operations
62cdf0e10cSrcweir     OperationsDisplay aOperationsDisplayer( Env() );
63cdf0e10cSrcweir 
64cdf0e10cSrcweir     aOperationsDisplayer.PrepareForStdMembers();
65cdf0e10cSrcweir     DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_Operations );
66cdf0e10cSrcweir 
67cdf0e10cSrcweir     aOperationsDisplayer.PrepareForStaticMembers();
68cdf0e10cSrcweir     DisplaySlot( aOperationsDisplayer, i_rData, ary::cpp::Class::SLOT_StaticOperations );
69cdf0e10cSrcweir 
70cdf0e10cSrcweir     aOperationsDisplayer.Create_Files();
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     // Data
73cdf0e10cSrcweir     DataDisplay aDataDisplayer( Env() );
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     aDataDisplayer.PrepareForStdMembers();
76cdf0e10cSrcweir     DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_Data );
77cdf0e10cSrcweir 
78cdf0e10cSrcweir     aDataDisplayer.PrepareForStaticMembers();
79cdf0e10cSrcweir     DisplaySlot( aDataDisplayer, i_rData, ary::cpp::Class::SLOT_StaticData );
80cdf0e10cSrcweir 
81cdf0e10cSrcweir     aDataDisplayer.Create_Files();
82cdf0e10cSrcweir }
83cdf0e10cSrcweir 
84cdf0e10cSrcweir void
do_Process(const ary::cpp::Class & i_rData)85cdf0e10cSrcweir ClassDisplayer::do_Process( const ary::cpp::Class & i_rData )
86cdf0e10cSrcweir {
87cdf0e10cSrcweir     if ( Ce_IsInternal(i_rData) )
88cdf0e10cSrcweir         return;
89cdf0e10cSrcweir 
90cdf0e10cSrcweir     PageDisplay aPageMaker( Env() );
91cdf0e10cSrcweir     aPageMaker.Process(i_rData);
92cdf0e10cSrcweir 
93cdf0e10cSrcweir     Env().MoveDir_Down2( i_rData );
94cdf0e10cSrcweir     DisplayFiles_InClass( i_rData, aPageMaker );
95cdf0e10cSrcweir 	Env().MoveDir_Up();
96cdf0e10cSrcweir }
97cdf0e10cSrcweir 
98cdf0e10cSrcweir const ary::cpp::Gate *
inq_Get_ReFinder() const99cdf0e10cSrcweir ClassDisplayer::inq_Get_ReFinder() const
100cdf0e10cSrcweir {
101cdf0e10cSrcweir     return & pEnv->Gate();
102cdf0e10cSrcweir }
103