/******************************************************************************/ /* File : HIschema.h */ /* Schema : bdeschema.sch */ /* GENCPP Version : Chgen V 12 - Sathya */ /******************************************************************************/ #ifndef __HISCHEMA_H__ #define __HISCHEMA_H__ #include "bdeschema.h" #ifdef USE_STL #include #endif /* USE_STL */ class HL ; #ifndef USE_STL class HI : public RC /* HI - one-line text label for Diagram link */ { private : hcg_key HLid; /* unique ID of parent link */ char DIid[9]; /* Obsolete: ID of dataflow item on link */ float HIorigin; /* fractional distance along HL to HI origin */ float tbeginx; /* x-offset of label text rel. to HI origin */ float tbeginy; /* y-offset of label text rel. to HI origin */ int txtwidth; /* x-extent of label text in WC */ int txtheight; /* y-extent of label text in WC */ char txtfont[26]; /* text font name and size */ char hlabel[41]; /* link label text string */ public : HL *HLid_pp; void *HLid_fpp; void *HLid_bpp; HI *prev_ptr; HI *next_ptr; void set_HLid (hcg_key id); void set_DIid (char *value); void set_HIorigin (float value); void set_tbeginx (float value); void set_tbeginy (float value); void set_txtwidth (int value); void set_txtheight (int value); void set_txtfont (char *value); void set_hlabel (char *value); hcg_key get_HLid (); char* get_DIid (); float get_HIorigin (); float get_tbeginx (); float get_tbeginy (); int get_txtwidth (); int get_txtheight (); char* get_txtfont (); char* get_hlabel (); HI* create_row(); void link_row () ; void parse_row (char *buffer, int idx, hcg_key hcg_k) ; void add_row (char *viewname) ; void delete_row () ; void dump_table (char *viewname, char *file_name, int new_version, char *modestr) ; void dump_row (char *viewname, char *file_name, int new_version, char *modestr) ; void add_row_log(char *); void log_do_add_row (char *, char *, int); void log_do_set_int_row (const char *, const int ); void log_do_set_flt_row (const char *, const int ); void log_do_set_key_row (const char *, hcg_key ); void log_do_set_str_row (const char *, const char * ); } ; #else class HI : public RC { private : hcg_key HLid; /* unique ID of parent link */ char DIid[9]; /* Obsolete: ID of dataflow item on link */ float HIorigin; /* fractional distance along HL to HI origin */ float tbeginx; /* x-offset of label text rel. to HI origin */ float tbeginy; /* y-offset of label text rel. to HI origin */ int txtwidth; /* x-extent of label text in WC */ int txtheight; /* y-extent of label text in WC */ char txtfont[26]; /* text font name and size */ char hlabel[41]; /* link label text string */ HL *HLid_pp; /* Parent */ public : void set_HLid (hcg_key id); void set_DIid (char *value); void set_HIorigin (float value); void set_tbeginx (float value); void set_tbeginy (float value); void set_txtwidth (int value); void set_txtheight (int value); void set_txtfont (char *value); void set_hlabel (char *value); hcg_key get_HLid (); char* get_DIid (); float get_HIorigin (); float get_tbeginx (); float get_tbeginy (); int get_txtwidth (); int get_txtheight (); char* get_txtfont (); char* get_hlabel (); void setParent_HLid(HL *currentRow); /* Initializes parent */ HL *getParent_HLid(); /* Returns parent */ void link_row () ; void parse_row (char *buffer, int idx, hcg_key hcg_k); void add_row (char *viewname); list::iterator delete_row (list::iterator rowIter); /* Deletes the row */ /* Prints a row to a file */ void dump_row (char *viewname, char *file_name, int new_version, char *modestr); /* Prints a row to terminal */ void dump_row (char *viewname, int new_version, char *modestr); HI(); /* Constructor */ ~HI(); /* Destructor */ void add_row_log(char *); void log_do_add_row (char *, char *, int); void log_do_set_int_row (const char *, const int ); void log_do_set_flt_row (const char *, const int ); void log_do_set_key_row (const char *, hcg_key ); void log_do_set_str_row (const char *, const char * ); } ; class HItable /* HI - one-line text label for Diagram link */ { private : char abbrev[5]; /* 2-char abbreviation */ char *name; /* Table name */ list row; /* List of rows */ public : char *getAbbrev(); /* Returns table abbreviation */ char *getName(); /* Returns table name */ unsigned int getRowCount(); /* Returns number of rows in table */ list::iterator getFirstRow(); /* Returns iterator to first row */ HI *getPrevRow(HI *curr); /* Returns prev iterator */ HI *getNextRow(HI *curr); /* Returns next iterator */ HI *getLastRow(); /* Returns last iterator */ list::iterator Terminator(); /* Returns list terminator */ bool isFirstRow(HI * curr); /* True if curr is iterator to first row */ bool isLastRow(HI * curr); /* True if curr is iterator to last row */ void insertRow(HI *newRow); /* Inserts a row at end of table */ list::iterator removeRow(list::iterator i); /* Removes row from table */ /* Prints out entire table to file */ void dump_table(char *viewname, char *file_name, int new_version, char *modestr); /* Prints out entire table to terminal */ /* void dump_table(char *viewname, int new_version, char *modestr); */ HItable(char *abbrev, char *name); /* Constructor */ ~HItable(); /* Destructor */ }; #endif /* USE_STL */ #endif /* __HISCHEMA_H__ */