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 | /*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
---|
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 | -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
|
---|
37 |
|
---|
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,
|
---|
51 | cgiargsclass &args, recptproto *collectproto,
|
---|
52 | displayclass &disp, outconvertclass &outconvert,
|
---|
53 | 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);
|
---|
78 |
|
---|
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,
|
---|
88 | cgiargsclass &args, recptproto *collectproto,
|
---|
89 | displayclass &disp, outconvertclass &outconvert,
|
---|
90 | ostream &textout, ostream &logout);
|
---|
91 |
|
---|
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 |
|
---|
114 | void 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 |
|
---|
123 | void 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
|
---|