Bump for 3.6-28
[LibreOffice.git] / autodoc / source / display / toolkit / hf_navi_sub.cxx
blobc983ddfe69ca0ad35d0c9132104f5532693dfab1
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
29 #include <precomp.h>
30 #include <toolkit/hf_navi_sub.hxx>
33 // NOT FULLY DEFINED SERVICES
36 HF_NaviSubRow::HF_NaviSubRow( Xml::Element & o_rOut )
37 : HtmlMaker(o_rOut),
38 aRow(),
39 pMyRow(0)
41 Setup_Row();
44 HF_NaviSubRow::~HF_NaviSubRow()
48 void
49 HF_NaviSubRow::AddItem( const String & i_sText,
50 const String & i_sLink,
51 bool i_bSwitchOn )
53 aRow.push_back( SubRow_Item( SubRow_Data(i_sText,i_sLink),
54 i_bSwitchOn ));
57 void
58 HF_NaviSubRow::SwitchOn( int i_nIndex )
60 if ( i_nIndex < int(aRow.size()) )
61 aRow[i_nIndex].second = true;
64 void
65 HF_NaviSubRow::Setup_Row()
67 Html::Table *
68 pTable = new Html::Table;
69 CurOut()
70 >> *pTable
71 << new Html::ClassAttr("navisub")
72 << new Xml::AnAttribute( "border", "0" )
73 << new Xml::AnAttribute( "cellpadding", "0" );
74 pMyRow = &pTable->AddRow();
77 void
78 HF_NaviSubRow::Produce_Row()
80 for ( SubRow::const_iterator it = aRow.begin();
81 it != aRow.end();
82 ++it )
84 Xml::Element &
85 rCell = *pMyRow
86 >> *new Html::TableCell
87 << new Html::ClassAttr("navisub");
88 StreamLock sl(100);
89 Xml::Element &
90 rGoon = (*it).second
91 ? ( rCell
92 >> *new Html::Link( sl()
93 << "#"
94 << (*it).first.second
95 << c_str )
96 << new Html::ClassAttr("navisub")
98 : rCell;
99 rGoon
100 << (*it).first.first;
105 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */