22 #define AWAR_TRACK_BASE "track/"
23 #define AWAR_TRACK_ALI AWAR_TRACK_BASE "ali"
24 #define AWAR_TRACK_INITIALS AWAR_TRACK_BASE "initials"
31 if (!gb_history) error =
GBT_write_string(gb_species,
"seq_history", newContent);
35 long newSize = strlen(newContent);
36 long size = oldSize+1+newSize+1;
37 char *content = ARB_alloc<char>(size);
39 memcpy(content, newContent, newSize);
40 content[newSize] =
'\n';
41 memcpy(content+newSize+1, oldContent, oldSize+1);
70 time_t t = time(
NULp);
71 struct tm *tms = localtime(&t);
73 strftime(atime, 255,
"%Y/%m/%d %k:%M", tms);
92 const char *save_comment =
NULp;
99 else save_comment =
"new";
105 char *comma = strchr(oldValue,
',');
107 error =
GBS_global_string(
"Invalid value '%s' in field '%s'", oldValue, checksum_field);
111 if (strcmp(char_entry, oldValue) == 0) {
112 if (strcmp(ali_entry, comma+1) == 0) {
117 save_comment =
"alignment changed";
122 save_comment =
"sequence changed";
148 free(checksum_field);
158 AW_window_simple *aws =
new AW_window_simple;
159 aws->init(root,
"TRACK_ALI_CHANGES",
"Track alignment changes");
164 aws->create_button(
"CLOSE",
"CLOSE",
"C");
168 aws->create_button(
"HELP",
"HELP",
"H");
178 aws->create_autosize_button(
"TRACK",
"Track changes",
"T");
static GB_ERROR writeHistory(GBDATA *gb_species, const char *stamp, const char *entry)
#define AWAR_TRACK_INITIALS
GB_ERROR GB_write_string(GBDATA *gbd, const char *s)
void load_xfig(const char *file, bool resize=true)
const char * GBS_global_string(const char *templat,...)
void AW_POPDOWN(AW_window *window)
char * GBS_string_2_key(const char *str)
size_t GB_read_string_count(GBDATA *gbd)
GB_ERROR GB_await_error()
WindowCallback makeHelpCallback(const char *helpfile)
GBDATA * GB_create(GBDATA *father, const char *key, GB_TYPES type)
static void error(const char *msg)
AW_window * NT_create_trackAliChanges_window(AW_root *root)
char * read_string() const
AW_awar * awar(const char *awar)
GBDATA * GBT_find_sequence(GBDATA *gb_species, const char *aliname)
AW_DB_selection * awt_create_ALI_selection_list(GBDATA *gb_main, AW_window *aws, const char *varname, const char *ali_type_match)
void NT_create_trackAliChanges_Awars(AW_root *root, AW_default properties)
static void trackAlignmentChanges(AW_window *aww)
GB_CSTR GB_getenvUSER(void)
GB_ERROR GBT_write_string(GBDATA *gb_container, const char *fieldpath, const char *content)
char * GB_read_string(GBDATA *gbd)
GBDATA * GBT_first_species(GBDATA *gb_main)
uint32_t GBS_checksum(const char *seq, int ignore_case, const char *exclude)
void aw_message(const char *msg)
GBDATA * GBT_next_species(GBDATA *gb_species)
long GBT_get_species_count(GBDATA *gb_main)
GB_transaction ta(gb_var)
GB_CSTR GB_read_char_pntr(GBDATA *gbd)
AW_awar * awar_string(const char *var_name, const char *default_value="", AW_default default_file=AW_ROOT_DEFAULT)
GBDATA * GB_entry(GBDATA *father, const char *key)
void inc_and_check_user_abort(GB_ERROR &error)
char * GBS_global_string_copy(const char *templat,...)