source: trunk/gsdl/src/recpt/browsetools.h@ 379

Last change on this file since 379 was 344, checked in by sjboddie, 25 years ago

Made some changes to allow for new way classifiers work (i.e. you can
now have classifiers containing other classifiers). At present there's
only a special case for dealing with the hdl 'magazine' section. A bit
of a redesign is needed to get it completely flexible

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 5.8 KB
Line 
1/**********************************************************************
2 *
3 * browsetools.h --
4 * Copyright (C) 1999 The New Zealand Digital Library Project
5 *
6 * PUT COPYRIGHT NOTICE HERE
7 *
8 * $Id: browsetools.h 344 1999-07-07 05:44:25Z sjboddie $
9 *
10 *********************************************************************/
11
12
13#ifndef BROWSETOOLS_H
14#define BROWSETOOLS_H
15
16#include "gsdlconf.h"
17#include "text_t.h"
18#include "cgiargs.h"
19#include "display.h"
20#include "recptproto.h"
21
22
23// Note that at present the build software is capable (if you write a plugin to do
24// it) of generating classifications that contain other classifications of a
25// different type. This module can only handle one case of that however (i.e. an
26// AZList containing a Hierarchy classification as used by hdl's 'magazine'
27// section). It really needs redesigning to handle all cases.
28
29
30/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
31Functions for generating a "Book" type table of contents. These should only be called
32for document level tocs (i.e. when the "d" argument is set) as I don't think it makes
33sense to display top level classifications in this way.
34This type of table of contents is intended for documents whose sub-sections are simply
35numbered as pages.
36-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
37
38void book_toc (const text_t &/*classifytitle*/, cgiargsclass &args,
39 recptproto *collectproto, displayclass &disp,
40 outconvertclass &outconvert, ostream &textout,
41 ostream &logout);
42
43
44/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
45Functions for generating a "Hierarchy" type table of contents. These can be used either
46at top classification level or at document level (the difference being that a cover
47image and control buttons are displayed at document level).
48-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
49
50void hierarchy_toc (const text_t &classifytype, const text_t &classifytitle,
51 cgiargsclass &args, recptproto *collectproto,
52 displayclass &disp, outconvertclass &outconvert,
53 ostream &textout, ostream &logout);
54void output_hierarchy (const text_t &classifytype, cgiargsclass &args,
55 recptproto *collectproto, displayclass &disp,
56 outconvertclass &outconvert, ostream &textout,
57 ostream &logout);
58void output_contracted_hierarchy_toc (const text_t &classifytype, cgiargsclass &args,
59 recptproto *collectproto,displayclass &disp,
60 outconvertclass &outconvert, ostream &textout,
61 ostream &logout);
62void output_expanded_hierarchy_toc (cgiargsclass &args, recptproto *collectproto,
63 displayclass &disp, outconvertclass &outconvert,
64 ostream &textout, ostream &logout);
65void 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);
69void output_siblings_toc (cgiargsclass &args, const FilterResponse_t &siblings,
70 int &tabcount, int &colnum, displayclass &disp,
71 outconvertclass &outconvert, ostream &textout, ostream &logout);
72void output_controls (cgiargsclass &args, recptproto *collectproto,
73 displayclass &disp, outconvertclass &outconvert,
74 ostream &textout, ostream &logout);
75void output_cover_image (cgiargsclass &args, recptproto *collectproto,
76 displayclass &disp, outconvertclass &outconvert,
77 ostream &textout, ostream &logout);
78
79
80
81/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
82Functions for generating a "List" type table of contents. These can be used only
83at classification level as it doesn't make sense to display document level stuff
84this way (I think!!)
85-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
86
87void list_toc (const text_t &classifytype, const text_t &classifytitle,
88 cgiargsclass &args, recptproto *collectproto,
89 displayclass &disp, outconvertclass &outconvert,
90 ostream &textout, ostream &logout);
91
92
93/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
94Functions for generating an "AZList" type table of contents. These can be used only
95at classification level as it doesn't make sense to display document level stuff
96this way (I think!!)
97-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
98
99void 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);
103void 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/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
109Functions for generating a "DateList" type table of contents. These can be used only
110at classification level as it doesn't make sense to display document level stuff
111this way (I think!!)
112-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
113
114void datelist_toc (const text_t &classifytype, const text_t &classifytitle,
115 cgiargsclass &args, recptproto *collectproto,
116 displayclass &disp, outconvertclass &outconvert,
117 ostream &textout, ostream &logout);
118
119
120/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
121-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
122
123void set_arrow_macros (const text_t &OID, const text_t &classifytype,
124 displayclass &disp, recptproto *collectproto,
125 const text_t &collection, ostream &logout);
126
127
128
129
130#endif
Note: See TracBrowser for help on using the repository browser.