Changeset 404 for trunk/gsdl/src


Ignore:
Timestamp:
1999-07-20T14:58:16+12:00 (25 years ago)
Author:
sjboddie
Message:

got List and AZList classifications using format strings - tidied
up a bit

Location:
trunk/gsdl/src/recpt
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/browsetools.cpp

    r344 r404  
    1212/*
    1313   $Log$
     14   Revision 1.14  1999/07/20 02:58:15  sjboddie
     15   got List and AZList classifications using format strings - tidied
     16   up a bit
     17
    1418   Revision 1.13  1999/07/07 05:44:25  sjboddie
    1519   Made some changes to allow for new way classifiers work (i.e. you can
     
    7175#include "browsetools.h"
    7276#include "OIDtools.h"
     77#include "formattools.h"
    7378
    7479
     
    7883// AZList containing a Hierarchy classification as used by hdl's 'magazine'
    7984// section). It really needs redesigning to handle all cases.
     85
     86
     87
     88// simply checks to see if formatstring begins with a <td> tag
     89static bool is_table_content (const text_t &formatstring) {
     90  text_t::const_iterator here = formatstring.begin();
     91  text_t::const_iterator end = formatstring.end();
     92 
     93  while (here != end) {
     94    if (*here != ' ') {
     95      if (*here == '<') {
     96    if ((*(here+1) == 't' || *(here+1) == 'T') &&
     97        (*(here+2) == 'd' || *(here+2) == 'D') &&
     98        (*(here+3) == '>' || *(here+3) == ' '))
     99      return true;
     100      } else return false;
     101    }
     102    here ++;
     103  }
     104  return false;
     105}
     106
     107
     108// output_controls displays the detach, expand/contract contents,
     109// expand/contract text and highlighting/no highlighting buttons
     110// and the warning if expanded text is going to be large
     111static void output_controls (cgiargsclass &args, recptproto *collectproto,
     112                 displayclass &disp, outconvertclass &outconvert,
     113                 ostream &textout, ostream &logout) {
     114
     115  if (args["u"] != "1") {
     116 
     117    FilterResponse_t response;
     118    text_tarray metadata;
     119    text_t top;
     120    get_top (args["d"], top);
     121
     122    text_tarray buttons;
     123   
     124    // detach button
     125    buttons.push_back ("_document:imagedetach_");
     126
     127    // highlighting button
     128    if (args["hl"] == "1")
     129      buttons.push_back ("_document:imagenohighlight_");
     130    else
     131      buttons.push_back ("_document:imagehighlight_");
     132
     133    // expand/contract contents button - only have this if it's
     134    // a Hierarchy type toc
     135    metadata.push_back ("classifytype");
     136    if (get_info (top, args["c"], metadata, false, collectproto, response, logout)) {
     137      if (response.docInfo[0].metadata[0].values[0] == "Hierarchy")
     138    if (args["gc"] == "1")
     139      buttons.push_back ("_document:imagecontracttoc_");
     140    else
     141      buttons.push_back ("_document:imageexpandtoc_");
     142    }
     143   
     144    // expand/contract text button
     145    if (args.getintarg("gt"))
     146      buttons.push_back ("_document:imagecontracttext_");
     147    else
     148      buttons.push_back ("_document:imageexpandtext_");
     149
     150    text_tarray::const_iterator here = buttons.begin();
     151    text_tarray::const_iterator end = buttons.end();
     152    int count = 0;
     153    while (here != end) {
     154      if ((count != 0) && ((count % 3) == 0)) textout << "<br>\n";
     155      textout << outconvert << disp << *here;
     156      count ++;
     157      here ++;
     158    }
     159  }
     160}
     161
    80162
    81163
     
    88170-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    89171
    90 void book_toc (const text_t &/*classifytitle*/, cgiargsclass &args,
    91            recptproto *collectproto, displayclass &disp,
    92            outconvertclass &outconvert, ostream &textout,
    93            ostream &logout) {
     172void book_toc (cgiargsclass &args, recptproto *collectproto,
     173           displayclass &disp, outconvertclass &outconvert,
     174           ostream &textout, ostream &logout) {
    94175
    95176  if (args["d"].empty()) return;
     
    185266-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    186267
    187 void hierarchy_toc (const text_t &classifytype, const text_t &/*classifytitle*/,
     268// prototypes
     269
     270static void output_hierarchy (const text_t &classifytype, cgiargsclass &args,
     271                  recptproto *collectproto, displayclass &disp,
     272                  outconvertclass &outconvert, ostream &textout,
     273                  ostream &logout);
     274static void output_contracted_hierarchy_toc (const text_t &classifytype, cgiargsclass &args,
     275                         recptproto *collectproto,displayclass &disp,
     276                         outconvertclass &outconvert, ostream &textout,
     277                         ostream &logout);
     278static void output_expanded_hierarchy_toc (cgiargsclass &args, recptproto *collectproto,
     279                       displayclass &disp, outconvertclass &outconvert,
     280                       ostream &textout, ostream &logout);
     281static void output_parents_toc (cgiargsclass &args, const text_tarray &parents,
     282                int &tabcount, int &colnum, displayclass &disp,
     283                recptproto *collectproto, outconvertclass &outconvert,
     284                ostream &textout, ostream &logout);
     285static void output_siblings_toc (cgiargsclass &args, const FilterResponse_t &siblings,
     286                 int &tabcount, int &colnum, displayclass &disp,
     287                 outconvertclass &outconvert, ostream &textout, ostream &logout);
     288static void output_cover_image (cgiargsclass &args, recptproto *collectproto,
     289                displayclass &disp, outconvertclass &outconvert,
     290                ostream &textout, ostream &logout);
     291
     292
     293void hierarchy_toc (const text_t &classifytype,
    188294            cgiargsclass &args, recptproto *collectproto,
    189295            displayclass &disp, outconvertclass &outconvert,
     
    238344}
    239345
    240 // output_controls displays the detach, expand/contract contents,
    241 // expand/contract text and highlighting/no highlighting buttons
    242 // and the warning if expanded text is going to be large
    243 void output_controls (cgiargsclass &args, recptproto *collectproto,
    244               displayclass &disp, outconvertclass &outconvert,
    245               ostream &textout, ostream &logout) {
    246 
    247   if (args["u"] != "1") {
    248  
    249     FilterResponse_t response;
    250     text_tarray metadata;
    251     text_t top;
    252     get_top (args["d"], top);
    253 
    254     text_tarray buttons;
    255    
    256     // detach button
    257     buttons.push_back ("_document:imagedetach_");
    258 
    259     // highlighting button
    260     if (args["hl"] == "1")
    261       buttons.push_back ("_document:imagenohighlight_");
    262     else
    263       buttons.push_back ("_document:imagehighlight_");
    264 
    265     // expand/contract contents button - only have this if it's
    266     // a Hierarchy type toc
    267     metadata.push_back ("classifytype");
    268     if (get_info (top, args["c"], metadata, false, collectproto, response, logout)) {
    269       if (response.docInfo[0].metadata[0].values[0] == "Hierarchy")
    270     if (args["gc"] == "1")
    271       buttons.push_back ("_document:imagecontracttoc_");
    272     else
    273       buttons.push_back ("_document:imageexpandtoc_");
    274     }
    275    
    276     // expand/contract text button
    277     if (args.getintarg("gt"))
    278       buttons.push_back ("_document:imagecontracttext_");
    279     else
    280       buttons.push_back ("_document:imageexpandtext_");
    281 
    282     text_tarray::const_iterator here = buttons.begin();
    283     text_tarray::const_iterator end = buttons.end();
    284     int count = 0;
    285     while (here != end) {
    286       if ((count != 0) && ((count % 3) == 0)) textout << "<br>\n";
    287       textout << outconvert << disp << *here;
    288       count ++;
    289       here ++;
    290     }
    291   }
    292 }
    293 
    294346
    295347void output_contracted_hierarchy_toc (const text_t &classifytype, cgiargsclass &args,
     
    302354  FilterResponse_t siblings;
    303355  FilterResponse_t response;
     356  bool getParents = false;
    304357
    305358  text_t &arg_d = args["d"];
     
    315368    if (has_children (arg_cl, args["c"], collectproto, logout)) {
    316369      get_parents_array (arg_cl + ".fc", parents);
    317       if (!get_children (arg_cl, args["c"], metadata,
     370
     371      if (!get_children (arg_cl, args["c"], metadata, getParents,
    318372             collectproto, siblings, logout))
    319373    return;
     
    321375      get_parents_array (arg_cl, parents);
    322376      if (!get_children (arg_cl + ".pr", args["c"], metadata,
    323              collectproto, siblings, logout))
     377             getParents, collectproto, siblings, logout))
    324378    return;
    325379    }
     
    334388    if (has_children (arg_d, args["c"], collectproto, logout)) {
    335389      get_parents_array (arg_d + ".fc", parents);
    336       if (!get_children (arg_d, args["c"], metadata,
     390      if (!get_children (arg_d, args["c"], metadata, getParents,
    337391             collectproto, siblings, logout))
    338392    return;
     
    340394      get_parents_array (arg_d, parents);
    341395      if (!get_children (arg_d + ".pr", args["c"], metadata,
    342              collectproto, siblings, logout))
     396             getParents, collectproto, siblings, logout))
    343397    return;
    344398    }
     
    648702
    649703/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    650 Functions for generating a "List" type table of contents. These can be used only
     704Functions for generating a "List" or "AZList type table of contents. These can be used only
    651705at classification level as it doesn't make sense to display document level stuff
    652706this way (I think!!)
    653707-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    654708
    655 void list_toc (const text_t &/*classifytype*/, const text_t &classifytitle,
     709// prototypes
     710
     711static void output_list (text_t &formatstring, cgiargsclass &args,
     712             recptproto *collectproto, displayclass &disp,
     713             outconvertclass &outconvert, ostream &textout,
     714             ostream &logout);
     715
     716void list_toc (const text_t &classifytype, text_t &formatstring,
    656717           cgiargsclass &args, recptproto *collectproto,
    657718           displayclass &disp, outconvertclass &outconvert,
    658719           ostream &textout, ostream &logout) {
    659720
     721
     722  textout
     723    << "\n<!-- Table of Contents produced by browsetools::list_toc -->\n\n"
     724    << "<table cellpadding=0 cellspacing=2>\n";
     725
     726  if (classifytype == "AZList" || classifytype == "List")
     727    output_list (formatstring, args, collectproto,
     728           disp, outconvert, textout, logout);
     729
     730  else if (classifytype == "Hierarchy")
     731    output_hierarchy ("AZList", args, collectproto,
     732              disp, outconvert, textout, logout);
     733
     734  textout << "</table>\n"
     735      << "<!-- end of Table of Contents -->\n";
     736
     737}
     738
     739void output_list (text_t &formatstring, cgiargsclass &args,
     740          recptproto *collectproto, displayclass &disp,
     741          outconvertclass &outconvert, ostream &textout,
     742          ostream &logout) {
     743
    660744  text_tarray metadata;
     745  bool getParents = false;
    661746  FilterResponse_t response;
     747
    662748  text_t &arg_cl = args["cl"];
    663   text_t doclink = "<a href=\"_httpdocument_&cl=" + arg_cl + "&d=";
    664 
    665   metadata.push_back (classifytitle);
    666   metadata.push_back ("Title");
    667 
    668   if (get_children (arg_cl, args["c"], metadata, collectproto, response, logout)) {
    669 
    670     textout
    671       << "\n<!-- Table of Contents produced by browsetools::output_list_toc "
    672       << "-->\n\n<p>\n";
    673 
     749
     750  // if format string is empty use the default
     751  if (formatstring.empty())
     752    formatstring = "<td valign=top nowrap>[link][icon][/link]</td><td>{Or}{[Title],Untitled}</td>";
     753
     754  bool intable = is_table_content (formatstring);
     755  if (!intable) textout << "<tr><td>\n";
     756
     757  format_t *formatlistptr = new format_t();
     758  parse_formatstring (formatstring, formatlistptr, metadata, getParents);
     759  metadata.push_back ("doctype"); // need this to decide which icon to use
     760
     761  if (get_children (arg_cl, args["c"], metadata, getParents,
     762            collectproto, response, logout)) {
     763   
    674764    ResultDocInfo_tarray::const_iterator sechere = response.docInfo.begin();
    675765    ResultDocInfo_tarray::const_iterator secend = response.docInfo.end();
    676 
     766   
    677767    while (sechere != secend) {
    678 
    679       const text_t &ctitle = (*sechere).metadata[0].values[0];
    680       const text_t &title = (*sechere).metadata[1].values[0];
    681 
    682       if (!ctitle.empty()) {
    683     textout << outconvert << disp << "<br>" << doclink << (*sechere).OID
    684         << "\">" + ctitle + "</a>\n";
    685       } else if (!title.empty()) {
    686     textout << outconvert << disp << "<br>" << doclink << (*sechere).OID
    687         << "\">" + title + "</a>\n";
     768      const MetadataInfo_t &lastmeta = (*sechere).metadata.back();
     769      const text_t &doctype = lastmeta.values.back();
     770     
     771      text_t link = "<a href=\"_httpdocument_&cl=";
     772      text_t icon = "_document:iconclosedbook_";
     773     
     774      if (doctype == "classify") {
     775    icon = "_document:iconclosedbookshelf_";
     776    link += (*sechere).OID + "\">";
     777      } else {
     778    link += arg_cl + "&d=" + (*sechere).OID + "\">";
    688779      }
     780      if (intable) textout << "<tr>\n";
     781
     782      textout << outconvert << disp
     783          << get_formatted_string (*sechere, formatlistptr, link, icon) << "\n";
     784
     785      if (intable) textout << "</tr>\n";
     786     
    689787      sechere ++;
    690788    }
    691 
    692     textout << "\n<!-- end of Table of Contents -->\n";
    693   }
    694 }
    695 
    696 
    697 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    698 Functions for generating an "AZList" type table of contents. These can be used only
    699 at classification level as it doesn't make sense to display document level stuff
    700 this way (I think!!)
    701 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    702 
    703 void azlist_toc (const text_t &classifytype, const text_t &classifytitle,
    704          cgiargsclass &args, recptproto *collectproto,
    705          displayclass &disp, outconvertclass &outconvert,
    706          ostream &textout, ostream &logout) {
    707 
    708   text_tarray metadata;
    709   FilterResponse_t response;
    710   text_t &arg_cl = args["cl"];
    711 
    712   textout
    713     << "\n<!-- Table of Contents produced by browsetools::azlist_toc -->\n\n"
    714     << "<table cellpadding=0 cellspacing=2>\n";
    715 
    716 
    717   if (classifytype == "AZList") {
    718 
    719     metadata.push_back ("Title");
    720     metadata.push_back ("Creator");
    721     metadata.push_back ("doctype");
    722 
    723     if (get_children (arg_cl, args["c"], metadata, collectproto, response, logout))
    724       output_azlist (response, classifytitle, arg_cl, disp, outconvert, textout);
    725   }
    726 
    727   else if (classifytype == "Hierarchy")
    728     output_hierarchy ("AZList", args, collectproto, disp, outconvert, textout, logout);
    729 
    730   textout << "</table>\n"
    731       << "<!-- end of Table of Contents -->\n";
    732 
    733 }
    734 
    735 // note that this function expects response to contain three fields of metadata
    736 // ("Title", "Creator", "doctype") - if they're not there it may cause a run-time error
    737 void output_azlist (const FilterResponse_t &response, const text_t &classifytitle,
    738             const text_t &arg_cl, displayclass &disp,
    739             outconvertclass &outconvert, ostream &textout) {
    740 
    741   bool iscreator = false;
    742   if (classifytitle == "Creator") iscreator = true;
    743 
    744   ResultDocInfo_tarray::const_iterator sechere = response.docInfo.begin();
    745   ResultDocInfo_tarray::const_iterator secend = response.docInfo.end();
    746 
    747   while (sechere != secend) {
    748 
    749     const text_t &title = (*sechere).metadata[0].values[0];
    750     const text_t &creator = (*sechere).metadata[1].values[0];
    751     const text_t &doctype = (*sechere).metadata[2].values[0];
    752 
    753     text_t link = "<a href=\"_httpdocument_&cl=";
    754     text_t icon = "_document:iconclosedbook_";
    755 
    756     if (doctype == "classify") {
    757       icon = "_document:iconclosedbookshelf_";
    758       link += (*sechere).OID;
    759     } else {
    760       link += arg_cl + "&d=" + (*sechere).OID;
    761     }
    762 
    763     if (iscreator) {
    764       if (!creator.empty()) {
    765     textout << outconvert << disp << "<tr><td valign=top>" << link << "\">"
    766         << icon << "</a></td><td>" << creator << "</td><td>";
    767    
    768     if (!title.empty())
    769       textout << outconvert << "&nbsp;&nbsp;" << title;
    770       }
    771     } else {
    772       if (!title.empty()) {
    773     textout << outconvert << disp << "<tr><td valign=top>" << link << "\">"
    774         << icon << "</a></td><td>" << title << "</td><td>";
    775    
    776     if (!creator.empty())
    777       textout << outconvert << "&nbsp;&nbsp;" << creator;
    778       }
    779     }
    780     textout << "</td></tr>\n";
    781     sechere ++;
     789    if (!intable) textout << "</td></tr>\n";
    782790  }
    783791}
     
    791799
    792800void datelist_toc (const text_t &/*classifytype*/, const text_t &/*classifytitle*/,
    793            cgiargsclass &/*args*/, recptproto */*collectproto*/,
     801           const text_t &/*formatstring*/, cgiargsclass &/*args*/, recptproto */*collectproto*/,
    794802           displayclass &/*disp*/, outconvertclass &/*outconvert*/,
    795803           ostream &/*textout*/, ostream &/*logout*/) {
  • trunk/gsdl/src/recpt/browsetools.h

    r344 r404  
    2828
    2929
    30 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    31 Functions for generating a "Book" type table of contents. These should only be called
    32 for document level tocs (i.e. when the "d" argument is set) as I don't think it makes
    33 sense to display top level classifications in this way.
    34 This type of table of contents is intended for documents whose sub-sections are simply
    35 numbered as pages.
    36 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
     30void book_toc (cgiargsclass &args, recptproto *collectproto,
     31           displayclass &disp, outconvertclass &outconvert,
     32           ostream &textout, ostream &logout);
    3733
    38 void book_toc (const text_t &/*classifytitle*/, cgiargsclass &args,
    39            recptproto *collectproto, displayclass &disp,
    40            outconvertclass &outconvert, ostream &textout,
    41            ostream &logout);
    42 
    43 
    44 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    45 Functions for generating a "Hierarchy" type table of contents. These can be used either
    46 at top classification level or at document level (the difference being that a cover
    47 image and control buttons are displayed at document level).
    48 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    49 
    50 void hierarchy_toc (const text_t &classifytype, const text_t &classifytitle,
     34void hierarchy_toc (const text_t &classifytype,
    5135            cgiargsclass &args, recptproto *collectproto,
    5236            displayclass &disp, outconvertclass &outconvert,
    5337            ostream &textout, ostream &logout);
    54 void output_hierarchy (const text_t &classifytype, cgiargsclass &args,
    55                recptproto *collectproto, displayclass &disp,
    56                outconvertclass &outconvert, ostream &textout,
    57                ostream &logout);
    58 void output_contracted_hierarchy_toc (const text_t &classifytype, cgiargsclass &args,
    59                       recptproto *collectproto,displayclass &disp,
    60                       outconvertclass &outconvert, ostream &textout,
    61                       ostream &logout);
    62 void output_expanded_hierarchy_toc (cgiargsclass &args, recptproto *collectproto,
    63                     displayclass &disp, outconvertclass &outconvert,
    64                     ostream &textout, ostream &logout);
    65 void output_parents_toc (cgiargsclass &args, const text_tarray &parents,
    66              int &tabcount, int &colnum, displayclass &disp,
    67              recptproto *collectproto, outconvertclass &outconvert,
    68              ostream &textout, ostream &logout);
    69 void output_siblings_toc (cgiargsclass &args, const FilterResponse_t &siblings,
    70               int &tabcount, int &colnum, displayclass &disp,
    71               outconvertclass &outconvert, ostream &textout, ostream &logout);
    72 void output_controls (cgiargsclass &args, recptproto *collectproto,
    73               displayclass &disp, outconvertclass &outconvert,
    74               ostream &textout, ostream &logout);
    75 void output_cover_image (cgiargsclass &args, recptproto *collectproto,
    76              displayclass &disp, outconvertclass &outconvert,
    77              ostream &textout, ostream &logout);
    7838
    79 
    80 
    81 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    82 Functions for generating a "List" type table of contents. These can be used only
    83 at classification level as it doesn't make sense to display document level stuff
    84 this way (I think!!)
    85 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    86 
    87 void list_toc (const text_t &classifytype, const text_t &classifytitle,
     39void list_toc (const text_t &classifytype, text_t &formatstring,
    8840           cgiargsclass &args, recptproto *collectproto,
    8941           displayclass &disp, outconvertclass &outconvert,
    9042           ostream &textout, ostream &logout);
    9143
    92 
    93 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    94 Functions for generating an "AZList" type table of contents. These can be used only
    95 at classification level as it doesn't make sense to display document level stuff
    96 this way (I think!!)
    97 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    98 
    99 void azlist_toc (const text_t &classifytype, const text_t &classifytitle,
    100          cgiargsclass &args, recptproto *collectproto,
    101          displayclass &disp, outconvertclass &outconvert,
    102          ostream &textout, ostream &logout);
    103 void output_azlist (const FilterResponse_t &response, const text_t &classifytitle,
    104             const text_t &arg_cl, displayclass &disp,
    105             outconvertclass &outconvert, ostream &textout);
    106 
    107 
    108 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    109 Functions for generating a "DateList" type table of contents. These can be used only
    110 at classification level as it doesn't make sense to display document level stuff
    111 this way (I think!!)
    112 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    113 
    11444void datelist_toc (const text_t &classifytype, const text_t &classifytitle,
    115            cgiargsclass &args, recptproto *collectproto,
     45           const text_t &formatstring, cgiargsclass &args, recptproto *collectproto,
    11646           displayclass &disp, outconvertclass &outconvert,
    11747           ostream &textout, ostream &logout);
    118 
    119 
    120 /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    121 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
    12248
    12349void set_arrow_macros (const text_t &OID, const text_t &classifytype,
     
    12652
    12753
    128 
    129 
    13054#endif
Note: See TracChangeset for help on using the changeset viewer.