1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 #include "hfi_constgroup.hxx"
24 // NOT FULLY DEFINED SERVICES
25 #include <ary/idl/i_ce.hxx>
26 #include <ary/idl/ik_constgroup.hxx>
27 #include <toolkit/hf_linachain.hxx>
28 #include <toolkit/hf_navi_sub.hxx>
29 #include <toolkit/hf_title.hxx>
30 #include "hfi_navibar.hxx"
31 #include "hfi_property.hxx"
32 #include "hi_linkhelper.hxx"
36 C_sCePrefix_Constants("constants group");
43 C_sList_Constants("Constants");
45 C_sList_Constants_Label("Constants");
47 C_sList_ConstantDetails("Constants' Details");
49 C_sList_ConstantDetails_Label("ConstantDetails");
53 sli_ConstantsSummary
= 0,
54 sli_ConstantDetails
= 1
58 } // anonymous namespace
62 HF_IdlConstGroup::HF_IdlConstGroup( Environment
& io_rEnv
,
63 Xml::Element
& o_rOut
)
64 : HtmlFactory_Idl(io_rEnv
, &o_rOut
)
68 HF_IdlConstGroup::~HF_IdlConstGroup()
73 HF_IdlConstGroup::Produce_byData( const client
& i_ce
) const
76 pNaviSubRow( &make_Navibar(i_ce
) );
81 aNameChain(aTitle
.Add_Row());
83 aNameChain
.Produce_CompleteChain(Env().CurPosition(), nameChainLinker
);
84 produce_Title(aTitle
, C_sCePrefix_Constants
, i_ce
);
86 write_Docu(aTitle
.Add_Row(), i_ce
);
87 CurOut() << new Html::HorizontalLine();
91 ary::idl::ifc_constgroup::attr::Get_Constants(dpConstants
, i_ce
);
93 if ( (*dpConstants
).operator bool() )
95 produce_Members( *dpConstants
,
97 C_sList_Constants_Label
,
98 C_sList_ConstantDetails
,
99 C_sList_ConstantDetails_Label
);
100 pNaviSubRow
->SwitchOn(sli_ConstantsSummary
);
101 pNaviSubRow
->SwitchOn(sli_ConstantDetails
);
103 pNaviSubRow
->Produce_Row();
107 HF_IdlConstGroup::make_Navibar( const client
& i_ce
) const
110 aNaviBar(Env(), CurOut());
111 aNaviBar
.Produce_CeMainRow(i_ce
,true); // true := avoid link to Use-page.
114 ret
= aNaviBar
.Add_SubRow();
115 ret
.AddItem(C_sList_Constants
, C_sList_Constants_Label
, false);
116 ret
.AddItem(C_sList_ConstantDetails
, C_sList_ConstantDetails_Label
, false);
118 CurOut() << new Html::HorizontalLine();
123 HF_IdlConstGroup::produce_MemberDetails( HF_SubTitleTable
& o_table
,
124 const client
& i_ce
) const
127 aElement( Env(), o_table
);
128 aElement
.Produce_byData(i_ce
);
131 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */