Mercurial > ~dholland > hg > ag > index.cgi
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/anagram/guisupport/charsdc.h Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,101 @@ +/* + * AnaGram, A System for Syntax Directed Programming + * Copyright 1993-2000 Parsifal Software. All Rights Reserved. + * See the file COPYING for license and usage terms. + * + * charsdc.h - Character set display module + */ + +#ifndef CHARSDC_H +#define CHARSDC_H + +#include "dc.h" + +class char_map_dc : public dc { +public: + static MenuOption *auxTable[]; + virtual MenuOption **getAuxWinMenu(void) { return auxTable; } + + char_map_dc(void); + char_map_dc(char_map_dc &x) : dc(x) {} + + virtual void getLine(unsigned) const; + + virtual dc_ref set_elements(unsigned); + virtual dc_ref usage(unsigned); + + virtual int set_elements_ok(unsigned); + virtual int usage_ok(unsigned); +}; + +class char_set_dc : public dc { +public: + static MenuOption *auxTable[]; + MenuOption **getAuxWinMenu(void) { return auxTable; } + + char_set_dc(void); + char_set_dc(char_set_dc &x) : dc(x) {} + + virtual void getLine(unsigned) const; + + virtual dc_ref partition_sets(unsigned); + virtual dc_ref set_elements(unsigned); + virtual dc_ref usage(unsigned); + + //virtual int partition_sets_ok(unsigned); + virtual int set_elements_ok(unsigned); + virtual int usage_ok(unsigned); +}; + +class partition_set_dc : public dc { +public: + unsigned char_set_number; + + static MenuOption *auxTable[]; + MenuOption **getAuxWinMenu(void) { return auxTable; } + + + partition_set_dc(unsigned, const AgString); + partition_set_dc(partition_set_dc &x) + : dc(x), char_set_number(x.char_set_number) {} + + virtual void getLine(unsigned) const; + + virtual dc_ref set_elements(unsigned); + virtual dc_ref usage(unsigned); + + virtual int set_elements_ok(unsigned) { return 1; } + virtual int usage_ok(unsigned); +}; + +class partition_table_dc : public dc { +public: + static MenuOption *auxTable[]; + virtual MenuOption **getAuxWinMenu(void) { return auxTable; } + + partition_table_dc(void); + partition_table_dc(partition_table_dc &x) : dc(x) {} + + virtual void getLine(unsigned) const; + + virtual dc_ref set_elements(unsigned); + virtual dc_ref usage(unsigned); + + virtual int usage_ok(unsigned); +}; + +class set_elements_dc : public dc { +public: + unsigned *list; + + set_elements_dc(unsigned *l, unsigned n, char *foot); + set_elements_dc(set_elements_dc &x) : dc(x), list(x.list) {} + + virtual void getLine(unsigned) const; +}; + + +dc_ref part_set_window(int); + + +#endif /* CHARSDC_H */