67 #if defined(DEVEL_RALF)
68 # define TRACE_GROUP_SELECTION
71 #define AWAR_EXPORT_NDS "tmp/export_nds"
72 #define AWAR_EXPORT_NDS_SEPARATOR AWAR_EXPORT_NDS "/delimiter"
73 #define AWAR_MARKED_SPECIES_COUNTER "tmp/disp_marked_species"
74 #define AWAR_NTREE_TITLE_MODE "tmp/title_mode"
101 FILE *out = fopen(name,
"w");
104 aw_message(
"Error: Cannot open and write to file");
113 const int passesNeeded = spacePadded ? 2 : 1;
114 NDS_Labeler labeler(nds_type);
119 size_t col_max_len[max_col];
121 const char *col_format =
NULp;
124 for (
size_t i = 0; i<max_col; ++i) {
135 for (
int pass = 1; pass<=passesNeeded; ++pass) {
146 size_t col_count = parts.
size();
150 for (
size_t i = 0; i<col_count; ++i) {
151 col_max_len[i] =
std::max(col_max_len[i], strlen(parts[i]));
155 for (
size_t i = 0; i<col_count; ++i) {
156 if (i)
fputc(
' ', out);
162 fputs(parts[i], out);
165 fprintf(out, col_format,
int(col_max_len[i]), parts[i]);
172 fprintf(out,
"%s\n", label);
190 AW_window_simple *aws =
new AW_window_simple;
191 aws->init(root,
"EXPORT_NDS_OF_MARKED",
"EXPORT NDS OF MARKED SPECIES");
196 aws->create_button(
"CLOSE",
"CLOSE",
"C");
200 aws->create_button(
"HELP",
"HELP",
"H");
204 aws->create_button(
"SAVE",
"SAVE",
"S");
208 aws->create_button(
"PRINT",
"PRINT",
"P");
211 aws->label(
"Column output");
217 aws->update_option_menu();
234 #if defined(TRACE_GROUP_SELECTION)
235 fputs(
"clear AWAR_GROUP (because species selected)\n", stderr);
280 #if defined(DEBUG) && 0
321 awar_expert->
touch();
348 const char *quit_buttons =
"Quit ARB,Do NOT quit";
352 char *question =
GBS_global_string_copy(
"You last saved your data %li:%02li minutes ago\nSure to quit?", secs/60, secs%60);
353 int dontQuit =
aw_question(
"quit_arb", question, quit_buttons);
361 if (
aw_question(
"quit_arb",
"You never saved any data.\nSure to quit?", quit_buttons)) {
379 AWT_browser_forget_db(gb_main);
390 fprintf(stderr,
"nt_run: Failed to run '%s' (Reason: %s)\n", command, error);
397 void NT_start(
const char *arb_ntree_args,
bool restart_with_new_ARB_PID) {
404 if (kill_my_clients) {
405 nt_run(
"(arb_clean session; echo ARB done) &");
481 #define AWAR_DB_TYPE AWAR_DBBASE "/type" // created by AWT_insert_DBsaveType_selector
482 #define AWAR_DB_COMPRESSION AWAR_DBBASE "/compression" // created by AWT_insert_DBcompression_selector
483 #define AWAR_DB_OPTI_TREENAME AWAR_DBBASE "/optimize_tree_name"
506 static AW_window_simple *aws =
NULp;
508 aws =
new AW_window_simple;
509 aws->init(aw_root,
"SAVE_CHANGES_TO",
"Quicksave changes as");
510 aws->load_xfig(
"save_as.fig");
514 aws->create_button(
"CLOSE",
"CLOSE",
"C");
518 aws->create_button(
"HELP",
"HELP",
"H");
527 aws->create_button(
"SAVE",
"SAVE",
"S");
552 for (
int i = 0; ali_names[i]; ++i) {
554 ali_progress.inc_and_check_user_abort(error);
569 static AW_window_simple *aws =
NULp;
576 aws =
new AW_window_simple;
577 aws->init(aw_root,
"OPTIMIZE_DATABASE",
"Optimize database compression");
578 aws->load_xfig(
"optimize.fig");
585 aws->create_button(
"CLOSE",
"CLOSE",
"C");
589 aws->create_button(
"HELP",
"HELP",
"H");
593 aws->create_button(
"GO",
"GO");
598 static AW_window_simple *aws =
NULp;
601 aws =
new AW_window_simple;
602 aws->init(aw_root,
"SAVE_DB",
"SAVE ARB DB");
603 aws->load_xfig(
"save_as.fig");
607 aws->create_button(
"CLOSE",
"CLOSE",
"C");
611 aws->create_button(
"HELP",
"HELP",
"H");
618 aws->at(
"compression");
623 aws->help_text(
"optimize.hlp");
624 aws->create_autosize_button(
"OPTIMIZE",
"Optimize database compression");
628 aws->create_button(
"SAVE",
"SAVE",
"S");
675 static void NT_fix_database(
AW_window *) {
691 freeset(ref_name, name);
692 ref_gb_node = gb_organism;
733 char *species_name = root->awar(
get_self_awar())->read_string();
736 if (species_name[0]) {
772 if (strcmp(oldval, buffer)) {
788 if (!tree_names.
empty()) {
789 long treeCount = tree_names.
size();
791 const char *whats_removed =
NULp;
798 const char *task =
GBS_global_string(
"Deleting %s from %li trees", whats_removed, treeCount);
805 for (
int t = 0; t<treeCount && !
error; t++) {
813 int groups_removed = 0;
815 tree =
GBT_remove_leafs(tree, mode, species_hash, &removed, &groups_removed);
829 if (groups_removed>0) {
862 if (root)
return root;
899 :
"arb_ntree %s : &",
910 static char *awar_name =
NULp;
913 ".",
".arb", &awar_name,
918 static char *awar_name =
NULp;
921 ".",
".arb", &awar_name,
964 canvas[count++] = ntw;
971 if (idx<0 || idx>=count)
return NULp;
984 #if defined(TRACE_GROUP_SELECTION)
991 for (int32_t i = 0; i<maxIdx; ++i) {
993 if (ntw->
gfx == agt)
return ntw;
1005 for (int32_t i = 0; i<maxIdx; ++i) {
1007 if (ntw && ntw != to_skip) {
1010 const char *description = i
1013 sellst->
insert(description, i);
1030 #if defined(TRACE_GROUP_SELECTION)
1031 fprintf(stderr,
"[%s] ", track_group_selection_by_canvas ?
"track" :
"dont track");
1034 fprintf(stderr,
"canvas %i selects group '%s'\n", ntw->
get_index(), group.
get_name());
1037 fprintf(stderr,
"canvas %i de-selects group\n", ntw->
get_index());
1041 if (track_group_selection_by_canvas) {
1053 if (gb_wanted_group) {
1057 #if defined(TRACE_GROUP_SELECTION)
1058 fputs(
"clear AWAR_SPECIES_NAME (because group selected)\n", stderr);
1061 #if defined(TRACE_GROUP_SELECTION)
1062 const char *group_name =
NULp;
1063 if (gb_wanted_group) {
1068 fprintf(stderr,
"group awar changed to %p", gb_wanted_group);
1069 if (group_name) fprintf(stderr,
" (='%s')", group_name);
1070 fputc(
'\n', stderr);
1074 LocallyModify<bool> ignore_group_selection_by_canvas(track_group_selection_by_canvas,
false);
1080 for (int32_t i = 0; i<maxIdx; ++i) {
1086 if (gb_curr_tree == gb_wanted_tree) {
1091 agt->select_group(gb_wanted_group);
1119 char window_title[256];
1120 const char *awar_tree =
NULp;
1124 sprintf(window_title,
"ARB_NT_%i", clone);
1128 sprintf(window_title,
"ARB_NT");
1131 awm->
init(awr, window_title, window_title, 0, 0);
1160 if (result_ntw) *result_ntw = ntw;
1166 if (existing_tree_name) {
1190 AWT_create_debug_menu(awm);
1197 if (allow_new_window) {
1216 if (allow_new_window) {
1694 awm->
at(db_pathx, first_liney);
1696 awm->
at_attach_to(
false,
false, db_pathx2-db_pathx-1, second_liney-first_liney+1);
1704 #define TREE_BUTTON_OVERSIZE 6
1709 awm->
at(db_treex, second_uppery);
1722 awm->
create_button(
"FOLDED_LIST_TREE_TYPE",
"#dendroIrs.xpm");
1730 awm->
at(db_treex, first_liney);
1732 awm->
at_attach_to(
false,
false, db_treex2-db_treex-1, second_uppery-first_liney+1);
1743 #define EDIT_XSIZE 50
1744 #define EDIT_YSIZE 30 // same as 'save as' buttons
1749 awm->
at(protectx+2, first_liney+1);
1753 awm->
at(protectx, second_liney+2);
1767 awm->
at(db_alignx, second_liney);
1772 if (is_genome_db) awm->
create_button(
"EDIT_SEQUENCES",
"#editor_small.xpm");
1784 awm->
at(db_alignx, first_liney);
1785 awm->
at_attach_to(
false,
false, db_alignx2-db_alignx-1, second_liney-first_liney+1);
1793 awm->
at(leftx, third_liney);
1805 awm->
at(db_searchx, first_liney);
1810 awm->
at(db_searchx, second_uppery);
1817 awm->
at(db_infox, first_liney);
1823 awm->
at(db_infox, second_uppery);
1843 #if defined(DEVEL_RALF)
1845 #endif // DEVEL_RALF
1850 AWT_check_action_ids(awr, is_genome_db ?
"_genome" :
"");
GB_ERROR GB_begin_transaction(GBDATA *gbd)
AW_window * AP_create_max_freq_window(AW_root *aw_root)
void NT_popup_configuration_admin(AW_window *aw_main, TREE_canvas *ntw)
void register_canvas(TREE_canvas *ntw)
static void group_selected_by_canvas_cb(AWT_graphic_tree *gfx)
void insert_option(AW_label choice_label, const char *mnemonic, const char *var_value, const char *name_of_color=NULp)
GB_ERROR GBK_system(const char *system_command)
AW_window * create_species_query_window(AW_root *aw_root, GBDATA *gb_main)
static AW_window * NT_create_database_optimization_window(AW_root *aw_root)
void get_at_position(int *x, int *y) const
GBDATA * get_group_data() const
virtual const char * get_self_awar() const =0
void NT_install_treeShader(TREE_canvas *ntw, GBDATA *gb_main)
static void NT_database_optimization(AW_window *aww)
AP_tree_root * get_tree_root()
void AWT_popup_tree_export_window(AW_window *parent_win, AWT_canvas *scr)
static void update_main_window_title(AW_root *awr, AW_window_menu_modes *aww, int clone)
#define AWAR_SAVED_DB_PATH
void GBT_compression_test(struct Unfixed_cb_parameter *, GBDATA *gb_main)
const awt_input_mask_descriptor * AWT_look_input_mask(int id)
AW_window * create_probe_design_window(AW_root *root, GBDATA *gb_main)
void launch_MapViewer_cb(GBDATA *gbd, AD_MAP_VIEWER_TYPE type)
void button_length(int length)
AW_window * AWTC_create_rename_window(AW_root *root, GBDATA *gb_main)
GBDATA * GBT_first_marked_species(GBDATA *gb_main)
AW_window * NT_create_startEditorOnOldConfiguration_window(AW_root *awr)
void NT_remove_leafs(UNFIXED, TREE_canvas *ntw, AWT_RemoveType mode)
int get_at_xposition() const
static void NT_save_quick_as_cb(AW_window *aww)
AW_window * NT_create_moveGroupInfo_window(AW_root *root)
void NT_edit_bootstrap(UNFIXED, TREE_canvas *ntw)
void EXP_create_awars(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main)
GBDATA * read_pointer() const
void nt_mode_event(UNFIXED, TREE_canvas *ntw, AWT_COMMAND_MODE mode)
GB_ERROR GB_save(GBDATA *gb, const char *path, const char *savetype)
void NT_createConcatenationAwars(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main)
GBDATA * current(AW_root *root, GBDATA *gb_main) const OVERRIDE
static void expert_mode_changed_cb(AW_root *aw_root)
void insert_menu_topic(const char *id, const char *name, const char *mnemonic, const char *help_text_, AW_active mask, const WindowCallback &wcb)
void AWTC_create_submission_variables(AW_root *root, AW_default db1)
void load_xfig(const char *file, bool resize=true)
void SQ_create_awars(AW_root *awr, AW_default aw_def)
void create_dbui_awars(AW_root *aw_root)
#define AWAR_DB_OPTI_TREENAME
AW_window * create_AWTC_export_window(AW_root *awr, GBDATA *gb_main)
GB_ERROR GB_add_callback(GBDATA *gbd, GB_CB_TYPE type, const DatabaseCallback &dbcb)
void GEN_create_awars(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main)
void NT_create_transpro_variables(AW_root *root, AW_default props)
long GBT_mark_all(GBDATA *gb_main, int flag)
void NT_create_compare_taxonomy_awars(AW_root *aw_root, AW_default props)
void popup_species_info_window(AW_root *aw_root, GBDATA *gb_main)
GB_ERROR write_pointer(GBDATA *aw_pointer)
const char * ARB_keep_string(char *str)
void NT_mark_all_cb(UNFIXED, TREE_canvas *ntw, int mark_mode)
AW_window * awt_create_load_box(AW_root *aw_root, const char *action, const char *what, const char *default_directory, const char *file_extension, char **set_file_name_awar, const WindowCallback &ok_cb, const WindowCallback &close_cb, const char *close_button_text)
AW_window * NT_create_extendeds_window(AW_root *aw_root)
#define TREE_BUTTON_OVERSIZE
AW_window * AWTC_create_submission_window(AW_root *root, GBDATA *gb_main)
void NT_remove_bootstrap(UNFIXED, TREE_canvas *ntw)
TreeNode * GBT_remove_leafs(TreeNode *tree, GBT_TreeRemoveType mode, const GB_HASH *species_hash, int *removed, int *groups_removed)
void NT_create_extendeds_vars(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main)
GB_ERROR GB_end_transaction(GBDATA *gbd, GB_ERROR error)
void NT_move_boot_branch(UNFIXED, TREE_canvas *ntw, int direction)
void NT_reset_pzoom_cb(UNFIXED, TREE_canvas *ntw)
void dont_save_awars_with_default_value(GBDATA *gb_db)
void AW_create_standard_fileselection(AW_window *aws, const char *awar_prefix)
const char * GBT_name_of_largest_tree(GBDATA *gb_main)
GB_ERROR ARB_bind_global_awars(GBDATA *gb_main)
#define ARB_VERSION_DETAILED
void GBT_get_alignment_names(ConstStrArray &names, GBDATA *gbd)
void create_primer_design_variables(AW_root *aw_root, AW_default aw_def, AW_default global)
char * ARB_strdup(const char *str)
#define AWAR_DEFAULT_ALIGNMENT
AW_window * create_probe_match_with_specificity_window(AW_root *root, TREE_canvas *ntw)
AW_window * STAT_create_chimera_check_window(AW_root *root, GBDATA *gb_main)
static void NT_create_mask_submenu(AW_window_menu_modes *awm)
TreeNode * GBT_read_tree(GBDATA *gb_main, const char *tree_name, TreeRoot *troot)
#define AWAR_SAI_COLOR_STR
AW_window * NT_create_multifurcate_tree_window(AW_root *aw_root, TREE_canvas *ntw)
AW_window * create_insertDeleteBySAI_window(AW_root *root, GBDATA *gb_main)
void NT_start_editor_on_tree(AW_window *aww, int use_species_aside, TREE_canvas *ntw)
const char * GBS_global_string(const char *templat,...)
AW_window * NT_create_syncScroll_window(AW_root *awr, TREE_canvas *ntw)
void AWTI_cleanup_importer()
void AW_advice(const char *message, AW_Advice_Type type, const char *title, const char *corresponding_help)
Show a message box with an advice for the user.
static void export_nds_cb(AW_window *aww, bool do_print)
static void NT_toggle_focus_policy(AW_window *aww)
AW_DB_selection * awt_create_TREE_selection_list(GBDATA *gb_main, AW_window *aws, const char *varname)
void GBK_terminatef(const char *templat,...)
void AW_POPDOWN(AW_window *window)
void TREE_auto_jump_cb(UNFIXED, TREE_canvas *ntw, AP_tree_jump_reason cause)
void AW_insert_common_property_menu_entries(AW_window_menu_modes *awmm)
static void canvas_tree_awar_changed_cb(AW_awar *, bool, TREE_canvas *ntw)
const char * GBT_existing_tree(GBDATA *gb_main, const char *tree_name)
void NT_create_alignment_vars(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main)
void GBS_free_hash(GB_HASH *hs)
void AWT_registerTreeAwarCallback(AW_awar *awar, const TreeAwarCallback &tacb, bool triggerIfTreeDataChanges)
GB_HASH * GBT_create_species_hash(GBDATA *gb_main)
static void NT_save_as_cb(AW_window *aww)
TREE_canvas * NT_get_canvas_by_index(int idx)
static bool track_group_selection_by_canvas
#define AWAR_FOOTER_MAX_LEN
void set_window_title(const char *title)
AW_window * create_multiprobe_window(AW_root *root, TREE_canvas *canvas)
AW_window * create_primer_design_window(AW_root *root, GBDATA *gb_main)
static AW_window * NT_create_save_as(AW_root *aw_root, const char *base_name)
const char * getKeyPath() const OVERRIDE
void GBCMS_shutdown(GBDATA *gbd)
GB_ERROR GB_fix_database(GBDATA *gb_main)
void insert_field_admin_menuitems(AW_window *aws, GBDATA *gb_main)
char buffer[MESSAGE_BUFFERSIZE]
GBDATA * GB_get_father(GBDATA *gbd)
void update_option_menu()
static void NT_update_marked_counter(GBDATA *, AW_window *aww)
GB_ERROR GB_push_transaction(GBDATA *gbd)
void NT_delete_mark_all_cb(AW_window *, TREE_canvas *ntw)
void AWT_insert_DBcompression_selector(AW_window *aww, const char *awar_name)
void AW_init_color_group_defaults(const char *for_program)
AW_window * NT_create_sort_tree_by_other_tree_window(AW_root *aw_root, TREE_canvas *ntw)
AW_window * NT_createMergeSimilarSpeciesWindow(AW_root *aw_root)
void SAI_popup_calculator_window(AW_window *awp, GBDATA *gb_main)
#define AWAR_MARKED_SPECIES_COUNTER
AW_awar * add_callback(const RootCallback &cb)
struct Unfixed_cb_parameter * UNFIXED
void insert(const char *displayed, const AW_scalar &value)
void AW_create_namesadmin_awars(AW_root *awr, GBDATA *gb_main)
static AW_window * create_mark_by_refentries_window(AW_root *awr, GBDATA *gbmain)
static void NT_mark_duplicates(UNFIXED, TREE_canvas *ntw)
void set_tree_style(AP_tree_display_style style, AWT_canvas *ntw)
GB_ERROR GDE_init(AW_root *aw_root, AW_default aw_def, GBDATA *gb_main, GDE_get_sequences_cb get_sequences, GDE_format_alignment_cb format_ali, gde_window_type window_type)
static bool nt_disconnect_from_db(AW_root *aw_root, GBDATA *&gb_main_ref)
void GB_change_my_security(GBDATA *gbd, int level)
AW_window * NT_create_syncroot_window(AW_root *awr, GBDATA *gb_main)
const char * read_char_pntr() const
static void merge_from_cb(AW_window *aww, AW_CL cl_awarNamePtr)
static void install_group_changed_callback(const GraphicTreeCallback &gccb)
int create_mode(const char *pixmap, const char *help_text_, AW_active mask, const WindowCallback &cb)
GB_ERROR GB_optimize(GBDATA *gb_main)
AWT_graphic_tree * NT_generate_tree(AW_root *root, GBDATA *gb_main, AD_map_viewer_cb map_viewer_cb)
AW_window * NT_create_resort_window(AW_root *awr)
AW_window * NT_create_select_alignment_window(AW_root *awr)
static AW_root * SINGLETON
TreeNode * NT_get_tree_root_of_canvas(TREE_canvas *ntw)
void GDE_load_menu(AW_window *awm, AW_active, const char *menulabel)
WindowCallback makeHelpCallback(const char *helpfile)
GB_ERROR ARB_format_alignment(GBDATA *Main, const char *alignment_name)
static void nt_changesecurity(AW_root *aw_root)
char * GBT_read_string(GBDATA *gb_container, const char *fieldpath)
void popup_group_search_window(AW_window *aw_parent, GBDATA *gb_main)
void popup_tree_admin_window(AW_window *awp)
void NT_insert_collapse_submenu(AW_window_menu_modes *awm, TREE_canvas *ntw)
void GEN_create_genes_submenu(AW_window_menu_modes *awm, GBDATA *gb_main, bool for_ARB_NTREE)
void create_insertDeleteColumn_variables(AW_root *root, AW_default db1)
AW_window * AWT_create_www_window(AW_root *aw_root, GBDATA *gb_main)
GBDATA * get_gb_tree() const
size_t get_self_awar_content_length() const OVERRIDE
static nt_item_type_species_selector item_type_species
AW_window * NT_create_consense_window(AW_root *aw_root)
std::set< GBDATA * > DBItemSet
void NT_create_sai_from_pfold(AW_window *aww)
AW_window * create_refentries_window(AW_root *aw_root, ReferringEntriesHandler *reh, const char *window_id, const char *title, const char *help, client_area_builder build_client_area, const char *action, referred_item_handler action_cb)
AW_window * NT_create_select_tree_window(AW_root *awr, const char *awar_tree)
AW_root * get_root() const
AW_window * NT_create_compareTopologies_window(AW_root *root)
void create_probe_design_variables(AW_root *aw_root, AW_default def, AW_default global)
static AW_window * create_nds_export_window(AW_root *root)
void awt_create_aww_vars(AW_root *aw_root, AW_default aw_def)
void AW_save_properties(AW_window *aw)
void NT_restart(AW_root *aw_root, const char *arb_ntree_args)
AW_window * NT_create_dna_2_pro_window(AW_root *root)
static void create_export_nds_awars(AW_root *awr, AW_default def)
GB_ERROR GBT_write_tree(GBDATA *gb_main, const char *tree_name, TreeNode *tree)
AW_window * create_insertDeleteColumn_window(AW_root *root)
void create_menu(const char *name, const char *mnemonic, AW_active mask=AWM_ALL)
static ARB_ERROR mark_referred_species(GBDATA *gb_main, const DBItemSet &referred)
#define AWAR_NTREE_MAIN_WINDOW_COUNT
AW_window * AW_create_gc_window(AW_root *aw_root, AW_gc_manager *gcman)
void help_text(const char *id)
void NT_rerepair_DB(AW_window *, GBDATA *gb_main)
void NT_jump_cb(UNFIXED, TREE_canvas *ntw, AP_tree_jump_type jumpType)
AW_window * NT_create_alignment_admin_window(AW_root *root, AW_window *aw_popmedown)
static void error(const char *msg)
TREE_canvas * get_canvas(int idx) const
void AP_create_consensus_var(AW_root *aw_root, AW_default aw_def)
const char * get_name() const
#define AWAR_TREE_REFRESH
void AW_create_fileselection_awars(AW_root *awr, const char *awar_base, const char *directories, const char *filter, const char *file_name)
AW_window * NT_create_searchManuallyNames_window(AW_root *aw_root)
AW_window * AW_preset_window(AW_root *root)
GBDATA * GBT_next_marked_species(GBDATA *gb_species)
void relink_tree(GBDATA *gb_main, void(*relinker)(GBDATA *&ref_gb_node, char *&ref_name, GB_HASH *organism_hash), GB_HASH *organism_hash)
GB_ULONG GB_time_of_day(void)
void insert_help_topic(const char *labeli, const char *mnemonic, const char *helpText, AW_active mask, const WindowCallback &cb)
AW_window * NT_create_realign_dna_window(AW_root *root)
void NT_count_different_chars(AW_window *, GBDATA *gb_main)
long GB_read_clients(GBDATA *gbd)
void NT_import_sequences(AW_window *aww, TREE_canvas *ntw)
#define AWAR_SPECIES_NAME
DBItemSet::const_iterator DBItemSetIter
static AW_window * popup_new_main_window(AW_root *awr, int clone, TREE_canvas **result_ntw)
#define AWAR_DB_COMPRESSION
#define AWAR_INFO_BUTTON_TEXT
static void nt_create_all_awars(AW_root *awr)
AP_tree_display_style get_tree_style() const
#define AWAR_SECURITY_LEVEL
char * read_string() const
static WindowCallback simple(void(*root_cb)(AW_root *, T), T t)
AW_awar * awar(const char *awar)
GB_ERROR GB_pop_transaction(GBDATA *gbd)
void insert_sub_menu(const char *name, const char *mnemonic, AW_active mask=AWM_ALL)
void NT_create_trackAliChanges_Awars(AW_root *root, AW_default properties)
GB_ERROR GB_save_quick_as(GBDATA *gbd, const char *path)
void NT_resort_data_by_phylogeny(AW_window *, TREE_canvas *ntw)
static void NT_infomode_cb(UNFIXED, TREE_canvas *canvas, AWT_COMMAND_MODE mode)
void AWT_insert_DBsaveType_selector(AW_window *aww, const char *awar_name)
void NT_set_tree_style(UNFIXED, TREE_canvas *ntw, AP_tree_display_style style)
void AW_refresh_fileselection(AW_root *awr, const char *awar_prefix)
static AW_window_menu_modes_opengl * awm
void GB_print_debug_information(struct Unfixed_cb_parameter *, GBDATA *gb_main)
static void selectedSpeciesChanged_cb(AW_root *awr)
#define AWAR_EXPORT_NDS_SEPARATOR
long GBT_count_marked_species(GBDATA *gb_main)
long GB_last_saved_clock(GBDATA *gb_main)
nt_item_type_species_selector()
void NT_insert_mark_submenus(AW_window_menu_modes *awm, TREE_canvas *ntw, int insert_as_submenu)
void unlink_awars_from_DB(GBDATA *gb_main)
void insert_default_option(AW_label choice_label, const char *mnemonic, const char *var_value, const char *name_of_color=NULp)
AW_window * NT_create_splitAlignment_window(AW_root *awr)
void NT_create_multifurcate_tree_awars(AW_root *aw_root, AW_default props)
AW_window * SQ_create_seq_quality_window(AW_root *aw_root, GBDATA *gb_main)
void create_trees_var(AW_root *aw_root, AW_default aw_def)
static AW_window * NT_create_merge_from_window(AW_root *awr)
static void merge_into_cb(AW_window *aww, AW_CL cl_awarNamePtr)
GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT
AW_window * NT_create_species_join_window(AW_root *root)
static void group_awar_changed_cb(AW_root *awr)
void NT_suggestValidNames(AW_window *)
int aw_question(const char *unique_id, const char *question, const char *buttons, bool sameSizeButtons, const char *helpfile)
void set_info_area_height(int height)
AW_window * NT_create_colstat_2_gnuplot_window(AW_root *root)
fputs(TRACE_PREFIX, stderr)
#define AWAR_AW_FOCUS_FOLLOWS_MOUSE
#define AWAR_TOPAREA_SAIS
TREE_canvas * NT_create_main_window(AW_root *aw_root)
AW_window * create_colorize_items_window(AW_root *aw_root, GBDATA *gb_main, ItemSelector &sel)
const Group & get_selected_group() const
void set_mode(AWT_COMMAND_MODE mo)
void set_bottom_area_height(int height)
static void NT_undo_cb(AW_window *, GB_UNDO_TYPE undo_type, TREE_canvas *ntw)
AW_awar * awar_int(const char *var_name, long default_value=0, AW_default default_file=AW_ROOT_DEFAULT)
GB_ULONG GB_last_saved_time(GBDATA *gb_main)
void NT_resort_tree_cb(UNFIXED, TREE_canvas *ntw, TreeOrder order)
void request_save_and_zoom_reset()
void auto_space(int xspace, int yspace)
void NT_activate_configMarkers_display(TREE_canvas *ntw)
GB_ERROR close(GB_ERROR error)
void AW_help_entry_pressed(AW_window *aww)
char * GBK_singlequote(const char *arg)
void GB_write_flag(GBDATA *gbd, long flag)
AW_window * NDS_create_window(AW_root *aw_root, GBDATA *gb_main)
static void NT_justify_branch_lenghs(UNFIXED, TREE_canvas *ntw)
#define AWAR_ERROR_MESSAGES
GBDATA * GEN_find_origin_organism(GBDATA *gb_pseudo, const GB_HASH *organism_hash)
const char * get_self_awar() const OVERRIDE
static void NT_open_mask_window(AW_window *aww, int id, GBDATA *gb_main)
void request_structure_update()
AW_gc_manager * gc_manager
void NT_deleteValidNames(AW_window *)
AW_window * AP_create_con_expert_window(AW_root *aw_root)
AW_window * GEN_create_first_map(AW_root *aw_root, GBDATA *gb_main)
void AW_popup_namesadmin_window(AW_window *parent_win, GBDATA *gb_main)
void justify_branch_lenghs(GBDATA *gb_main)
AP_tree * get_root_node()
void NT_importValidNames(AW_window *)
void subtitle(const char *stitle)
void AWT_popup_print_window(AW_window *parent_win, AWT_canvas *scr)
GB_ERROR GB_textprint(const char *path) __ATTR__USERESULT
void GBK_dump_backtrace(FILE *out, const char *message)
static AW_window * NT_create_merge_to_window(AW_root *awr)
ItemSelector & SPECIES_get_selector()
static void NT_alltree_remove_leafs(AW_window *, GBT_TreeRemoveType mode, GBDATA *gb_main)
void GBT_get_tree_names(ConstStrArray &names, GBDATA *gb_main, bool sorted)
static void NT_save_quick_cb(AW_window *aww)
static AW_window * create_colorize_species_window(AW_root *aw_root)
GB_ERROR GBT_compress_sequence_tree2(GBDATA *gbd, const char *tree_name, const char *ali_name) __ATTR__USERESULT
AW_window * TREE_create_settings_window(AW_root *aw_root)
void NT_createValidNamesAwars(AW_root *aw_root, AW_default aw_def)
static __ATTR__NORETURN void really_exit(int exitcode, bool kill_my_clients)
void aw_message(const char *msg)
AW_option_menu_struct * create_option_menu(const char *awar_name)
void NT_start(const char *arb_ntree_args, bool restart_with_new_ARB_PID)
void insert_macro_menu_entry(AW_window *awm, bool prepend_separator)
long GB_read_clock(GBDATA *gbd)
AW_window * AP_create_pos_var_pars_window(AW_root *root)
static void nt_start_2nd_arb(AW_window *aww, bool quit)
void GB_split_full_path(const char *fullpath, char **res_dir, char **res_fullname, char **res_name_only, char **res_suffix)
AW_window * NT_createConcatenationWindow(AW_root *aw_root)
void shutdown_macro_recording(AW_root *aw_root)
GBDATA * GBT_find_species(GBDATA *gb_main, const char *name)
GB_HASH * GBT_create_organism_hash(GBDATA *gb_main)
void AWT_system_in_console_cb(AW_window *, const char *command, XCMD_TYPE exectype)
void NT_select_bottom_tree(AW_window *aww, const char *awar_tree)
#define AWAR_NTREE_TITLE_MODE
void create_refentries_awars(AW_root *aw_root, AW_default aw_def)
GB_ERROR write_string(const char *aw_string)
static AW_window * NT_create_save_quick_as_window(AW_root *aw_root, const char *base_name)
void GBT_split_string(ConstStrArray &dest, const char *namelist, const char *separator, SplitMode mode)
static TREE_canvas_registry & instance()
void NT_scale_tree(UNFIXED, TREE_canvas *ntw)
const char * local_id(const char *id) const
GB_ERROR GB_request_undo_type(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT_TODO
void NT_fill_canvas_selection_list(class AW_selection_list *sellst, TREE_canvas *to_skip)
GB_transaction ta(gb_var)
void callback(const WindowCallback &cb)
void destroy(TreeNode *that)
GB_CSTR GB_read_char_pntr(GBDATA *gbd)
int get_at_yposition() const
AW_window * NT_create_compare_taxonomy_window(AW_root *aw_root, TREE_canvas *ntw)
static void nt_run(const char *command)
AW_awar * awar_string(const char *var_name, const char *default_value="", AW_default default_file=AW_ROOT_DEFAULT)
GB_ERROR GBT_check_data(GBDATA *Main, const char *alignment_name)
void NT_exit(AW_window *aws, int exitcode)
void hide_or_notify(const char *error)
AW_window * NT_create_branch_analysis_window(AW_root *aw_root, TREE_canvas *ntw)
void NT_deselect_group(AW_root *awr)
bool GEN_is_genome_db(GBDATA *gb_main, int default_value)
void shadow_width(int shadow_thickness)
AW_window * create_probe_match_window(AW_root *root, GBDATA *gb_main)
AW_window * NT_create_trackAliChanges_window(AW_root *root)
void AWT_openURL(AW_window *aww, const char *url)
void AWT_console(AW_window *)
bool GEN_is_pseudo_gene_species(GBDATA *gb_species)
static void relink_pseudo_species_to_organisms(GBDATA *&ref_gb_node, char *&ref_name, GB_HASH *organism_hash)
void NT_configure_treeShader(void)
static void merge_from_to(AW_root *awr, const char *db_awar_name, bool merge_to)
AW_awar * get_awar_tree() const
void TREE_create_awars(AW_root *aw_root, AW_default db)
~nt_item_type_species_selector() OVERRIDE
void NDS_create_vars(AW_root *aw_root, AW_default awdef, GBDATA *gb_main)
void at_attach_to(bool attach_x, bool attach_y, int xoff, int yoff)
void NT_reset_branchlengths(UNFIXED, TREE_canvas *ntw)
GB_ERROR write_int(long aw_int)
static void NT_toggle_expert_mode(AW_window *aww)
void NT_reset_lzoom_cb(UNFIXED, TREE_canvas *ntw)
GB_ERROR AWT_initialize_input_mask(AW_root *root, GBDATA *gb_main, const awt_item_type_selector *sel, const char *mask_name, bool localMask)
AW_window * create_probe_admin_window(AW_root *root, GBDATA *gb_main)
void create_group_search_awars(AW_root *aw_root, AW_default props)
GBDATA * GB_entry(GBDATA *father, const char *key)
void inc_and_check_user_abort(GB_ERROR &error)
void TREE_install_update_callbacks(TREE_canvas *ntw)
GB_ERROR GB_save_quick(GBDATA *gbd, const char *refpath)
void aw_message_if(GB_ERROR error)
AW_window * create_tree_window(AW_root *aw_root, AWT_graphic *awd)
char * GBS_global_string_copy(const char *templat,...)
void GB_close(GBDATA *gbd)
static void NT_pseudo_species_to_organism(AW_window *, TREE_canvas *ntw)
void create_button(const char *macro_name, AW_label label, const char *mnemonic=NULp, const char *color=NULp)
void NT_create_resort_awars(AW_root *awr, AW_default aw_def)
void AWT_system_cb(AW_window *, const char *command)
void NT_reload_tree_event(AW_root *, TREE_canvas *ntw, bool unzoom_and_expose)
GBDATA * GBT_get_species_data(GBDATA *gb_main)
GB_write_int const char s