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 23 24 #ifndef ADC_DISPLAY_HF_LINACHAIN_HXX 25 #define ADC_DISPLAY_HF_LINACHAIN_HXX 26 27 // BASE CLASSES 28 #include "htmlfactory.hxx" 29 #include "out_position.hxx" 30 31 32 33 34 class HF_LinkedNameChain : public HtmlMaker 35 { 36 public: 37 /** F_LinkMaker makes a link out of the name of the 38 parent position. 39 40 Returns true, if there is a link, false if not. 41 */ 42 typedef String (*F_LinkMaker)(const char *); 43 44 45 HF_LinkedNameChain( 46 Xml::Element & o_rOut ); 47 virtual ~HF_LinkedNameChain(); 48 49 void Produce_CompleteChain( 50 const output::Position & 51 i_curPosition, 52 F_LinkMaker i_linkMaker ) const; 53 void Produce_CompleteChain_forModule( 54 const output::Position & 55 i_curPosition, /// current Module's node 56 F_LinkMaker i_linkMaker ) const; 57 private: 58 void produce_Level( 59 output::Node & i_levelNode, 60 const output::Position & 61 i_startPosition, 62 F_LinkMaker i_linkMaker ) const; 63 }; 64 65 66 67 68 #endif 69