comparison anagram/guisupport/charsdc.h @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:13d2b8934445
1 /*
2 * AnaGram, A System for Syntax Directed Programming
3 * Copyright 1993-2000 Parsifal Software. All Rights Reserved.
4 * See the file COPYING for license and usage terms.
5 *
6 * charsdc.h - Character set display module
7 */
8
9 #ifndef CHARSDC_H
10 #define CHARSDC_H
11
12 #include "dc.h"
13
14 class char_map_dc : public dc {
15 public:
16 static MenuOption *auxTable[];
17 virtual MenuOption **getAuxWinMenu(void) { return auxTable; }
18
19 char_map_dc(void);
20 char_map_dc(char_map_dc &x) : dc(x) {}
21
22 virtual void getLine(unsigned) const;
23
24 virtual dc_ref set_elements(unsigned);
25 virtual dc_ref usage(unsigned);
26
27 virtual int set_elements_ok(unsigned);
28 virtual int usage_ok(unsigned);
29 };
30
31 class char_set_dc : public dc {
32 public:
33 static MenuOption *auxTable[];
34 MenuOption **getAuxWinMenu(void) { return auxTable; }
35
36 char_set_dc(void);
37 char_set_dc(char_set_dc &x) : dc(x) {}
38
39 virtual void getLine(unsigned) const;
40
41 virtual dc_ref partition_sets(unsigned);
42 virtual dc_ref set_elements(unsigned);
43 virtual dc_ref usage(unsigned);
44
45 //virtual int partition_sets_ok(unsigned);
46 virtual int set_elements_ok(unsigned);
47 virtual int usage_ok(unsigned);
48 };
49
50 class partition_set_dc : public dc {
51 public:
52 unsigned char_set_number;
53
54 static MenuOption *auxTable[];
55 MenuOption **getAuxWinMenu(void) { return auxTable; }
56
57
58 partition_set_dc(unsigned, const AgString);
59 partition_set_dc(partition_set_dc &x)
60 : dc(x), char_set_number(x.char_set_number) {}
61
62 virtual void getLine(unsigned) const;
63
64 virtual dc_ref set_elements(unsigned);
65 virtual dc_ref usage(unsigned);
66
67 virtual int set_elements_ok(unsigned) { return 1; }
68 virtual int usage_ok(unsigned);
69 };
70
71 class partition_table_dc : public dc {
72 public:
73 static MenuOption *auxTable[];
74 virtual MenuOption **getAuxWinMenu(void) { return auxTable; }
75
76 partition_table_dc(void);
77 partition_table_dc(partition_table_dc &x) : dc(x) {}
78
79 virtual void getLine(unsigned) const;
80
81 virtual dc_ref set_elements(unsigned);
82 virtual dc_ref usage(unsigned);
83
84 virtual int usage_ok(unsigned);
85 };
86
87 class set_elements_dc : public dc {
88 public:
89 unsigned *list;
90
91 set_elements_dc(unsigned *l, unsigned n, char *foot);
92 set_elements_dc(set_elements_dc &x) : dc(x), list(x.list) {}
93
94 virtual void getLine(unsigned) const;
95 };
96
97
98 dc_ref part_set_window(int);
99
100
101 #endif /* CHARSDC_H */