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