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 #include <precomp.h>
23 #include "pm_start.hxx"
24 
25 
26 // NOT FULLY DEFINED SERVICES
27 #include <ary/ary.hxx>
28 #include "hd_chlst.hxx"
29 #include "hd_docu.hxx"
30 #include "navibar.hxx"
31 #include "html_kit.hxx"
32 #include "opageenv.hxx"
33 #include "pagemake.hxx"
34 #include "strconst.hxx"
35 
36 
37 using namespace csi;
38 using csi::html::Paragraph;
39 using csi::html::HorizontalLine;
40 using csi::html::AlignAttr;
41 using csi::html::Bold;
42 using csi::html::Link;
43 using csi::html::Sbr;
44 using csi::html::LineBreak;
45 
46 
47 
PageMaker_Overview(PageDisplay & io_rPage)48 PageMaker_Overview::PageMaker_Overview( PageDisplay & io_rPage )
49     :   SpecializedPageMaker(io_rPage),
50         pNavi(0)
51 {
52 }
53 
~PageMaker_Overview()54 PageMaker_Overview::~PageMaker_Overview()
55 {
56 }
57 
58 void
MakePage()59 PageMaker_Overview::MakePage()
60 {
61     pNavi = new NavigationBar( Env(), NavigationBar::LOC_Overview );
62     Write_NavBar();
63 
64     Write_TopArea();
65     Write_DocuArea();
66 }
67 
68 void
Write_NavBar()69 PageMaker_Overview::Write_NavBar()
70 {
71     pNavi->Write( CurOut() );
72     CurOut() << new HorizontalLine;
73 }
74 
75 void
Write_TopArea()76 PageMaker_Overview::Write_TopArea()
77 {
78     adcdisp::PageTitle_Std fTitle;
79     fTitle( CurOut(), Env().RepositoryTitle(), "" );
80 
81     CurOut()
82         >> *new Paragraph
83             << new html::StyleAttr("font-size:14pt;")
84             << "This is a reference documentation for the C++ source code."
85             << new LineBreak
86             << new LineBreak
87             << "Points to start:";
88 
89     html::SimpleList &
90         rList = *new html::SimpleList;
91     CurOut() >> rList;
92 
93     html::ListItem & rNamedObjsItem =
94         rList.AddItem();
95 
96     StreamLock sNspDir(50);
97     rNamedObjsItem
98             << new html::StyleAttr("font-size:14pt;")
99             >> *new Link( sNspDir() << C_sDIR_NamespacesCpp
100                                     << "/"
101                                     << C_sHFN_Namespace
102                                     << c_str )
103                     >> *new Bold
104                         << "Named Objects";
105     rNamedObjsItem << " (classes, functions, namespaces, etc.)"
106                    << new html::LineBreak;
107     rList.AddItem()
108             << new html::StyleAttr("font-size:14pt;")
109             >> *new Link( "def-all.html" )
110                     >> *new Bold
111                         << "Defines and Macros"
112                         << new html::LineBreak;
113     StreamLock sIndexDir(50);
114     rList.AddItem()
115             << new html::StyleAttr("font-size:14pt;")
116             >> *new Link( sIndexDir() << C_sDIR_Index
117                                       << "/index-1.html"
118                                       << c_str )
119                     >> *new Bold
120                         << "Global Index"
121                         << new html::LineBreak;
122 }
123 
124 void
Write_DocuArea()125 PageMaker_Overview::Write_DocuArea()
126 {
127     CurOut() << new HorizontalLine;
128 }
129 
130 
131 
132