source: branches/items/SL/TREE_WRITE/TreeLabeler.h

Last change on this file was 18704, checked in by westram, 3 years ago
File size: 1.2 KB
Line 
1// ========================================================= //
2//                                                           //
3//   File      : TreeLabeler.h                               //
4//   Purpose   : Generate labels for TreeNode                //
5//                                                           //
6//   Coded by Ralf Westram (coder@reallysoft.de) in Aug 21   //
7//   http://www.arb-home.de/                                 //
8//                                                           //
9// ========================================================= //
10
11#ifndef TREELABELER_H
12#define TREELABELER_H
13
14// -----------------------------------------
15//      TreeLabeler and specialisations
16
17struct TreeLabeler {
18    virtual ~TreeLabeler() {}
19    virtual const char *generate(GBDATA *gb_main, GBDATA *gbd, TreeNode *species, const char *tree_name) const = 0;
20};
21
22struct Node_ID_Labeler : public TreeLabeler {
23    // simply returns the 'name' of the node
24    // (=species ID if !zombie; zombie ID; group ID or NULp for inner nodes which are no group)
25
26    const char *generate(GBDATA *, GBDATA *, TreeNode *species, const char *) const OVERRIDE;
27};
28
29
30
31#else
32#error TreeLabeler.h included twice
33#endif // TREELABELER_H
Note: See TracBrowser for help on using the repository browser.