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_singleton.hxx"
24 // NOT FULLY DEFINED SERVICES
25 #include <ary/idl/i_ce.hxx>
26 #include <ary/idl/ik_singleton.hxx>
27 #include <ary/idl/ik_sisingleton.hxx>
28 #include <toolkit/hf_docentry.hxx>
29 #include <toolkit/hf_linachain.hxx>
30 #include <toolkit/hf_title.hxx>
31 #include "hfi_navibar.hxx"
32 #include "hfi_typetext.hxx"
33 #include "hi_linkhelper.hxx"
38 C_sCePrefix_Singleton("singleton");
41 C_sAssociatedService("Associated Service");
43 C_sImplementedInterface("Supported Interface");
47 HF_IdlSingleton::HF_IdlSingleton( Environment
& io_rEnv
,
48 Xml::Element
& o_rOut
)
49 : HtmlFactory_Idl(io_rEnv
, &o_rOut
)
53 HF_IdlSingleton::~HF_IdlSingleton()
58 typedef ::ary::idl::ifc_singleton::attr SingletonAttr
;
59 typedef ::ary::idl::ifc_sglifcsingleton::attr SglIfcSingletonAttr
;
62 HF_IdlSingleton::Produce_byData_ServiceBased( const client
& i_ce
) const
70 aNameChain(aTitle
.Add_Row());
72 aNameChain
.Produce_CompleteChain(Env().CurPosition(), nameChainLinker
);
73 produce_Title(aTitle
, C_sCePrefix_Singleton
, i_ce
);
76 aTopList( aTitle
.Add_Row() );
77 aTopList
.Produce_Term(C_sAssociatedService
);
80 aAssociatedService( Env(), aTopList
.Produce_Definition() );
81 aAssociatedService
.Produce_byData( SingletonAttr::AssociatedService(i_ce
) );
83 CurOut() << new Html::HorizontalLine
;
85 write_Docu(aTitle
.Add_Row(), i_ce
);
86 CurOut() << new Html::HorizontalLine();
90 HF_IdlSingleton::Produce_byData_InterfaceBased( const client
& i_ce
) const
98 aNameChain(aTitle
.Add_Row());
100 aNameChain
.Produce_CompleteChain(Env().CurPosition(), nameChainLinker
);
101 produce_Title(aTitle
, C_sCePrefix_Singleton
, i_ce
);
104 aTopList( aTitle
.Add_Row() );
105 aTopList
.Produce_Term(C_sImplementedInterface
);
108 aImplementedInterface( Env(), aTopList
.Produce_Definition() );
109 aImplementedInterface
.Produce_byData( SglIfcSingletonAttr::BaseInterface(i_ce
) );
111 CurOut() << new Html::HorizontalLine
;
113 write_Docu(aTitle
.Add_Row(), i_ce
);
114 CurOut() << new Html::HorizontalLine();
118 HF_IdlSingleton::make_Navibar( const client
& i_ce
) const
121 aNaviBar(Env(), CurOut());
122 aNaviBar
.Produce_CeMainRow(i_ce
,true); // true := avoid link to Use-page.
124 CurOut() << new Html::HorizontalLine();
127 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */