#pragma interface #ifndef TLEDIT_H #define TLEDIT_H #ifndef MISC_H #include #endif enum TLNODE_TYPE { TLNODE_TEXT, TLNODE_MAIN, TLNODE_CALL, TLNODE_F, TLNODE_OBJ, TLNODE_GLOCAL }; class TLNODE; class SSTREAM; class TLNODES: public ARRAY{ /*~PROTOBEG~ TLNODES */ public: TLNODE *getitem (int no)const; int ss_write (SSTREAM&ss, int level, int showsub); /*~PROTOEND~ TLNODES */ }; class FRAMEWORK_INFO; class TLNODE: public ARRAY_OBJ{ public: TLNODE_TYPE type; SSTRING start; SSTRING title; SSTRING rest; SSTRING comment; SSTRING text; class TLNODES sub; /*~PROTOBEG~ TLNODE */ public: TLNODE (TLNODE_TYPE _type, const char *_start, const char *_title, const char *_rest, const char *_comment); int nodeedit (bool viewsub, FRAMEWORK_INFO&info); void gettext (SSTRING&txt); void gettext (SSTRING&txt, bool showsub); void indent (const char *prefix, SSTRING&newtext); int read (SSTREAM&ss, bool replace); int read (const char *fname); void replace (const char *newtext, bool viewsub); void set (TLNODE_TYPE _type, const char *_start, const char *_title, const char *_rest, const char *_comment); int write (SSTREAM&ss, int level, int showsub); int write (const char *fname); /*~PROTOEND~ TLNODE */ }; #define _TLMP_tlnode_walk struct _F_tlnode_walk{ #define _F_tlnode_walk_onenode(x) void x onenode(TLNODE *node, int level, int count, bool &end) virtual _F_tlnode_walk_onenode( )=0; }; class COMPONENT; class _F_component_walk; class _F_component_find; class _F_spec_walk; #include "tledit.pp" #endif