1*1c78a5d6SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*1c78a5d6SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*1c78a5d6SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*1c78a5d6SAndrew Rist  * distributed with this work for additional information
6*1c78a5d6SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*1c78a5d6SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*1c78a5d6SAndrew Rist  * "License"); you may not use this file except in compliance
9*1c78a5d6SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*1c78a5d6SAndrew Rist  *
11*1c78a5d6SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*1c78a5d6SAndrew Rist  *
13*1c78a5d6SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*1c78a5d6SAndrew Rist  * software distributed under the License is distributed on an
15*1c78a5d6SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1c78a5d6SAndrew Rist  * KIND, either express or implied.  See the License for the
17*1c78a5d6SAndrew Rist  * specific language governing permissions and limitations
18*1c78a5d6SAndrew Rist  * under the License.
19*1c78a5d6SAndrew Rist  *
20*1c78a5d6SAndrew Rist  *************************************************************/
21*1c78a5d6SAndrew Rist 
22*1c78a5d6SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef ADC_DISPLAY_HTML_KIT_HXX
25cdf0e10cSrcweir #define ADC_DISPLAY_HTML_KIT_HXX
26cdf0e10cSrcweir 
27cdf0e10cSrcweir // BASE CLASSES
28cdf0e10cSrcweir #include <udm/xml/xmlitem.hxx>
29cdf0e10cSrcweir #include <udm/html/htmlitem.hxx>
30cdf0e10cSrcweir // USED SERVICES
31cdf0e10cSrcweir #include <ary/cpp/c_types4cpp.hxx>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir namespace ary
34cdf0e10cSrcweir {
35cdf0e10cSrcweir     namespace cpp
36cdf0e10cSrcweir     {
37cdf0e10cSrcweir         struct S_TplParam;
38cdf0e10cSrcweir         class OperationSignature;
39cdf0e10cSrcweir         class Gate;
40cdf0e10cSrcweir     }
41cdf0e10cSrcweir }
42cdf0e10cSrcweir 
43cdf0e10cSrcweir 
44cdf0e10cSrcweir 
45cdf0e10cSrcweir 
46cdf0e10cSrcweir namespace adcdisp
47cdf0e10cSrcweir {
48cdf0e10cSrcweir 
49cdf0e10cSrcweir typedef csi::xml::Element XmlElement;
50cdf0e10cSrcweir 
51cdf0e10cSrcweir class PageTitle_Left
52cdf0e10cSrcweir {
53cdf0e10cSrcweir   public:
54cdf0e10cSrcweir     void                operator()(
55cdf0e10cSrcweir                             XmlElement &        o_rOwner,
56cdf0e10cSrcweir                             const char *        i_sTypeTitle,
57cdf0e10cSrcweir                             const String  &     i_sLocalName );
58cdf0e10cSrcweir };
59cdf0e10cSrcweir 
60cdf0e10cSrcweir class PageTitle_Std
61cdf0e10cSrcweir {
62cdf0e10cSrcweir   public:
63cdf0e10cSrcweir     void                operator()(
64cdf0e10cSrcweir                             XmlElement &        o_rOwner,
65cdf0e10cSrcweir                             const char *        i_sTypeTitle,
66cdf0e10cSrcweir                             const String  &     i_sLocalName );
67cdf0e10cSrcweir     XmlElement &        operator()(
68cdf0e10cSrcweir                             XmlElement &        o_rOwner );
69cdf0e10cSrcweir };
70cdf0e10cSrcweir 
71cdf0e10cSrcweir class OperationTitle
72cdf0e10cSrcweir {
73cdf0e10cSrcweir   public:
74cdf0e10cSrcweir     void                operator()(
75cdf0e10cSrcweir                             XmlElement &        o_rOwner,
76cdf0e10cSrcweir                             const char *        i_sItemName,
77cdf0e10cSrcweir                             ary::cpp::Ce_id     i_nId,
78cdf0e10cSrcweir                             const ::ary::cpp::Gate &
79cdf0e10cSrcweir                                                 i_gate );
80cdf0e10cSrcweir };
81cdf0e10cSrcweir 
82cdf0e10cSrcweir 
83cdf0e10cSrcweir class TemplateClause
84cdf0e10cSrcweir {
85cdf0e10cSrcweir   public:
86cdf0e10cSrcweir     typedef std::vector< ary::cpp::S_TplParam> List_TplParams;
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     void                operator()(
89cdf0e10cSrcweir                             XmlElement &        o_rOwner,
90cdf0e10cSrcweir                             const List_TplParams &
91cdf0e10cSrcweir                                                 i_rTplParams );
92cdf0e10cSrcweir };
93cdf0e10cSrcweir 
94cdf0e10cSrcweir 
95cdf0e10cSrcweir class ExplanationList
96cdf0e10cSrcweir {
97cdf0e10cSrcweir   public:
98cdf0e10cSrcweir                         ExplanationList(
99cdf0e10cSrcweir                             XmlElement &        o_rOwner,
100cdf0e10cSrcweir                             bool                i_bMemberStyle = false );
101cdf0e10cSrcweir 
102cdf0e10cSrcweir     void                AddEntry(
103cdf0e10cSrcweir                             const char *        i_sTerm = 0,
104cdf0e10cSrcweir                             const char *        i_sDifferentClass = 0 );
105cdf0e10cSrcweir     void                AddEntry_NoTerm();
106cdf0e10cSrcweir 
Term()107cdf0e10cSrcweir     XmlElement &        Term()                  { return *pTerm; }
Def()108cdf0e10cSrcweir     XmlElement &        Def()                   { return *pDefinition; }
109cdf0e10cSrcweir 
110cdf0e10cSrcweir   private:
111cdf0e10cSrcweir     csi::html::DefList* pList;
112cdf0e10cSrcweir     XmlElement *        pTerm;
113cdf0e10cSrcweir     XmlElement *        pDefinition;
114cdf0e10cSrcweir     bool                bMemberStyle;
115cdf0e10cSrcweir };
116cdf0e10cSrcweir 
117cdf0e10cSrcweir class ExplanationTable
118cdf0e10cSrcweir {
119cdf0e10cSrcweir   public:
120cdf0e10cSrcweir                         ExplanationTable(
121cdf0e10cSrcweir                             XmlElement &        o_rOwner );
122cdf0e10cSrcweir 
123cdf0e10cSrcweir     void                AddEntry(
124cdf0e10cSrcweir                             const char *        i_sTerm = 0,
125cdf0e10cSrcweir                             const char *        i_sDifferentStyle = 0 );
126cdf0e10cSrcweir 
Term()127cdf0e10cSrcweir     XmlElement &        Term()                  { return *pTerm; }
Def()128cdf0e10cSrcweir     XmlElement &        Def()                   { return *pDefinition; }
129cdf0e10cSrcweir 
130cdf0e10cSrcweir   private:
131cdf0e10cSrcweir     csi::html::Table*   pTable;
132cdf0e10cSrcweir     XmlElement *        pTerm;
133cdf0e10cSrcweir     XmlElement *        pDefinition;
134cdf0e10cSrcweir };
135cdf0e10cSrcweir 
136cdf0e10cSrcweir class ParameterTable
137cdf0e10cSrcweir {
138cdf0e10cSrcweir   public:
139cdf0e10cSrcweir                         ParameterTable(
140cdf0e10cSrcweir                             XmlElement &        o_rOwner );
141cdf0e10cSrcweir 
142cdf0e10cSrcweir     void                AddEntry();
143cdf0e10cSrcweir 
Type()144cdf0e10cSrcweir     XmlElement &        Type()                  { return *pTerm; }
Name()145cdf0e10cSrcweir     XmlElement &        Name()                  { return *pDefinition; }
146cdf0e10cSrcweir 
147cdf0e10cSrcweir   private:
148cdf0e10cSrcweir     csi::html::Table*   pTable;
149cdf0e10cSrcweir     XmlElement *        pTerm;
150cdf0e10cSrcweir     XmlElement *        pDefinition;
151cdf0e10cSrcweir };
152cdf0e10cSrcweir 
153cdf0e10cSrcweir class FlagTable
154cdf0e10cSrcweir {
155cdf0e10cSrcweir   public:
156cdf0e10cSrcweir                         FlagTable(
157cdf0e10cSrcweir                             XmlElement &        o_rOwner,
158cdf0e10cSrcweir                             uintt               i_nNrOfColumns );
159cdf0e10cSrcweir 
160cdf0e10cSrcweir     void                SetColumn(
161cdf0e10cSrcweir                             uintt               i_nColumnPosition,  /// Starting with 0.
162cdf0e10cSrcweir                             const char *        i_sColumnName,
163cdf0e10cSrcweir                             bool                i_bValue );         /// "YES" or "NO"
164cdf0e10cSrcweir   private:
165cdf0e10cSrcweir     typedef std::pair< csi::html::TableCell*, csi::html::TableCell* > CellPair;
166cdf0e10cSrcweir 
167cdf0e10cSrcweir     // DATA
168cdf0e10cSrcweir     csi::html::Table*   pTable;
169cdf0e10cSrcweir     std::vector<CellPair>
170cdf0e10cSrcweir                         aCells;
171cdf0e10cSrcweir };
172cdf0e10cSrcweir 
173cdf0e10cSrcweir class IndexList
174cdf0e10cSrcweir {
175cdf0e10cSrcweir   public:
176cdf0e10cSrcweir                         IndexList(
177cdf0e10cSrcweir                             XmlElement &        o_rOwner );
178cdf0e10cSrcweir 
179cdf0e10cSrcweir     void                AddEntry();
180cdf0e10cSrcweir 
Term()181cdf0e10cSrcweir     XmlElement &        Term()                  { return *pTerm; }
Def()182cdf0e10cSrcweir     XmlElement &        Def()                   { return *pDefinition; }
183cdf0e10cSrcweir 
184cdf0e10cSrcweir   private:
185cdf0e10cSrcweir     csi::html::DefList* pList;
186cdf0e10cSrcweir     XmlElement *        pTerm;
187cdf0e10cSrcweir     XmlElement *        pDefinition;
188cdf0e10cSrcweir };
189cdf0e10cSrcweir 
190cdf0e10cSrcweir 
191cdf0e10cSrcweir 
192cdf0e10cSrcweir 
193cdf0e10cSrcweir }   // namespace adcdisp
194cdf0e10cSrcweir #endif
195