Changeset 8287

Show
Ignore:
Timestamp:
09/12/11 10:03:56 (6 months ago)
Author:
westram
Message:
  • sync from trunk (unity/suse12.1)
Location:
branches/e4fix
Files:
19 modified

Legend:

Unmodified
Added
Removed
  • branches/e4fix/!BRANCH_STATE

    r8274 r8287  
    88 
    99                8220 -> 8223 
    10                 8205 8212 8216 8217 8225 8233 8234 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 -> 8274   
     10                8205 8212 8216 8217 8225 8233 8234 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 -> 8274 
     11                8278 8279 8280 8283 8284 8285 -> 8287 
    1112 
    1213    skipped patches (depends, already there, ...) 
     
    1617        --- current try above 
    1718 
    18  
    19     not reviewed: 8275:HEAD 
     19    not reviewed: 8288:HEAD 
    2020 
    2121BRANCH->TRUNK 
  • branches/e4fix/AISC_MKPTPS/mkptypes.cxx

    r8274 r8287  
    14801480} 
    14811481 
     1482static int string_comparator(const void *v0, const void *v1) { 
     1483    return strcmp(*(const char **)v0, *(const char **)v1); 
     1484} 
     1485 
    14821486int ARB_main(int argc, const char *argv[]) { 
    14831487    FILE *f; 
     
    16521656    } 
    16531657    else { 
     1658        const char *filename[1000]; 
     1659        int         fcount = 0; 
    16541660 
    16551661        while (argc > 0 && *argv) { 
     1662            filename[fcount++] = *argv; 
     1663            argc--; argv++; 
     1664        } 
     1665 
     1666        qsort(&filename, fcount, sizeof(filename[0]), string_comparator); 
     1667 
     1668        for (int i = 0; i<fcount; ++i) { 
    16561669            DEBUG_PRINT("trying new file '"); 
    1657             DEBUG_PRINT(*argv); 
     1670            DEBUG_PRINT(filename[i]); 
    16581671            DEBUG_PRINT("'\n"); 
    16591672 
    1660             if (!(f = fopen(*argv, "r"))) { 
    1661                 perror(*argv); 
     1673            if (!(f = fopen(filename[i], "r"))) { 
     1674                perror(filename[i]); 
    16621675                exit(EXIT_FAILURE); 
    16631676            } 
     
    16671680            newline_seen = 1; 
    16681681            glastc       = ' '; 
    1669             getdecl(f, *argv); 
    1670             argc--; argv++; 
     1682            getdecl(f, filename[i]); 
    16711683            fclose(f); 
    16721684 
  • branches/e4fix/ARBDB/ad_prot.h

    r8274 r8287  
    1313#endif 
    1414 
     15 
     16/* adExperiment.cxx */ 
     17GBDATA *EXP_get_experiment_data(GBDATA *gb_species); 
     18GBDATA *EXP_find_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 
     19GBDATA *EXP_find_experiment(GBDATA *gb_species, const char *name); 
     20GBDATA *EXP_expect_experiment(GBDATA *gb_species, const char *name); 
     21GBDATA *EXP_first_experiment_rel_exp_data(GBDATA *gb_experiment_data); 
     22GBDATA *EXP_next_experiment(GBDATA *gb_experiment); 
     23GBDATA *EXP_find_or_create_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 
     24 
     25/* adGene.cxx */ 
     26bool GEN_is_genome_db(GBDATA *gb_main, int default_value); 
     27GBDATA *GEN_findOrCreate_gene_data(GBDATA *gb_species); 
     28GBDATA *GEN_find_gene_data(GBDATA *gb_species); 
     29GBDATA *GEN_expect_gene_data(GBDATA *gb_species); 
     30GBDATA *GEN_find_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
     31GBDATA *GEN_find_gene(GBDATA *gb_species, const char *name); 
     32GBDATA *GEN_create_nonexisting_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
     33GBDATA *GEN_create_nonexisting_gene(GBDATA *gb_species, const char *name); 
     34GBDATA *GEN_find_or_create_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
     35GBDATA *GEN_find_or_create_gene(GBDATA *gb_species, const char *name); 
     36GBDATA *GEN_first_gene(GBDATA *gb_species); 
     37GBDATA *GEN_first_gene_rel_gene_data(GBDATA *gb_gene_data); 
     38GBDATA *GEN_next_gene(GBDATA *gb_gene); 
     39GBDATA *GEN_first_marked_gene(GBDATA *gb_species); 
     40GBDATA *GEN_next_marked_gene(GBDATA *gb_gene); 
     41GEN_position *GEN_new_position(int parts, bool joinable); 
     42void GEN_use_uncertainties(GEN_position *pos); 
     43void GEN_free_position(GEN_position *pos); 
     44GEN_position *GEN_read_position(GBDATA *gb_gene); 
     45GB_ERROR GEN_write_position(GBDATA *gb_gene, const GEN_position *pos); 
     46void GEN_sortAndMergeLocationParts(GEN_position *location); 
     47const char *GEN_origin_organism(GBDATA *gb_pseudo); 
     48const char *GEN_origin_gene(GBDATA *gb_pseudo); 
     49bool GEN_is_pseudo_gene_species(GBDATA *gb_species); 
     50GB_ERROR GEN_organism_not_found(GBDATA *gb_pseudo); 
     51GBDATA *GEN_read_pseudo_species_from_hash(GB_HASH *pseudo_hash, const char *organism_name, const char *gene_name); 
     52void GEN_add_pseudo_species_to_hash(GBDATA *gb_pseudo, GB_HASH *pseudo_hash); 
     53GB_HASH *GEN_create_pseudo_species_hash(GBDATA *gb_main, int additionalSize); 
     54GBDATA *GEN_find_pseudo_species(GBDATA *gb_main, const char *organism_name, const char *gene_name, GB_HASH *pseudo_hash); 
     55GBDATA *GEN_find_origin_organism(GBDATA *gb_pseudo, GB_HASH *organism_hash); 
     56GBDATA *GEN_find_origin_gene(GBDATA *gb_pseudo, GB_HASH *organism_hash); 
     57GBDATA *GEN_first_pseudo_species(GBDATA *gb_main); 
     58GBDATA *GEN_first_pseudo_species_rel_species_data(GBDATA *gb_species_data); 
     59GBDATA *GEN_next_pseudo_species(GBDATA *gb_species); 
     60GBDATA *GEN_first_marked_pseudo_species(GBDATA *gb_main); 
     61GBDATA *GEN_next_marked_pseudo_species(GBDATA *gb_species); 
     62bool GEN_is_organism(GBDATA *gb_species); 
     63GBDATA *GEN_find_organism(GBDATA *gb_main, const char *name); 
     64GBDATA *GEN_first_organism(GBDATA *gb_main); 
     65GBDATA *GEN_next_organism(GBDATA *gb_organism); 
     66long GEN_get_organism_count(GBDATA *gb_main); 
     67GBDATA *GEN_first_marked_organism(GBDATA *gb_main); 
     68GBDATA *GEN_next_marked_organism(GBDATA *gb_organism); 
     69char *GEN_global_gene_identifier(GBDATA *gb_gene, GBDATA *gb_organism); 
    1570 
    1671/* adTest.cxx */ 
     
    3893GB_ERROR GB_save_quick(GBDATA *gb, const char *refpath); 
    3994void GB_disable_path(GBDATA *gbd, const char *path); 
     95 
     96/* adcache.cxx */ 
     97char *GB_set_cache_size(GBDATA *gbd, size_t size); 
    4098 
    4199/* adcomm.cxx */ 
     
    50108GB_ERROR GB_install_pid(int mode); 
    51109const char *GB_date_string(void); 
     110 
     111/* adcompr.cxx */ 
     112bool GB_is_dictionary_compressed(GBDATA *gbd); 
     113 
     114/* adfile.cxx */ 
     115GB_CSTR GB_getcwd(void); 
     116char *GB_find_all_files(const char *dir, const char *mask, bool filename_only); 
     117char *GB_find_latest_file(const char *dir, const char *mask); 
     118const char *GB_existing_file(const char *file, bool warn_when_not_found); 
     119char *GB_lib_file(bool warn_when_not_found, const char *libprefix, const char *filename); 
     120char *GB_property_file(bool warn_when_not_found, const char *filename); 
     121void GBS_read_dir(StrArray &names, const char *dir, const char *mask); 
     122bool GB_test_textfile_difflines(const char *file1, const char *file2, int expected_difflines, int special_mode); 
     123size_t GB_test_mem_equal(const unsigned char *buf1, const unsigned char *buf2, size_t common); 
     124bool GB_test_files_equal(const char *file1, const char *file2); 
     125void GBT_transform_names(StrArray &dest, const StrArray &source, char *transform (const char *, void *), void *client_data); 
    52126 
    53127/* adhash.cxx */ 
     
    81155void GBS_free_numhash(GB_NUMHASH *hs); 
    82156 
    83 /* adcache.cxx */ 
    84 char *GB_set_cache_size(GBDATA *gbd, size_t size); 
    85  
    86157/* adhashtools.cxx */ 
    87158void GBT_add_item_to_hash(GBDATA *gb_item, GB_HASH *item_hash); 
     
    92163GB_HASH *GBT_create_organism_hash(GBDATA *gb_main); 
    93164 
     165/* adindex.cxx */ 
     166GB_ERROR GB_create_index(GBDATA *gbd, const char *key, GB_CASE case_sens, long estimated_size) __ATTR__USERESULT; 
     167NOT4PERL void GB_dump_indices(GBDATA *gbd); 
     168GB_ERROR GB_request_undo_type(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT_TODO; 
     169GB_UNDO_TYPE GB_get_requested_undo_type(GBDATA *gb_main); 
     170GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT; 
     171char *GB_undo_info(GBDATA *gb_main, GB_UNDO_TYPE type); 
     172GB_ERROR GB_set_undo_mem(GBDATA *gbd, long memsize); 
     173 
    94174/* adlang1.cxx */ 
    95175NOT4PERL void GB_set_export_sequence_hook(gb_export_sequence_cb escb); 
     
    105185NOT4PERL void *GB_recalloc(void *ptr, unsigned int oelem, unsigned int nelem, unsigned int elsize); 
    106186void GB_memerr(void); 
     187 
     188/* admap.cxx */ 
     189bool GB_supports_mapfile(void); 
    107190 
    108191/* admatch.cxx */ 
     
    130213/* adperl.cxx */ 
    131214GB_ERROR GBC_await_error(void); 
     215 
     216/* adquery.cxx */ 
     217const char *GB_get_GBDATA_path(GBDATA *gbd); 
     218GBDATA *GB_find_sub_by_quark(GBDATA *father, GBQUARK key_quark, GBDATA *after, size_t skip_over); 
     219NOT4PERL GBDATA *GB_find_subcontent_by_quark(GBDATA *father, GBQUARK key_quark, GB_TYPES type, const char *val, GB_CASE case_sens, GBDATA *after, size_t skip_over); 
     220GBDATA *GB_find(GBDATA *gbd, const char *key, GB_SEARCH_TYPE gbs); 
     221GBDATA *GB_find_string(GBDATA *gbd, const char *key, const char *str, GB_CASE case_sens, GB_SEARCH_TYPE gbs); 
     222NOT4PERL GBDATA *GB_find_int(GBDATA *gbd, const char *key, long val, GB_SEARCH_TYPE gbs); 
     223GBDATA *GB_child(GBDATA *father); 
     224GBDATA *GB_nextChild(GBDATA *child); 
     225GBDATA *GB_entry(GBDATA *father, const char *key); 
     226GBDATA *GB_nextEntry(GBDATA *entry); 
     227GBDATA *GB_followingEntry(GBDATA *entry, size_t skip_over); 
     228GBDATA *GB_brother(GBDATA *entry, const char *key); 
     229char *GB_first_non_key_char(const char *str); 
     230GBDATA *GB_search(GBDATA *gbd, const char *fieldpath, GB_TYPES create); 
     231GBDATA *GB_searchOrCreate_string(GBDATA *gb_container, const char *fieldpath, const char *default_value); 
     232GBDATA *GB_searchOrCreate_int(GBDATA *gb_container, const char *fieldpath, long default_value); 
     233GBDATA *GB_searchOrCreate_float(GBDATA *gb_container, const char *fieldpath, double default_value); 
     234GBDATA *GB_search_last_son(GBDATA *gbd); 
     235long GB_number_of_marked_subentries(GBDATA *gbd); 
     236GBDATA *GB_first_marked(GBDATA *gbd, const char *keystring); 
     237GBDATA *GB_following_marked(GBDATA *gbd, const char *keystring, size_t skip_over); 
     238GBDATA *GB_next_marked(GBDATA *gbd, const char *keystring); 
     239char *GB_command_interpreter(GBDATA *gb_main, const char *str, const char *commands, GBDATA *gbd, const char *default_tree_name); 
     240 
     241/* adsocket.cxx */ 
     242void GB_usleep(long usec); 
     243char *GB_read_fp(FILE *in); 
     244char *GB_read_file(const char *path); 
     245char *GB_map_FILE(FILE *in, int writeable); 
     246char *GB_map_file(const char *path, int writeable); 
     247GB_ULONG GB_time_of_day(void); 
     248long GB_last_saved_clock(GBDATA *gb_main); 
     249GB_ULONG GB_last_saved_time(GBDATA *gb_main); 
     250GB_ERROR GB_textprint(const char *path) __ATTR__USERESULT; 
     251GB_ERROR GB_xterm(void) __ATTR__USERESULT; 
     252GB_ERROR GB_xcmd(const char *cmd, bool background, bool wait_only_if_error) __ATTR__USERESULT_TODO; 
     253char *GB_executable(GB_CSTR exe_name); 
     254char *GB_find_executable(GB_CSTR description_of_executable, ...) __ATTR__SENTINEL; 
     255void GB_setenv(const char *var, const char *value); 
     256GB_CSTR GB_getenvARB_XTERM(void); 
     257GB_CSTR GB_getenvARB_XCMD(void); 
     258GB_CSTR GB_getenvUSER(void); 
     259GB_CSTR GB_getenvHOME(void); 
     260GB_CSTR GB_getenvARBHOME(void); 
     261GB_CSTR GB_getenvARBMACRO(void); 
     262GB_CSTR GB_getenvARBMACROHOME(void); 
     263GB_CSTR GB_getenvARBCONFIG(void); 
     264GB_CSTR GB_getenvPATH(void); 
     265GB_CSTR GB_getenvARB_GS(void); 
     266GB_CSTR GB_getenvARB_PDFVIEW(void); 
     267GB_CSTR GB_getenvARB_TEXTEDIT(void); 
     268GB_CSTR GB_getenvDOCPATH(void); 
     269GB_CSTR GB_getenvHTMLDOCPATH(void); 
     270NOT4PERL gb_getenv_hook GB_install_getenv_hook(gb_getenv_hook hook); 
     271GB_CSTR GB_getenv(const char *env); 
     272bool GB_host_is_local(const char *hostname); 
     273GB_ULONG GB_get_physical_memory(void); 
     274GB_CSTR GB_append_suffix(const char *name, const char *suffix); 
     275GB_CSTR GB_canonical_path(const char *anypath); 
     276GB_CSTR GB_concat_path(GB_CSTR anypath_left, GB_CSTR anypath_right); 
     277GB_CSTR GB_concat_full_path(const char *anypath_left, const char *anypath_right); 
     278GB_CSTR GB_unfold_path(const char *pwd_envar, const char *path); 
     279GB_CSTR GB_path_in_ARBHOME(const char *relative_path); 
     280GB_CSTR GB_path_in_ARBLIB(const char *relative_path); 
     281GB_CSTR GB_path_in_arbprop(const char *relative_path); 
     282GB_CSTR GB_path_in_ARBHOME(const char *relative_path_left, const char *anypath_right); 
     283GB_CSTR GB_path_in_ARBLIB(const char *relative_path_left, const char *anypath_right); 
     284FILE *GB_fopen_tempfile(const char *filename, const char *fmode, char **res_fullname); 
     285char *GB_create_tempfile(const char *name); 
     286char *GB_unique_filename(const char *name_prefix, const char *suffix); 
     287void GB_remove_on_exit(const char *filename); 
     288void GB_split_full_path(const char *fullpath, char **res_dir, char **res_fullname, char **res_name_only, char **res_suffix); 
    132289 
    133290/* adstring.cxx */ 
     
    158315char *GBS_trim(const char *str); 
    159316char *GBS_log_dated_action_to(const char *comment, const char *action); 
    160  
    161 /* adfile.cxx */ 
    162 GB_CSTR GB_getcwd(void); 
    163 char *GB_find_all_files(const char *dir, const char *mask, bool filename_only); 
    164 char *GB_find_latest_file(const char *dir, const char *mask); 
    165 const char *GB_existing_file(const char *file, bool warn_when_not_found); 
    166 char *GB_lib_file(bool warn_when_not_found, const char *libprefix, const char *filename); 
    167 char *GB_property_file(bool warn_when_not_found, const char *filename); 
    168 void GBS_read_dir(StrArray &names, const char *dir, const char *mask); 
    169 bool GB_test_textfile_difflines(const char *file1, const char *file2, int expected_difflines, int special_mode); 
    170 size_t GB_test_mem_equal(const unsigned char *buf1, const unsigned char *buf2, size_t common); 
    171 bool GB_test_files_equal(const char *file1, const char *file2); 
    172 void GBT_transform_names(StrArray &dest, const StrArray &source, char *transform (const char *, void *), void *client_data); 
    173317 
    174318/* adsystem.cxx */ 
     
    326470long GB_number_of_subentries(GBDATA *gbd); 
    327471 
    328 /* adExperiment.cxx */ 
    329 GBDATA *EXP_get_experiment_data(GBDATA *gb_species); 
    330 GBDATA *EXP_find_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 
    331 GBDATA *EXP_find_experiment(GBDATA *gb_species, const char *name); 
    332 GBDATA *EXP_expect_experiment(GBDATA *gb_species, const char *name); 
    333 GBDATA *EXP_first_experiment_rel_exp_data(GBDATA *gb_experiment_data); 
    334 GBDATA *EXP_next_experiment(GBDATA *gb_experiment); 
    335 GBDATA *EXP_find_or_create_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 
    336  
    337 /* adGene.cxx */ 
    338 bool GEN_is_genome_db(GBDATA *gb_main, int default_value); 
    339 GBDATA *GEN_findOrCreate_gene_data(GBDATA *gb_species); 
    340 GBDATA *GEN_find_gene_data(GBDATA *gb_species); 
    341 GBDATA *GEN_expect_gene_data(GBDATA *gb_species); 
    342 GBDATA *GEN_find_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
    343 GBDATA *GEN_find_gene(GBDATA *gb_species, const char *name); 
    344 GBDATA *GEN_create_nonexisting_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
    345 GBDATA *GEN_create_nonexisting_gene(GBDATA *gb_species, const char *name); 
    346 GBDATA *GEN_find_or_create_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 
    347 GBDATA *GEN_find_or_create_gene(GBDATA *gb_species, const char *name); 
    348 GBDATA *GEN_first_gene(GBDATA *gb_species); 
    349 GBDATA *GEN_first_gene_rel_gene_data(GBDATA *gb_gene_data); 
    350 GBDATA *GEN_next_gene(GBDATA *gb_gene); 
    351 GBDATA *GEN_first_marked_gene(GBDATA *gb_species); 
    352 GBDATA *GEN_next_marked_gene(GBDATA *gb_gene); 
    353 GEN_position *GEN_new_position(int parts, bool joinable); 
    354 void GEN_use_uncertainties(GEN_position *pos); 
    355 void GEN_free_position(GEN_position *pos); 
    356 GEN_position *GEN_read_position(GBDATA *gb_gene); 
    357 GB_ERROR GEN_write_position(GBDATA *gb_gene, const GEN_position *pos); 
    358 void GEN_sortAndMergeLocationParts(GEN_position *location); 
    359 const char *GEN_origin_organism(GBDATA *gb_pseudo); 
    360 const char *GEN_origin_gene(GBDATA *gb_pseudo); 
    361 bool GEN_is_pseudo_gene_species(GBDATA *gb_species); 
    362 GB_ERROR GEN_organism_not_found(GBDATA *gb_pseudo); 
    363 GBDATA *GEN_read_pseudo_species_from_hash(GB_HASH *pseudo_hash, const char *organism_name, const char *gene_name); 
    364 void GEN_add_pseudo_species_to_hash(GBDATA *gb_pseudo, GB_HASH *pseudo_hash); 
    365 GB_HASH *GEN_create_pseudo_species_hash(GBDATA *gb_main, int additionalSize); 
    366 GBDATA *GEN_find_pseudo_species(GBDATA *gb_main, const char *organism_name, const char *gene_name, GB_HASH *pseudo_hash); 
    367 GBDATA *GEN_find_origin_organism(GBDATA *gb_pseudo, GB_HASH *organism_hash); 
    368 GBDATA *GEN_find_origin_gene(GBDATA *gb_pseudo, GB_HASH *organism_hash); 
    369 GBDATA *GEN_first_pseudo_species(GBDATA *gb_main); 
    370 GBDATA *GEN_first_pseudo_species_rel_species_data(GBDATA *gb_species_data); 
    371 GBDATA *GEN_next_pseudo_species(GBDATA *gb_species); 
    372 GBDATA *GEN_first_marked_pseudo_species(GBDATA *gb_main); 
    373 GBDATA *GEN_next_marked_pseudo_species(GBDATA *gb_species); 
    374 bool GEN_is_organism(GBDATA *gb_species); 
    375 GBDATA *GEN_find_organism(GBDATA *gb_main, const char *name); 
    376 GBDATA *GEN_first_organism(GBDATA *gb_main); 
    377 GBDATA *GEN_next_organism(GBDATA *gb_organism); 
    378 long GEN_get_organism_count(GBDATA *gb_main); 
    379 GBDATA *GEN_first_marked_organism(GBDATA *gb_main); 
    380 GBDATA *GEN_next_marked_organism(GBDATA *gb_organism); 
    381 char *GEN_global_gene_identifier(GBDATA *gb_gene, GBDATA *gb_organism); 
    382  
    383 /* adcompr.cxx */ 
    384 bool GB_is_dictionary_compressed(GBDATA *gbd); 
    385  
    386 /* adindex.cxx */ 
    387 GB_ERROR GB_create_index(GBDATA *gbd, const char *key, GB_CASE case_sens, long estimated_size) __ATTR__USERESULT; 
    388 NOT4PERL void GB_dump_indices(GBDATA *gbd); 
    389 GB_ERROR GB_request_undo_type(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT_TODO; 
    390 GB_UNDO_TYPE GB_get_requested_undo_type(GBDATA *gb_main); 
    391 GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT; 
    392 char *GB_undo_info(GBDATA *gb_main, GB_UNDO_TYPE type); 
    393 GB_ERROR GB_set_undo_mem(GBDATA *gbd, long memsize); 
    394  
    395 /* admap.cxx */ 
    396 bool GB_supports_mapfile(void); 
    397  
    398 /* adquery.cxx */ 
    399 const char *GB_get_GBDATA_path(GBDATA *gbd); 
    400 GBDATA *GB_find_sub_by_quark(GBDATA *father, GBQUARK key_quark, GBDATA *after, size_t skip_over); 
    401 NOT4PERL GBDATA *GB_find_subcontent_by_quark(GBDATA *father, GBQUARK key_quark, GB_TYPES type, const char *val, GB_CASE case_sens, GBDATA *after, size_t skip_over); 
    402 GBDATA *GB_find(GBDATA *gbd, const char *key, GB_SEARCH_TYPE gbs); 
    403 GBDATA *GB_find_string(GBDATA *gbd, const char *key, const char *str, GB_CASE case_sens, GB_SEARCH_TYPE gbs); 
    404 NOT4PERL GBDATA *GB_find_int(GBDATA *gbd, const char *key, long val, GB_SEARCH_TYPE gbs); 
    405 GBDATA *GB_child(GBDATA *father); 
    406 GBDATA *GB_nextChild(GBDATA *child); 
    407 GBDATA *GB_entry(GBDATA *father, const char *key); 
    408 GBDATA *GB_nextEntry(GBDATA *entry); 
    409 GBDATA *GB_followingEntry(GBDATA *entry, size_t skip_over); 
    410 GBDATA *GB_brother(GBDATA *entry, const char *key); 
    411 char *GB_first_non_key_char(const char *str); 
    412 GBDATA *GB_search(GBDATA *gbd, const char *fieldpath, GB_TYPES create); 
    413 GBDATA *GB_searchOrCreate_string(GBDATA *gb_container, const char *fieldpath, const char *default_value); 
    414 GBDATA *GB_searchOrCreate_int(GBDATA *gb_container, const char *fieldpath, long default_value); 
    415 GBDATA *GB_searchOrCreate_float(GBDATA *gb_container, const char *fieldpath, double default_value); 
    416 GBDATA *GB_search_last_son(GBDATA *gbd); 
    417 long GB_number_of_marked_subentries(GBDATA *gbd); 
    418 GBDATA *GB_first_marked(GBDATA *gbd, const char *keystring); 
    419 GBDATA *GB_following_marked(GBDATA *gbd, const char *keystring, size_t skip_over); 
    420 GBDATA *GB_next_marked(GBDATA *gbd, const char *keystring); 
    421 char *GB_command_interpreter(GBDATA *gb_main, const char *str, const char *commands, GBDATA *gbd, const char *default_tree_name); 
    422  
    423 /* adsocket.cxx */ 
    424 void GB_usleep(long usec); 
    425 char *GB_read_fp(FILE *in); 
    426 char *GB_read_file(const char *path); 
    427 char *GB_map_FILE(FILE *in, int writeable); 
    428 char *GB_map_file(const char *path, int writeable); 
    429 GB_ULONG GB_time_of_day(void); 
    430 long GB_last_saved_clock(GBDATA *gb_main); 
    431 GB_ULONG GB_last_saved_time(GBDATA *gb_main); 
    432 GB_ERROR GB_textprint(const char *path) __ATTR__USERESULT; 
    433 GB_ERROR GB_xterm(void) __ATTR__USERESULT; 
    434 GB_ERROR GB_xcmd(const char *cmd, bool background, bool wait_only_if_error) __ATTR__USERESULT_TODO; 
    435 char *GB_executable(GB_CSTR exe_name); 
    436 char *GB_find_executable(GB_CSTR description_of_executable, ...) __ATTR__SENTINEL; 
    437 void GB_setenv(const char *var, const char *value); 
    438 GB_CSTR GB_getenvARB_XTERM(void); 
    439 GB_CSTR GB_getenvARB_XCMD(void); 
    440 GB_CSTR GB_getenvUSER(void); 
    441 GB_CSTR GB_getenvHOME(void); 
    442 GB_CSTR GB_getenvARBHOME(void); 
    443 GB_CSTR GB_getenvARBMACRO(void); 
    444 GB_CSTR GB_getenvARBMACROHOME(void); 
    445 GB_CSTR GB_getenvARBCONFIG(void); 
    446 GB_CSTR GB_getenvPATH(void); 
    447 GB_CSTR GB_getenvARB_GS(void); 
    448 GB_CSTR GB_getenvARB_PDFVIEW(void); 
    449 GB_CSTR GB_getenvARB_TEXTEDIT(void); 
    450 GB_CSTR GB_getenvDOCPATH(void); 
    451 GB_CSTR GB_getenvHTMLDOCPATH(void); 
    452 NOT4PERL gb_getenv_hook GB_install_getenv_hook(gb_getenv_hook hook); 
    453 GB_CSTR GB_getenv(const char *env); 
    454 bool GB_host_is_local(const char *hostname); 
    455 GB_ULONG GB_get_physical_memory(void); 
    456 GB_CSTR GB_append_suffix(const char *name, const char *suffix); 
    457 GB_CSTR GB_canonical_path(const char *anypath); 
    458 GB_CSTR GB_concat_path(GB_CSTR anypath_left, GB_CSTR anypath_right); 
    459 GB_CSTR GB_concat_full_path(const char *anypath_left, const char *anypath_right); 
    460 GB_CSTR GB_unfold_path(const char *pwd_envar, const char *path); 
    461 GB_CSTR GB_path_in_ARBHOME(const char *relative_path); 
    462 GB_CSTR GB_path_in_ARBLIB(const char *relative_path); 
    463 GB_CSTR GB_path_in_arbprop(const char *relative_path); 
    464 GB_CSTR GB_path_in_ARBHOME(const char *relative_path_left, const char *anypath_right); 
    465 GB_CSTR GB_path_in_ARBLIB(const char *relative_path_left, const char *anypath_right); 
    466 FILE *GB_fopen_tempfile(const char *filename, const char *fmode, char **res_fullname); 
    467 char *GB_create_tempfile(const char *name); 
    468 char *GB_unique_filename(const char *name_prefix, const char *suffix); 
    469 void GB_remove_on_exit(const char *filename); 
    470 void GB_split_full_path(const char *fullpath, char **res_dir, char **res_fullname, char **res_name_only, char **res_suffix); 
    471  
    472472#else 
    473473#error ad_prot.h included twice 
  • branches/e4fix/ARBDB/ad_t_prot.h

    r8037 r8287  
    2929NOT4PERL GB_ERROR GBT_determine_T_or_U(GB_alignment_type alignment_type, char *T_or_U, const char *supposed_target); 
    3030NOT4PERL void GBT_reverseComplementNucSequence(char *seq, long length, char T_or_U); 
     31 
     32/* adali.cxx */ 
     33int GBT_count_alignments(GBDATA *gb_main); 
     34GB_ERROR GBT_check_data(GBDATA *Main, const char *alignment_name); 
     35void GBT_get_alignment_names(ConstStrArray &names, GBDATA *gbd); 
     36GB_ERROR GBT_check_alignment_name(const char *alignment_name); 
     37GBDATA *GBT_create_alignment(GBDATA *gbd, const char *name, long len, long aligned, long security, const char *type); 
     38NOT4PERL GB_ERROR GBT_check_alignment(GBDATA *gb_main, GBDATA *preset_alignment, GB_HASH *species_name_hash); 
     39GB_ERROR GBT_rename_alignment(GBDATA *gbMain, const char *source, const char *dest, int copy, int dele); 
     40NOT4PERL GBDATA *GBT_add_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type) __ATTR__DEPRECATED_TODO("better use GBT_create_sequence_data()"); 
     41NOT4PERL GBDATA *GBT_create_sequence_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type, int security_write); 
     42GB_ERROR GBT_write_sequence(GBDATA *gb_data, const char *ali_name, long ali_len, const char *sequence); 
     43GBDATA *GBT_gen_accession_number(GBDATA *gb_species, const char *ali_name); 
     44int GBT_is_partial(GBDATA *gb_species, int default_value, int define_if_undef); 
     45GBDATA *GBT_read_sequence(GBDATA *gb_species, const char *aliname); 
     46char *GBT_get_default_alignment(GBDATA *gb_main); 
     47GB_ERROR GBT_set_default_alignment(GBDATA *gb_main, const char *alignment_name); 
     48GBDATA *GBT_get_alignment(GBDATA *gb_main, const char *aliname); 
     49long GBT_get_alignment_len(GBDATA *gb_main, const char *aliname); 
     50GB_ERROR GBT_set_alignment_len(GBDATA *gb_main, const char *aliname, long new_len); 
     51int GBT_get_alignment_aligned(GBDATA *gb_main, const char *aliname); 
     52char *GBT_get_alignment_type_string(GBDATA *gb_main, const char *aliname); 
     53GB_alignment_type GBT_get_alignment_type(GBDATA *gb_main, const char *aliname); 
     54bool GBT_is_alignment_protein(GBDATA *gb_main, const char *alignment_name); 
     55NOT4PERL char *GBT_read_gene_sequence_and_length(GBDATA *gb_gene, bool use_revComplement, char partSeparator, size_t *gene_length); 
     56char *GBT_read_gene_sequence(GBDATA *gb_gene, bool use_revComplement, char partSeparator); 
    3157 
    3258/* adcolumns.cxx */ 
     
    162188char *GBT_existing_tree(GBDATA *gb_main, const char *tree_name); 
    163189 
    164 /* adali.cxx */ 
    165 int GBT_count_alignments(GBDATA *gb_main); 
    166 GB_ERROR GBT_check_data(GBDATA *Main, const char *alignment_name); 
    167 void GBT_get_alignment_names(ConstStrArray &names, GBDATA *gbd); 
    168 GB_ERROR GBT_check_alignment_name(const char *alignment_name); 
    169 GBDATA *GBT_create_alignment(GBDATA *gbd, const char *name, long len, long aligned, long security, const char *type); 
    170 NOT4PERL GB_ERROR GBT_check_alignment(GBDATA *gb_main, GBDATA *preset_alignment, GB_HASH *species_name_hash); 
    171 GB_ERROR GBT_rename_alignment(GBDATA *gbMain, const char *source, const char *dest, int copy, int dele); 
    172 NOT4PERL GBDATA *GBT_add_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type) __ATTR__DEPRECATED_TODO("better use GBT_create_sequence_data()"); 
    173 NOT4PERL GBDATA *GBT_create_sequence_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type, int security_write); 
    174 GB_ERROR GBT_write_sequence(GBDATA *gb_data, const char *ali_name, long ali_len, const char *sequence); 
    175 GBDATA *GBT_gen_accession_number(GBDATA *gb_species, const char *ali_name); 
    176 int GBT_is_partial(GBDATA *gb_species, int default_value, int define_if_undef); 
    177 GBDATA *GBT_read_sequence(GBDATA *gb_species, const char *aliname); 
    178 char *GBT_get_default_alignment(GBDATA *gb_main); 
    179 GB_ERROR GBT_set_default_alignment(GBDATA *gb_main, const char *alignment_name); 
    180 GBDATA *GBT_get_alignment(GBDATA *gb_main, const char *aliname); 
    181 long GBT_get_alignment_len(GBDATA *gb_main, const char *aliname); 
    182 GB_ERROR GBT_set_alignment_len(GBDATA *gb_main, const char *aliname, long new_len); 
    183 int GBT_get_alignment_aligned(GBDATA *gb_main, const char *aliname); 
    184 char *GBT_get_alignment_type_string(GBDATA *gb_main, const char *aliname); 
    185 GB_alignment_type GBT_get_alignment_type(GBDATA *gb_main, const char *aliname); 
    186 bool GBT_is_alignment_protein(GBDATA *gb_main, const char *alignment_name); 
    187 NOT4PERL char *GBT_read_gene_sequence_and_length(GBDATA *gb_gene, bool use_revComplement, char partSeparator, size_t *gene_length); 
    188 char *GBT_read_gene_sequence(GBDATA *gb_gene, bool use_revComplement, char partSeparator); 
    189  
    190190#else 
    191191#error ad_t_prot.h included twice 
  • branches/e4fix/ARBDB/gb_prot.h

    r8274 r8287  
    1313#endif 
    1414 
    15  
    16 /* ad_load.cxx */ 
    17 GB_ERROR gb_read_ascii(const char *path, GBCONTAINER *gbd); 
    18 long gb_read_bin_rek(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed); 
    19 long gb_recover_corrupt_file(GBCONTAINER *gbd, FILE *in, GB_ERROR recovery_reason); 
    20 long gb_read_bin_rek_V2(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed, long deep); 
    21 GBDATA *gb_search_system_folder_rek(GBDATA *gbd); 
    22 void gb_search_system_folder(GBDATA *gb_main); 
    23 long gb_read_bin(FILE *in, GBCONTAINER *gbd, int diff_file_allowed); 
    24 GB_MAIN_IDX gb_make_main_idx(GB_MAIN_TYPE *Main); 
    25 void gb_release_main_idx(GB_MAIN_TYPE *Main); 
    26 GB_ERROR gb_login_remote(GB_MAIN_TYPE *Main, const char *path, const char *opent); 
    27  
    28 /* ad_save_load.cxx */ 
    29 char *gb_findExtension(char *path); 
    30 GB_CSTR gb_oldQuicksaveName(GB_CSTR path, int nr); 
    31 GB_CSTR gb_quicksaveName(GB_CSTR path, int nr); 
    32 GB_CSTR gb_mapfile_name(GB_CSTR path); 
    33 GB_CSTR gb_overwriteName(GB_CSTR path); 
    34 GB_CSTR gb_reffile_name(GB_CSTR path); 
    35 GB_ERROR gb_delete_reference(const char *master); 
    36 GB_ERROR gb_create_reference(const char *master); 
    37 GB_ERROR gb_add_reference(const char *master, const char *changes); 
    38 GB_ERROR gb_remove_all_but_main(GB_MAIN_TYPE *Main, const char *path); 
    39 long gb_ascii_2_bin(const char *source, GBDATA *gbd); 
    40 GB_BUFFER gb_bin_2_ascii(GBDATA *gbd); 
    41 long gb_read_in_long(FILE *in, long reversed); 
    42 long gb_read_number(FILE *in); 
    43 void gb_put_number(long i, FILE *out); 
    44 long gb_read_bin_error(FILE *in, GBDATA *gbd, const char *text); 
    45 long gb_write_out_long(long data, FILE *out); 
    46 int gb_is_writeable(gb_header_list *header, GBDATA *gbd, long version, long diff_save); 
    47 int gb_write_bin_sub_containers(FILE *out, GBCONTAINER *gbc, long version, long diff_save, int is_root); 
    48 long gb_write_bin_rek(FILE *out, GBDATA *gbd, long version, long diff_save, long index_of_master_file); 
    49 int gb_write_bin(FILE *out, GBDATA *gbd, long version); 
    50 char *gb_full_path(const char *path); 
    51 GB_ERROR gb_check_saveable(GBDATA *gbd, const char *path, const char *flags); 
    52  
    53 /* adcomm.cxx */ 
    54 GB_ERROR gbcm_unfold_client(GBCONTAINER *gbd, long deep, long index_pos) __ATTR__USERESULT; 
    55 GB_ERROR gbcmc_begin_sendupdate(GBDATA *gbd); 
    56 GB_ERROR gbcmc_end_sendupdate(GBDATA *gbd); 
    57 GB_ERROR gbcmc_sendupdate_create(GBDATA *gbd); 
    58 GB_ERROR gbcmc_sendupdate_delete(GBDATA *gbd); 
    59 GB_ERROR gbcmc_sendupdate_update(GBDATA *gbd, int send_headera); 
    60 GB_ERROR gbcmc_begin_transaction(GBDATA *gbd); 
    61 GB_ERROR gbcmc_init_transaction(GBCONTAINER *gbd); 
    62 GB_ERROR gbcmc_commit_transaction(GBDATA *gbd); 
    63 GB_ERROR gbcmc_abort_transaction(GBDATA *gbd); 
    64 GB_ERROR gbcms_add_to_delete_list(GBDATA *gbd); 
    65 long gbcmc_key_alloc(GBDATA *gbd, const char *key); 
    66 GB_ERROR gbcmc_send_undo_commands(GBDATA *gbd, enum gb_undo_commands command) __ATTR__USERESULT; 
    67 char *gbcmc_send_undo_info_commands(GBDATA *gbd, enum gb_undo_commands command); 
    68 GB_ERROR gbcm_login(GBCONTAINER *gb_main, const char *loginname); 
    69 GBCM_ServerResult gbcmc_close(gbcmc_comm *link); 
    70 GB_ERROR gbcm_logout(GB_MAIN_TYPE *Main, const char *loginname); 
    71  
    72 /* adhash.cxx */ 
    73 size_t gbs_get_a_prime(size_t above_or_equal_this); 
    74  
    75 /* adcache.cxx */ 
    76 void gb_init_cache(GB_MAIN_TYPE *Main); 
    77 void gb_destroy_cache(GB_MAIN_TYPE *Main); 
    78 char *gb_read_cache(GBDATA *gbd); 
    79 void gb_free_cache(GB_MAIN_TYPE *Main, GBDATA *gbd); 
    80 char *gb_alloc_cache_index(GBDATA *gbd, size_t size); 
    81 void gb_flush_cache(GBDATA *gbd); 
    82  
    83 /* adlang1.cxx */ 
    84 void gbl_install_standard_commands(GBDATA *gb_main); 
    85  
    86 /* admalloc.cxx */ 
    87 void gbm_flush_mem(void); 
    88 void gbm_init_mem(void); 
    89 void gbm_debug_mem(void); 
    90  
    91 /* adoptimize.cxx */ 
    92 GB_ERROR gb_convert_V2_to_V3(GBDATA *gb_main); 
    93 char *gb_uncompress_by_dictionary(GBDATA *gbd, GB_CSTR s_source, long size, long *new_size); 
    94 char *gb_compress_by_dictionary(GB_DICTIONARY *dict, GB_CSTR s_source, long size, long *msize, int last_flag, int search_backward, int search_forward); 
    95 GB_ERROR gb_create_dictionaries(GB_MAIN_TYPE *Main, long maxmem); 
    96  
    97 /* adstring.cxx */ 
    98 void gbs_uppercase(char *str); 
    99 void gbs_memcopy(char *dest, const char *source, long len); 
    100 char *gbs_add_path(char *path, char *name); 
    101  
    102 /* adfile.cxx */ 
    103 GB_ERROR gb_scan_directory(char *basename, gb_scandir *sd) __ATTR__USERESULT_TODO; 
    104  
    105 /* adsystem.cxx */ 
    106 GB_ERROR gb_load_dictionary_data(GBDATA *gb_main, const char *key, char **dict_data, long *size); 
    107 GB_DICTIONARY *gb_create_dict(GBDATA *gb_dict); 
    108 void gb_system_key_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 
    109 void gb_system_master_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 
    110 void gb_load_single_key_data(GBDATA *gb_main, GBQUARK q); 
    111 GB_ERROR gb_save_dictionary_data(GBDATA *gb_main, const char *key, const char *dict, int size); 
    112 GB_ERROR gb_load_key_data_and_dictionaries(GBDATA *gb_main) __ATTR__USERESULT; 
    113  
    114 /* arbdb.cxx */ 
    115 GBDATA *gb_remembered_db(void); 
    116 GB_ERROR gb_unfold(GBCONTAINER *gbd, long deep, int index_pos); 
    117 void gb_close_unclosed_DBs(void); 
    118 int gb_read_nr(GBDATA *gbd); 
    119 GB_ERROR gb_write_compressed_pntr(GBDATA *gbd, const char *s, long memsize, long stored_size); 
    120 int gb_get_compression_mask(GB_MAIN_TYPE *Main, GBQUARK key, int gb_type); 
    121 GB_ERROR gb_security_error(GBDATA *gbd) __ATTR__USERESULT; 
    122 GB_CSTR gb_read_key_pntr(GBDATA *gbd); 
    123 GBQUARK gb_key_2_existing_quark(GB_MAIN_TYPE *Main, const char *key); 
    124 GBQUARK gb_key_2_quark(GB_MAIN_TYPE *Main, const char *key); 
    125 GBDATA *gb_create(GBDATA *father, const char *key, GB_TYPES type); 
    126 GBDATA *gb_create_container(GBDATA *father, const char *key); 
    127 void gb_rename(GBCONTAINER *gbc, const char *new_key); 
    128 GB_ERROR gb_delete_force(GBDATA *source); 
    129 GB_ERROR gb_set_compression(GBDATA *source); 
    130 GB_ERROR gb_init_transaction(GBCONTAINER *gbd); 
    131 void gb_add_changed_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB_TYPE gbtype, GB_CB func, int *clientdata); 
    132 void gb_add_delete_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB func, int *clientdata); 
    133 GB_ERROR gb_do_callback_list(GB_MAIN_TYPE *Main); 
    134 GB_MAIN_TYPE *gb_get_main_during_cb(void); 
    135 GB_CSTR gb_read_pntr_ts(GBDATA *gbd, gb_transaction_save *ts); 
    136 int gb_info(GBDATA *gbd, int deep); 
    13715 
    13816/* ad_core.cxx */ 
     
    17250GB_ERROR gb_commit_transaction_local_rek(GBDATA *gbd, long mode, int *pson_created); 
    17351 
     52/* ad_load.cxx */ 
     53GB_ERROR gb_read_ascii(const char *path, GBCONTAINER *gbd); 
     54long gb_read_bin_rek(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed); 
     55long gb_recover_corrupt_file(GBCONTAINER *gbd, FILE *in, GB_ERROR recovery_reason); 
     56long gb_read_bin_rek_V2(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed, long deep); 
     57GBDATA *gb_search_system_folder_rek(GBDATA *gbd); 
     58void gb_search_system_folder(GBDATA *gb_main); 
     59long gb_read_bin(FILE *in, GBCONTAINER *gbd, int diff_file_allowed); 
     60GB_MAIN_IDX gb_make_main_idx(GB_MAIN_TYPE *Main); 
     61void gb_release_main_idx(GB_MAIN_TYPE *Main); 
     62GB_ERROR gb_login_remote(GB_MAIN_TYPE *Main, const char *path, const char *opent); 
     63 
     64/* ad_save_load.cxx */ 
     65char *gb_findExtension(char *path); 
     66GB_CSTR gb_oldQuicksaveName(GB_CSTR path, int nr); 
     67GB_CSTR gb_quicksaveName(GB_CSTR path, int nr); 
     68GB_CSTR gb_mapfile_name(GB_CSTR path); 
     69GB_CSTR gb_overwriteName(GB_CSTR path); 
     70GB_CSTR gb_reffile_name(GB_CSTR path); 
     71GB_ERROR gb_delete_reference(const char *master); 
     72GB_ERROR gb_create_reference(const char *master); 
     73GB_ERROR gb_add_reference(const char *master, const char *changes); 
     74GB_ERROR gb_remove_all_but_main(GB_MAIN_TYPE *Main, const char *path); 
     75long gb_ascii_2_bin(const char *source, GBDATA *gbd); 
     76GB_BUFFER gb_bin_2_ascii(GBDATA *gbd); 
     77long gb_read_in_long(FILE *in, long reversed); 
     78long gb_read_number(FILE *in); 
     79void gb_put_number(long i, FILE *out); 
     80long gb_read_bin_error(FILE *in, GBDATA *gbd, const char *text); 
     81long gb_write_out_long(long data, FILE *out); 
     82int gb_is_writeable(gb_header_list *header, GBDATA *gbd, long version, long diff_save); 
     83int gb_write_bin_sub_containers(FILE *out, GBCONTAINER *gbc, long version, long diff_save, int is_root); 
     84long gb_write_bin_rek(FILE *out, GBDATA *gbd, long version, long diff_save, long index_of_master_file); 
     85int gb_write_bin(FILE *out, GBDATA *gbd, long version); 
     86char *gb_full_path(const char *path); 
     87GB_ERROR gb_check_saveable(GBDATA *gbd, const char *path, const char *flags); 
     88 
     89/* adcache.cxx */ 
     90void gb_init_cache(GB_MAIN_TYPE *Main); 
     91void gb_destroy_cache(GB_MAIN_TYPE *Main); 
     92char *gb_read_cache(GBDATA *gbd); 
     93void gb_free_cache(GB_MAIN_TYPE *Main, GBDATA *gbd); 
     94char *gb_alloc_cache_index(GBDATA *gbd, size_t size); 
     95void gb_flush_cache(GBDATA *gbd); 
     96 
     97/* adcomm.cxx */ 
     98GB_ERROR gbcm_unfold_client(GBCONTAINER *gbd, long deep, long index_pos) __ATTR__USERESULT; 
     99GB_ERROR gbcmc_begin_sendupdate(GBDATA *gbd); 
     100GB_ERROR gbcmc_end_sendupdate(GBDATA *gbd); 
     101GB_ERROR gbcmc_sendupdate_create(GBDATA *gbd); 
     102GB_ERROR gbcmc_sendupdate_delete(GBDATA *gbd); 
     103GB_ERROR gbcmc_sendupdate_update(GBDATA *gbd, int send_headera); 
     104GB_ERROR gbcmc_begin_transaction(GBDATA *gbd); 
     105GB_ERROR gbcmc_init_transaction(GBCONTAINER *gbd); 
     106GB_ERROR gbcmc_commit_transaction(GBDATA *gbd); 
     107GB_ERROR gbcmc_abort_transaction(GBDATA *gbd); 
     108GB_ERROR gbcms_add_to_delete_list(GBDATA *gbd); 
     109long gbcmc_key_alloc(GBDATA *gbd, const char *key); 
     110GB_ERROR gbcmc_send_undo_commands(GBDATA *gbd, enum gb_undo_commands command) __ATTR__USERESULT; 
     111char *gbcmc_send_undo_info_commands(GBDATA *gbd, enum gb_undo_commands command); 
     112GB_ERROR gbcm_login(GBCONTAINER *gb_main, const char *loginname); 
     113GBCM_ServerResult gbcmc_close(gbcmc_comm *link); 
     114GB_ERROR gbcm_logout(GB_MAIN_TYPE *Main, const char *loginname); 
     115 
    174116/* adcompr.cxx */ 
    175117gb_compress_tree *gb_build_uncompress_tree(const unsigned char *data, long short_flag, char **end); 
     
    191133GB_CBUFFER gb_uncompress_data(GBDATA *gbd, GB_CBUFFER source, long size); 
    192134 
     135/* adfile.cxx */ 
     136GB_ERROR gb_scan_directory(char *basename, gb_scandir *sd) __ATTR__USERESULT_TODO; 
     137 
     138/* adhash.cxx */ 
     139size_t gbs_get_a_prime(size_t above_or_equal_this); 
     140 
    193141/* adindex.cxx */ 
    194142char *gb_index_check_in(GBDATA *gbd); 
     
    204152void gb_check_in_undo_delete(GB_MAIN_TYPE *Main, GBDATA *gbd, int deep); 
    205153 
     154/* adlang1.cxx */ 
     155void gbl_install_standard_commands(GBDATA *gb_main); 
     156 
     157/* admalloc.cxx */ 
     158void gbm_flush_mem(void); 
     159void gbm_init_mem(void); 
     160void gbm_debug_mem(void); 
     161 
    206162/* admap.cxx */ 
    207163GB_ERROR gb_save_mapfile(GB_MAIN_TYPE *Main, GB_CSTR path); 
     
    209165GBDATA *gb_map_mapfile(const char *path); 
    210166int gb_isMappedMemory(void *mem); 
     167 
     168/* adoptimize.cxx */ 
     169GB_ERROR gb_convert_V2_to_V3(GBDATA *gb_main); 
     170char *gb_uncompress_by_dictionary(GBDATA *gbd, GB_CSTR s_source, long size, long *new_size); 
     171char *gb_compress_by_dictionary(GB_DICTIONARY *dict, GB_CSTR s_source, long size, long *msize, int last_flag, int search_backward, int search_forward); 
     172GB_ERROR gb_create_dictionaries(GB_MAIN_TYPE *Main, long maxmem); 
    211173 
    212174/* adquery.cxx */ 
     
    236198long gbcm_read_long(int socket); 
    237199 
     200/* adstring.cxx */ 
     201void gbs_uppercase(char *str); 
     202void gbs_memcopy(char *dest, const char *source, long len); 
     203char *gbs_add_path(char *path, char *name); 
     204 
     205/* adsystem.cxx */ 
     206GB_ERROR gb_load_dictionary_data(GBDATA *gb_main, const char *key, char **dict_data, long *size); 
     207GB_DICTIONARY *gb_create_dict(GBDATA *gb_dict); 
     208void gb_system_key_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 
     209void gb_system_master_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 
     210void gb_load_single_key_data(GBDATA *gb_main, GBQUARK q); 
     211GB_ERROR gb_save_dictionary_data(GBDATA *gb_main, const char *key, const char *dict, int size); 
     212GB_ERROR gb_load_key_data_and_dictionaries(GBDATA *gb_main) __ATTR__USERESULT; 
     213 
     214/* arbdb.cxx */ 
     215GBDATA *gb_remembered_db(void); 
     216GB_ERROR gb_unfold(GBCONTAINER *gbd, long deep, int index_pos); 
     217void gb_close_unclosed_DBs(void); 
     218int gb_read_nr(GBDATA *gbd); 
     219GB_ERROR gb_write_compressed_pntr(GBDATA *gbd, const char *s, long memsize, long stored_size); 
     220int gb_get_compression_mask(GB_MAIN_TYPE *Main, GBQUARK key, int gb_type); 
     221GB_ERROR gb_security_error(GBDATA *gbd) __ATTR__USERESULT; 
     222GB_CSTR gb_read_key_pntr(GBDATA *gbd); 
     223GBQUARK gb_key_2_existing_quark(GB_MAIN_TYPE *Main, const char *key); 
     224GBQUARK gb_key_2_quark(GB_MAIN_TYPE *Main, const char *key); 
     225GBDATA *gb_create(GBDATA *father, const char *key, GB_TYPES type); 
     226GBDATA *gb_create_container(GBDATA *father, const char *key); 
     227void gb_rename(GBCONTAINER *gbc, const char *new_key); 
     228GB_ERROR gb_delete_force(GBDATA *source); 
     229GB_ERROR gb_set_compression(GBDATA *source); 
     230GB_ERROR gb_init_transaction(GBCONTAINER *gbd); 
     231void gb_add_changed_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB_TYPE gbtype, GB_CB func, int *clientdata); 
     232void gb_add_delete_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB func, int *clientdata); 
     233GB_ERROR gb_do_callback_list(GB_MAIN_TYPE *Main); 
     234GB_MAIN_TYPE *gb_get_main_during_cb(void); 
     235GB_CSTR gb_read_pntr_ts(GBDATA *gbd, gb_transaction_save *ts); 
     236int gb_info(GBDATA *gbd, int deep); 
     237 
    238238#else 
    239239#error gb_prot.h included twice 
  • branches/e4fix/GL/glAW/GLwDrawA.c

    r7811 r8287  
    603603    cb.height = glw->core.height; 
    604604    XtCallCallbackList((Widget)glw, glw->glwDrawingArea.inputCallback, &cb); 
    605   } 
    606  
    607  
    608 #ifdef __GLX_MOTIF 
    609  
    610 // Create routine 
     605} 
     606 
     607void GLwDrawingAreaMakeCurrent(Widget w, GLXContext ctx) { 
     608    // Make context current 
     609    // ARB note: define it independent from __GLX_MOTIF (undefined on suse12.1)  
     610    glXMakeCurrent(XtDisplay(w), XtWindow(w), ctx); 
     611} 
     612 
     613#ifdef __GLX_MOTIF 
     614 
    611615Widget GLwCreateMDrawingArea(Widget parent, char *name, ArgList arglist, Cardinal argcount) { 
    612   return XtCreateWidget(name, glwMDrawingAreaWidgetClass, parent, arglist, argcount); 
    613   } 
    614  
    615 #endif 
    616  
    617  
    618 #ifndef __GLX_MOTIF 
    619  
    620 // Make context current 
    621 void GLwDrawingAreaMakeCurrent(Widget w, GLXContext ctx) { 
    622   glXMakeCurrent(XtDisplay(w), XtWindow(w), ctx); 
    623   } 
    624  
    625  
    626 // Swap buffers convenience function 
     616    // Create routine 
     617    return XtCreateWidget(name, glwMDrawingAreaWidgetClass, parent, arglist, argcount); 
     618} 
     619 
     620#else 
     621 
    627622void GLwDrawingAreaSwapBuffers(Widget w) { 
    628   glXSwapBuffers(XtDisplay(w), XtWindow(w)); 
    629   } 
    630  
    631 #endif 
     623    // Swap buffers convenience function 
     624    glXSwapBuffers(XtDisplay(w), XtWindow(w)); 
     625} 
     626 
     627#endif 
  • branches/e4fix/Makefile

    r8274 r8287  
    5959        4.4 4.4.1 4.4.3 4.4.5 \ 
    6060        4.5.2 \ 
    61         4.6.1 
     61        4.6 4.6.1 
    6262 
    6363ALLOWED_GCC_VERSIONS=$(ALLOWED_GCC_4xx_VERSIONS) 
  • branches/e4fix/NTREE/AP_consensus.cxx

    r7811 r8287  
    5555#include <arbdbt.h> 
    5656#include <arb_strbuf.h> 
     57 
     58// AISC_MKPT_PROMOTE:#ifndef AW_BASE_HXX 
     59// AISC_MKPT_PROMOTE:#include <aw_base.hxx> 
     60// AISC_MKPT_PROMOTE:#endif 
    5761 
    5862#define AWAR_MAX_FREQ   "tmp/CON_MAX_FREQ/" 
  • branches/e4fix/NTREE/NT_cb.cxx

    r8100 r8287  
    2727// AISC_MKPT_PROMOTE:#include <aw_base.hxx> 
    2828// AISC_MKPT_PROMOTE:#endif 
    29 // AISC_MKPT_PROMOTE: 
    30 // AISC_MKPT_PROMOTE:class AW_window; 
    3129// AISC_MKPT_PROMOTE:class AWT_canvas; 
    3230 
  • branches/e4fix/NTREE/nt_cb.hxx

    r7891 r8287  
    2020#include <aw_base.hxx> 
    2121#endif 
    22  
    23 class AW_window; 
    2422class AWT_canvas; 
    2523 
  • branches/e4fix/NTREE/nt_internal.h

    r7891 r8287  
    1212 
    1313 
    14 /* NT_cb.cxx */ 
     14/* AP_consensus.cxx */ 
    1515 
    16 #ifndef ARBDB_BASE_H 
    17 #include <arbdb_base.h> 
    18 #endif 
    1916#ifndef AW_BASE_HXX 
    2017#include <aw_base.hxx> 
    2118#endif 
    2219 
    23 class AW_window; 
    24 class AWT_canvas; 
    25  
    26 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw); 
    27 AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree); 
    28 void NT_select_last_tree(AW_window *aww, char *awar_tree); 
    29 AW_window *NT_open_select_alignment_window(AW_root *awr); 
    30 void NT_system_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 
    31 void NT_system_in_xterm_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 
    32  
    33 /* AP_consensus.cxx */ 
    3420AW_window *AP_open_con_expert_window(AW_root *aw_root); 
    3521AW_window *AP_open_consensus_window(AW_root *aw_root); 
     
    4329AW_window *AP_open_cprofile_window(AW_root *aw_root); 
    4430 
     31/* AP_pos_var_pars.cxx */ 
     32void AP_calc_pos_var_pars(AW_window *aww); 
     33AW_window *AP_open_pos_var_pars_window(AW_root *root); 
     34 
    4535/* ColumnStat_2_gnuplot.cxx */ 
    4636AW_window *NT_create_colstat_2_gnuplot_window(AW_root *root); 
    4737 
    48 /* AP_pos_var_pars.cxx */ 
    49 void AP_calc_pos_var_pars(AW_window *aww); 
    50 AW_window *AP_open_pos_var_pars_window(AW_root *root); 
     38/* NT_cb.cxx */ 
     39 
     40#ifndef ARBDB_BASE_H 
     41#include <arbdb_base.h> 
     42#endif 
     43#ifndef AW_BASE_HXX 
     44#include <aw_base.hxx> 
     45#endif 
     46class AWT_canvas; 
     47 
     48void NT_delete_mark_all_cb(void *, AWT_canvas *ntw); 
     49AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree); 
     50void NT_select_last_tree(AW_window *aww, char *awar_tree); 
     51AW_window *NT_open_select_alignment_window(AW_root *awr); 
     52void NT_system_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 
     53void NT_system_in_xterm_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 
    5154 
    5255/* NT_concatenate.cxx */ 
  • branches/e4fix/PROBE/pt_prototypes.h

    r8274 r8287  
    1919ARB_ERROR enter_stage_1_build_tree(PT_main *, char *tname) __ATTR__USERESULT; 
    2020ARB_ERROR enter_stage_3_load_tree(PT_main *, const char *tname) __ATTR__USERESULT; 
     21 
     22/* PT_debug.cxx */ 
     23void PT_dump_tree_statistics(void); 
     24void PT_dump_POS_TREE_recursive(POS_TREE *IF_DEBUG (pt), const char *IF_DEBUG (prefix)); 
     25void PT_dump_POS_TREE(POS_TREE *IF_DEBUG (node)); 
    2126 
    2227/* PT_etc.cxx */ 
     
    109114ARB_ERROR PTD_read_leafs_from_disk(const char *fname, POS_TREE **pnode) __ATTR__USERESULT; 
    110115 
    111 /* PT_debug.cxx */ 
    112 void PT_dump_tree_statistics(void); 
    113 void PT_dump_POS_TREE_recursive(POS_TREE *IF_DEBUG (pt), const char *IF_DEBUG (prefix)); 
    114 void PT_dump_POS_TREE(POS_TREE *IF_DEBUG (node)); 
    115  
    116116/* probe_tree.h */ 
    117117template <typename T >int PT_forwhole_chain(POS_TREE *node, T func); 
  • branches/e4fix/WINDOW/AW_modal.cxx

    r7811 r8287  
    2626#define AWAR_QUESTION "tmp/question" 
    2727 
    28 #define AW_MESSAGE_LISTEN_DELAY 500 // look in ms whether a father died 
     28#define AW_MESSAGE_LISTEN_DELAY 100 // look in ms whether a father died 
    2929 
    3030int aw_message_cb_result; 
  • branches/e4fix/WINDOW/AW_nawar.cxx

    r8103 r8287  
    619619        error = GB_push_transaction(gb_main); 
    620620        if (!error) { 
    621             aw_update_awar_window_geometry(this); 
     621            aw_update_all_window_geometry_awars(this); 
    622622            error = GB_pop_transaction(gb_main); 
    623623            if (!error) error = GB_save_in_arbprop(gb_main, filename, "a"); 
  • branches/e4fix/WINDOW/AW_window.cxx

    r8274 r8287  
    601601#define aw_awar_name_height(aww) aw_size_awar_name((aww), "height") 
    602602 
    603 static void aw_calculate_WM_offsets(AW_window *aww) { 
    604     if (p_aww(aww)->WM_top_offset == AW_FIX_POS_ON_EXPOSE) {        // very bad hack continued 
    605         // get last position stored in properties 
    606         AW_root *root  = aww->get_root(); 
    607         int      oposx = root->awar(aw_awar_name_posx(aww))->read_int(); 
    608         int      oposy = root->awar(aw_awar_name_posy(aww))->read_int(); 
    609  
    610         // get current window position 
    611         short            posy, posx; 
    612         AW_window_Motif *motif = p_aww(aww); 
    613         XtVaGetValues(motif->shell,  XmNx, &posx, XmNy, &posy, NULL); 
    614  
     603void AW_window::create_user_geometry_awars(int posx, int posy, int width, int height) { 
     604    get_root()->awar_int(aw_awar_name_posx(this), posx); 
     605    get_root()->awar_int(aw_awar_name_posy(this), posy); 
     606    get_root()->awar_int(aw_awar_name_width(this), width); 
     607    get_root()->awar_int(aw_awar_name_height(this), height); 
     608} 
     609 
     610 
     611void AW_window::store_size_in_awars(int width, int height) { 
     612    get_root()->awar(aw_awar_name_width(this))->write_int(width); 
     613    get_root()->awar(aw_awar_name_height(this))->write_int(height); 
     614} 
     615 
     616void AW_window::get_size_from_awars(int& width, int& height) { 
     617    width  = get_root()->awar(aw_awar_name_width(this))->read_int(); 
     618    height = get_root()->awar(aw_awar_name_height(this))->read_int(); 
     619} 
     620 
     621void AW_window::store_pos_in_awars(int posx, int posy) { 
     622    get_root()->awar(aw_awar_name_posx(this))->write_int(posx); 
     623    get_root()->awar(aw_awar_name_posy(this))->write_int(posy); 
     624} 
     625 
     626void AW_window::get_pos_from_awars(int& posx, int& posy) { 
     627    posx = get_root()->awar(aw_awar_name_posx(this))->read_int(); 
     628    posy = get_root()->awar(aw_awar_name_posy(this))->read_int(); 
     629} 
     630 
     631#undef aw_awar_name_posx 
     632#undef aw_awar_name_posy 
     633#undef aw_awar_name_width 
     634#undef aw_awar_name_height 
     635 
     636static void aw_onExpose_calc_WM_offsets(AW_window *aww); 
     637static void aw_calc_WM_offsets_delayed(AW_root *, AW_CL cl_aww, AW_CL) { aw_onExpose_calc_WM_offsets((AW_window*)cl_aww); } 
     638 
     639static void aw_onExpose_calc_WM_offsets(AW_window *aww) { 
     640    AW_window_Motif *motif = p_aww(aww); 
     641 
     642    int posx,  posy;  aww->get_window_content_pos(posx, posy); 
     643 
     644    bool knows_window_position = posx != 0 || posy != 0; 
     645 
     646    if (!knows_window_position) { // oops - motif has no idea where the window has been placed 
     647        // assume positions stored in awars are correct and use them. 
     648        // This works around problems with unclickable GUI-elements when running on 'Unity' 
     649 
     650        int oposx, oposy; aww->get_pos_from_awars(oposx, oposy); 
     651        aww->set_window_frame_pos(oposx, oposy); 
     652 
     653        if (!motif->knows_WM_offset()) { 
     654            aww->get_root()->add_timed_callback(100, aw_calc_WM_offsets_delayed, (AW_CL)aww, 0); 
     655        } 
     656    } 
     657    else if (!motif->knows_WM_offset()) { 
     658        int oposx, oposy; aww->get_pos_from_awars(oposx, oposy); 
    615659        // calculate offset 
    616660        motif->WM_top_offset  = posy-oposy; 
    617661        motif->WM_left_offset = posx-oposx; 
    618  
    619 #if defined(DEBUG) && 0 
    620         printf("aw_calculate_WM_offsets: WM_left_offset=%i WM_top_offset=%i\n", motif->WM_left_offset, motif->WM_top_offset); 
    621 #endif // DEBUG 
    622     } 
    623  
    624 #if defined(DEBUG) && 0 
    625     { 
    626         short posx, posy; 
    627         AW_window_Motif *motif = p_aww(aww); 
    628         XtVaGetValues(motif->shell,  XmNx, &posx, XmNy, &posy, NULL); 
    629         printf("[expose] Position reported by motif: %i/%i\n", posx, posy); 
    630     } 
    631 #endif // DEBUG 
     662    } 
    632663} 
    633664 
     
    952983} 
    953984 
    954 void AW_window::set_window_pos(int x, int y) { 
     985void AW_window::set_window_frame_pos(int x, int y) { 
     986    // this will set the position of the frame around the client-area (see also WM_top_offset ..) 
    955987    XtVaSetValues(p_w->shell, XmNx, (int)x, XmNy, (int)y, NULL); 
    956988} 
    957 void AW_window::get_window_pos(int& xpos, int& ypos) { 
     989void AW_window::get_window_content_pos(int& xpos, int& ypos) { 
     990    // this will report the position of the client-area (see also WM_top_offset ..) 
    958991    unsigned short x, y; 
    959992    XtVaGetValues(p_w->shell, XmNx, &x, XmNy, &y, NULL); 
     
    16821715} 
    16831716 
    1684 static long aw_loop_get_window_geometry(const char *, long val, void *) { 
    1685     AW_window *aww = (AW_window *)val; 
    1686     short posx, posy; 
    1687  
    1688     AW_root *root = aww->get_root(); 
     1717void aw_update_window_geometry_awars(AW_window *aww) { 
     1718    AW_window_Motif *motif = p_aww(aww); 
     1719 
     1720    short          posx, posy; 
    16891721    unsigned short width, height, borderwidth; 
    1690  
    1691     XtVaGetValues(p_aww(aww)->shell,                // bad hack 
     1722    XtVaGetValues(motif->shell, // bad hack 
    16921723                  XmNborderWidth, &borderwidth, 
    16931724                  XmNwidth, &width, 
     
    16971728                  NULL); 
    16981729 
    1699     if (p_aww(aww)->WM_top_offset != AW_FIX_POS_ON_EXPOSE) { 
    1700         posy -= p_aww(aww)->WM_top_offset; 
    1701     } 
    1702     posx -= p_aww(aww)->WM_left_offset; 
    1703  
    1704     if (posx<0) posx = 0; 
    1705     if (posy<0) posy = 0; 
    1706  
    1707     root->awar(aw_awar_name_width (aww))->write_int(width); 
    1708     root->awar(aw_awar_name_height(aww))->write_int(height); 
    1709     root->awar(aw_awar_name_posx (aww))->write_int(posx); 
    1710     root->awar(aw_awar_name_posy (aww))->write_int(posy); 
    1711  
     1730    if (motif->knows_WM_offset()) { 
     1731        posy -= motif->WM_top_offset; 
     1732        posx -= motif->WM_left_offset; 
     1733 
     1734        if (posx<0) posx = 0; 
     1735        if (posy<0) posy = 0; 
     1736 
     1737        aww->store_pos_in_awars(posx, posy); 
     1738    } 
     1739#if defined(DEBUG) 
     1740    else { 
     1741        fprintf(stderr, " WM_offsets unknown. Did not update awars!\n"); 
     1742    } 
     1743#endif 
     1744    aww->store_size_in_awars(width, height); 
     1745} 
     1746 
     1747static long aw_loop_get_window_geometry(const char *, long val, void *) { 
     1748    aw_update_window_geometry_awars((AW_window *)val); 
    17121749    return val; 
    17131750} 
    17141751 
    1715 void aw_update_awar_window_geometry(AW_root *awr) { 
     1752void aw_update_all_window_geometry_awars(AW_root *awr) { 
    17161753    GBS_hash_do_loop(awr->hash_for_windows, aw_loop_get_window_geometry, NULL); 
    17171754} 
     
    17871824        bool has_user_geometry = false; 
    17881825 
    1789         const char *temp = aw_awar_name_width(aww); 
    1790         root->awar_int(temp, width); 
     1826        aww->create_user_geometry_awars(posx, posy, width, height); 
     1827 
     1828        int user_width, user_height; aww->get_size_from_awars(user_width, user_height); 
     1829        int user_posx,  user_posy;   aww->get_pos_from_awars(user_posx,  user_posy); 
     1830 
    17911831        if (allow_resize) { 
    1792             int found_width = (int)root->awar(temp)->read_int(); 
    1793             if (width != found_width) { 
    1794                 has_user_geometry = true; 
    1795                 width = found_width; 
    1796             } 
    1797         } 
    1798  
    1799         temp = aw_awar_name_height(aww); 
    1800         root->awar_int(temp, height); 
    1801         if (allow_resize) { 
    1802             int found_height = (int)root->awar(temp)->read_int(); 
    1803             if (height != found_height) { 
    1804                 has_user_geometry = true; 
    1805                 height = found_height; 
    1806             } 
    1807         } 
    1808  
    1809         temp = aw_awar_name_posx(aww); 
    1810         root->awar_int(temp, posx)->set_minmax(0, 4000); 
     1832            if (width != user_width) { width = user_width; has_user_geometry = true; } 
     1833            if (height != user_height) { height = user_height; has_user_geometry = true; } 
     1834        } 
     1835 
    18111836        // @@@ FIXME:  maximum should be set to current screen size minus some offset 
    18121837        // to ensure that windows do not appear outside screen 
    1813         // same for posy below! 
    1814  
    1815         int found_posx = (int)root->awar(temp)->read_int(); 
    1816         if (posx != found_posx) { 
    1817             has_user_geometry = true; 
    1818             posx = found_posx; 
    1819         } 
    1820  
    1821         temp = aw_awar_name_posy(aww); 
    1822         root->awar_int(temp, posy)->set_minmax(0, 3000); 
    1823         int found_posy = (int)root->awar(temp)->read_int(); 
    1824         if (posy != found_posy) { 
    1825             has_user_geometry = true; 
    1826             posy = found_posy; 
    1827         } 
     1838        if (posx != user_posx) { posx = user_posx; has_user_geometry = true; } 
     1839        if (posy != user_posy) { posy = user_posy; has_user_geometry = true; } 
    18281840 
    18291841        if (has_user_geometry) { 
     
    18601872        GBK_terminatef("Failed to load icon pixmap for window '%s'\n", aww->window_defaults_name); 
    18611873    } 
    1862  
    1863 #if defined(DEBUG) && 0 
    1864     printf("aw_create_shell: pos=%i/%i size=%i%i\n", posx, posy, width, height); 
    1865 #endif // DEBUG 
    18661874 
    18671875    int focusPolicy = root->focus_follows_mouse ? XmPOINTER : XmEXPLICIT; 
     
    19531961    } 
    19541962    XtRealizeWidget(p_aww(aww)->shell); 
    1955     p_aww(aww)->WM_top_offset = AW_FIX_POS_ON_EXPOSE; 
    1956 } 
    1957  
    1958 void AW_window_menu_modes::init(AW_root *root_in, const char *wid, const char *windowname, int  width, int height) { 
     1963    p_aww(aww)->WM_top_offset = AW_CALC_OFFSET_ON_EXPOSE; 
     1964} 
     1965 
     1966void AW_window_menu_modes::init(AW_root *root_in, const char *wid, const char *windowname, int  width, int height) {  
    19591967    Widget      main_window; 
    19601968    Widget      help_popup; 
     
    19791987 
    19801988    main_window = XtVaCreateManagedWidget("mainWindow1", 
    1981             xmMainWindowWidgetClass, p_w->shell, 
    1982             NULL); 
     1989                                          xmMainWindowWidgetClass, p_w->shell, 
     1990                                          NULL); 
    19831991 
    19841992    p_w->menu_bar[0] = XtVaCreateManagedWidget("menu1", xmRowColumnWidgetClass, 
    1985             main_window, 
    1986             XmNrowColumnType, XmMENU_BAR, 
    1987             NULL); 
     1993                                               main_window, 
     1994                                               XmNrowColumnType, XmMENU_BAR, 
     1995                                               NULL); 
    19881996 
    19891997    // create shell for help-cascade 
    19901998    help_popup = XtVaCreatePopupShell("menu_shell", xmMenuShellWidgetClass, 
    1991             p_w->menu_bar[0], 
    1992             XmNwidth, 1, 
    1993             XmNheight, 1, 
    1994             XmNallowShellResize, true, 
    1995             XmNoverrideRedirect, true, 
    1996             NULL); 
     1999                                      p_w->menu_bar[0], 
     2000                                      XmNwidth, 1, 
     2001                                      XmNheight, 1, 
     2002                                      XmNallowShellResize, true, 
     2003                                      XmNoverrideRedirect, true, 
     2004                                      NULL); 
    19972005 
    19982006    // create row column in Pull-Down shell 
    19992007    p_w->help_pull_down = XtVaCreateWidget("menu_row_column", 
    2000             xmRowColumnWidgetClass, help_popup, 
    2001             XmNrowColumnType, XmMENU_PULLDOWN, 
    2002             NULL); 
     2008                                           xmRowColumnWidgetClass, help_popup, 
     2009                                           XmNrowColumnType, XmMENU_PULLDOWN, 
     2010                                           NULL); 
    20032011 
    20042012    // create HELP-label in menu bar 
    20052013    help_label = XtVaCreateManagedWidget("menu1_top_b1", 
    2006             xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
    2007             RES_CONVERT(XmNlabelString, help_button), 
    2008                                           RES_CONVERT(XmNmnemonic, help_mnemonic), 
    2009                                           XmNsubMenuId, p_w->help_pull_down, NULL); 
     2014                                         xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
     2015                                         RES_CONVERT(XmNlabelString, help_button), 
     2016                                         RES_CONVERT(XmNmnemonic, help_mnemonic), 
     2017                                         XmNsubMenuId, p_w->help_pull_down, NULL); 
    20102018    XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 
    20112019    root->make_sensitive(help_label, AWM_ALL); 
    20122020 
    20132021    form1 = XtVaCreateManagedWidget("form1", 
    2014     xmFormWidgetClass, 
    2015     main_window, 
    2016     // XmNwidth, width, 
    2017     // XmNheight, height, 
    2018     XmNresizePolicy, XmRESIZE_NONE, 
    2019     // XmNx, 0, 
    2020     // XmNy, 0, 
    2021     NULL); 
     2022                                    xmFormWidgetClass, 
     2023                                    main_window, 
     2024                                    // XmNwidth, width, 
     2025                                    // XmNheight, height, 
     2026                                    XmNresizePolicy, XmRESIZE_NONE, 
     2027                                    // XmNx, 0, 
     2028                                    // XmNy, 0, 
     2029                                    NULL); 
    20222030 
    20232031    p_w->mode_area = XtVaCreateManagedWidget("mode area", 
    2024     xmDrawingAreaWidgetClass, 
    2025     form1, 
    2026     XmNresizePolicy, XmRESIZE_NONE, 
    2027     XmNwidth, 38, 
    2028     XmNheight, height, 
    2029     XmNx, 0, 
    2030     XmNy, 0, 
    2031     XmNleftOffset, 0, 
    2032     XmNtopOffset, 0, 
    2033     XmNbottomAttachment, XmATTACH_FORM, 
    2034     XmNleftAttachment, XmATTACH_POSITION, 
    2035     XmNtopAttachment, XmATTACH_POSITION, 
    2036     XmNmarginHeight, 2, 
    2037     XmNmarginWidth, 1, 
    2038     NULL); 
     2032                                             xmDrawingAreaWidgetClass, 
     2033                                             form1, 
     2034                                             XmNresizePolicy, XmRESIZE_NONE, 
     2035                                             XmNwidth, 38, 
     2036                                             XmNheight, height, 
     2037                                             XmNx, 0, 
     2038                                             XmNy, 0, 
     2039                                             XmNleftOffset, 0, 
     2040                                             XmNtopOffset, 0, 
     2041                                             XmNbottomAttachment, XmATTACH_FORM, 
     2042                                             XmNleftAttachment, XmATTACH_POSITION, 
     2043                                             XmNtopAttachment, XmATTACH_POSITION, 
     2044                                             XmNmarginHeight, 2, 
     2045                                             XmNmarginWidth, 1, 
     2046                                             NULL); 
    20392047 
    20402048    separator = XtVaCreateManagedWidget("separator", 
    2041     xmSeparatorWidgetClass, 
    2042     form1, 
    2043     XmNx, 37, 
    2044     XmNshadowThickness, 4, 
    2045     XmNorientation, XmVERTICAL, 
    2046     XmNbottomAttachment, XmATTACH_FORM, 
    2047     XmNtopAttachment, XmATTACH_FORM, 
    2048     XmNleftAttachment, XmATTACH_NONE, 
    2049     XmNleftWidget, NULL, 
    2050     XmNrightAttachment, XmATTACH_NONE, 
    2051     XmNleftOffset, 70, 
    2052     XmNleftPosition, 0, 
    2053     NULL); 
     2049                                        xmSeparatorWidgetClass, 
     2050                                        form1, 
     2051                                        XmNx, 37, 
     2052                                        XmNshadowThickness, 4, 
     2053                                        XmNorientation, XmVERTICAL, 
     2054                                        XmNbottomAttachment, XmATTACH_FORM, 
     2055                                        XmNtopAttachment, XmATTACH_FORM, 
     2056                                        XmNleftAttachment, XmATTACH_NONE, 
     2057                                        XmNleftWidget, NULL, 
     2058                                        XmNrightAttachment, XmATTACH_NONE, 
     2059                                        XmNleftOffset, 70, 
     2060                                        XmNleftPosition, 0, 
     2061                                        NULL); 
    20542062 
    20552063    form2 = XtVaCreateManagedWidget("form2", 
    2056     xmFormWidgetClass, 
    2057     form1, 
    2058     XmNwidth, width, 
    2059     XmNheight, height, 
    2060     XmNtopOffset, 0, 
    2061     XmNbottomOffset, 0, 
    2062     XmNleftOffset, 0, 
    2063     XmNrightOffset, 0, 
    2064     XmNrightAttachment, XmATTACH_FORM, 
    2065     XmNbottomAttachment, XmATTACH_FORM, 
    2066     XmNleftAttachment, XmATTACH_WIDGET, 
    2067     XmNleftWidget, separator, 
    2068     XmNtopAttachment, XmATTACH_POSITION, 
    2069     XmNresizePolicy, XmRESIZE_NONE, 
    2070     XmNx, 0, 
    2071     XmNy, 0, 
    2072     NULL); 
     2064                                    xmFormWidgetClass, 
     2065                                    form1, 
     2066                                    XmNwidth, width, 
     2067                                    XmNheight, height, 
     2068                                    XmNtopOffset, 0, 
     2069                                    XmNbottomOffset, 0, 
     2070                                    XmNleftOffset, 0, 
     2071                                    XmNrightOffset, 0, 
     2072                                    XmNrightAttachment, XmATTACH_FORM, 
     2073                                    XmNbottomAttachment, XmATTACH_FORM, 
     2074                                    XmNleftAttachment, XmATTACH_WIDGET, 
     2075                                    XmNleftWidget, separator, 
     2076                                    XmNtopAttachment, XmATTACH_POSITION, 
     2077                                    XmNresizePolicy, XmRESIZE_NONE, 
     2078                                    XmNx, 0, 
     2079                                    XmNy, 0, 
     2080                                    NULL); 
    20732081    p_w->areas[AW_INFO_AREA] = 
    2074     new AW_area_management(root, form2, XtVaCreateManagedWidget("info_area", 
    2075             xmDrawingAreaWidgetClass, 
    2076             form2, 
    2077             XmNheight, 0, 
    2078             XmNbottomAttachment, XmATTACH_NONE, 
    2079             XmNtopAttachment, XmATTACH_FORM, 
    2080             XmNleftAttachment, XmATTACH_FORM, 
    2081             XmNrightAttachment, XmATTACH_FORM, 
    2082             XmNmarginHeight, 2, 
    2083             XmNmarginWidth, 2, 
    2084             NULL)); 
     2082        new AW_area_management(root, form2, XtVaCreateManagedWidget("info_area", 
     2083                                                                    xmDrawingAreaWidgetClass, 
     2084                                                                    form2, 
     2085                                                                    XmNheight, 0, 
     2086                                                                    XmNbottomAttachment, XmATTACH_NONE, 
     2087                                                                    XmNtopAttachment, XmATTACH_FORM, 
     2088                                                                    XmNleftAttachment, XmATTACH_FORM, 
     2089                                                                    XmNrightAttachment, XmATTACH_FORM, 
     2090                                                                    XmNmarginHeight, 2, 
     2091                                                                    XmNmarginWidth, 2, 
     2092                                                                    NULL)); 
    20852093 
    20862094    p_w->areas[AW_BOTTOM_AREA] = 
    2087     new AW_area_management(root, form2, XtVaCreateManagedWidget("bottom_area", 
    2088             xmDrawingAreaWidgetClass, 
    2089             form2, 
    2090             XmNheight, 0, 
    2091             XmNbottomAttachment, XmATTACH_FORM, 
    2092             XmNtopAttachment, XmATTACH_NONE, 
    2093             XmNleftAttachment, XmATTACH_FORM, 
    2094             XmNrightAttachment, XmATTACH_FORM, 
    2095             NULL)); 
     2095        new AW_area_management(root, form2, XtVaCreateManagedWidget("bottom_area", 
     2096                                                                    xmDrawingAreaWidgetClass, 
     2097                                                                    form2, 
     2098                                                                    XmNheight, 0, 
     2099                                                                    XmNbottomAttachment, XmATTACH_FORM, 
     2100                                                                    XmNtopAttachment, XmATTACH_NONE, 
     2101                                                                    XmNleftAttachment, XmATTACH_FORM, 
     2102                                                                    XmNrightAttachment, XmATTACH_FORM, 
     2103                                                                    NULL)); 
    20962104 
    20972105    p_w->scroll_bar_horizontal = XtVaCreateManagedWidget("scroll_bar_horizontal", 
    2098     xmScrollBarWidgetClass, 
    2099     form2, 
    2100     XmNheight, 15, 
    2101     XmNminimum, 0, 
    2102     XmNmaximum, AW_SCROLL_MAX, 
    2103     XmNincrement, 10, 
    2104     XmNsliderSize, AW_SCROLL_MAX, 
    2105     XmNrightAttachment, XmATTACH_FORM, 
    2106     XmNbottomAttachment, XmATTACH_FORM, 
    2107     XmNbottomOffset, 0, 
    2108     XmNleftAttachment, XmATTACH_FORM, 
    2109     XmNtopAttachment, XmATTACH_NONE, 
    2110     XmNorientation, XmHORIZONTAL, 
    2111     XmNrightOffset, 18, 
    2112     NULL); 
     2106                                                         xmScrollBarWidgetClass, 
     2107                                                         form2, 
     2108                                                         XmNheight, 15, 
     2109                                                         XmNminimum, 0, 
     2110                                                         XmNmaximum, AW_SCROLL_MAX, 
     2111                                                         XmNincrement, 10, 
     2112                                                         XmNsliderSize, AW_SCROLL_MAX, 
     2113                                                         XmNrightAttachment, XmATTACH_FORM, 
     2114                                                         XmNbottomAttachment, XmATTACH_FORM, 
     2115                                                         XmNbottomOffset, 0, 
     2116                                                         XmNleftAttachment, XmATTACH_FORM, 
     2117                                                         XmNtopAttachment, XmATTACH_NONE, 
     2118                                                         XmNorientation, XmHORIZONTAL, 
     2119                                                         XmNrightOffset, 18, 
     2120                                                         NULL); 
    21132121 
    21142122    p_w->scroll_bar_vertical = XtVaCreateManagedWidget("scroll_bar_vertical", 
    2115     xmScrollBarWidgetClass, 
    2116     form2, 
    2117     XmNwidth, 15, 
    2118     XmNminimum, 0, 
    2119     XmNmaximum, AW_SCROLL_MAX, 
    2120     XmNincrement, 10, 
    2121     XmNsliderSize, AW_SCROLL_MAX, 
    2122     XmNrightAttachment, XmATTACH_FORM, 
    2123     XmNbottomAttachment, XmATTACH_WIDGET, 
    2124     XmNbottomWidget, p_w->scroll_bar_horizontal, 
    2125     XmNbottomOffset, 3, 
    2126     XmNleftOffset, 3, 
    2127     XmNrightOffset, 3, 
    2128     XmNleftAttachment, XmATTACH_NONE, 
    2129     XmNtopAttachment, XmATTACH_WIDGET, 
    2130     XmNtopWidget, INFO_WIDGET, 
    2131     NULL); 
     2123                                                       xmScrollBarWidgetClass, 
     2124                                                       form2, 
     2125                                                       XmNwidth, 15, 
     2126                                                       XmNminimum, 0, 
     2127                                                       XmNmaximum, AW_SCROLL_MAX, 
     2128                                                       XmNincrement, 10, 
     2129                                                       XmNsliderSize, AW_SCROLL_MAX, 
     2130                                                       XmNrightAttachment, XmATTACH_FORM, 
     2131                                                       XmNbottomAttachment, XmATTACH_WIDGET, 
     2132                                                       XmNbottomWidget, p_w->scroll_bar_horizontal, 
     2133                                                       XmNbottomOffset, 3, 
     2134                                                       XmNleftOffset, 3, 
     2135                                                       XmNrightOffset, 3, 
     2136                                                       XmNleftAttachment, XmATTACH_NONE, 
     2137                                                       XmNtopAttachment, XmATTACH_WIDGET, 
     2138                                                       XmNtopWidget, INFO_WIDGET, 
     2139                                                       NULL); 
    21322140 
    21332141    p_w->frame = XtVaCreateManagedWidget("draw_area", 
    2134     xmFrameWidgetClass, 
    2135     form2, 
    2136     XmNshadowType, XmSHADOW_IN, 
    2137     XmNshadowThickness, 2, 
    2138     XmNleftOffset, 3, 
    2139     XmNtopOffset, 3, 
    2140     XmNbottomOffset, 3, 
    2141     XmNrightOffset, 3, 
    2142     XmNbottomAttachment, XmATTACH_WIDGET, 
    2143     XmNbottomWidget, p_w->scroll_bar_horizontal, 
    2144     XmNtopAttachment, XmATTACH_FORM, 
    2145     XmNtopOffset, 0, 
    2146     XmNleftAttachment, XmATTACH_FORM, 
    2147     XmNrightAttachment, XmATTACH_WIDGET, 
    2148     XmNrightWidget, p_w->scroll_bar_vertical, 
    2149     NULL); 
     2142                                         xmFrameWidgetClass, 
     2143                                         form2, 
     2144                                         XmNshadowType, XmSHADOW_IN, 
     2145                                         XmNshadowThickness, 2, 
     2146                                         XmNleftOffset, 3, 
     2147                                         XmNtopOffset, 3, 
     2148                                         XmNbottomOffset, 3, 
     2149                                         XmNrightOffset, 3, 
     2150                                         XmNbottomAttachment, XmATTACH_WIDGET, 
     2151                                         XmNbottomWidget, p_w->scroll_bar_horizontal, 
     2152                                         XmNtopAttachment, XmATTACH_FORM, 
     2153                                         XmNtopOffset, 0, 
     2154                                         XmNleftAttachment, XmATTACH_FORM, 
     2155                                         XmNrightAttachment, XmATTACH_WIDGET, 
     2156                                         XmNrightWidget, p_w->scroll_bar_vertical, 
     2157                                         NULL); 
    21502158 
    21512159    p_w->areas[AW_MIDDLE_AREA] = 
    2152     new AW_area_management(root, p_w->frame, XtVaCreateManagedWidget("draw area", 
    2153             xmDrawingAreaWidgetClass, 
    2154             p_w->frame, 
    2155             XmNmarginHeight, 0, 
    2156             XmNmarginWidth, 0, 
    2157             NULL)); 
     2160        new AW_area_management(root, p_w->frame, XtVaCreateManagedWidget("draw area", 
     2161                                                                         xmDrawingAreaWidgetClass, 
     2162                                                                         p_w->frame, 
     2163                                                                         XmNmarginHeight, 0, 
     2164                                                                         XmNmarginWidth, 0, 
     2165                                                                         NULL)); 
    21582166 
    21592167    XmMainWindowSetAreas(main_window, p_w->menu_bar[0], (Widget) NULL, (Widget) NULL, (Widget) NULL, form1); 
     
    21662174} 
    21672175 
    2168 void AW_window_menu::init(AW_root *root_in, const char *wid, const char *windowname, int width, int height) { 
     2176void AW_window_menu::init(AW_root *root_in, const char *wid, const char *windowname, int width, int height) {  
    21692177    Widget      main_window; 
    21702178    Widget      help_popup; 
     
    21892197 
    21902198    main_window = XtVaCreateManagedWidget("mainWindow1", 
    2191             xmMainWindowWidgetClass, p_w->shell, 
    2192             NULL); 
     2199                                          xmMainWindowWidgetClass, p_w->shell, 
     2200                                          NULL); 
    21932201 
    21942202    p_w->menu_bar[0] = XtVaCreateManagedWidget("menu1", xmRowColumnWidgetClass, 
    2195             main_window, 
    2196             XmNrowColumnType, XmMENU_BAR, 
    2197             NULL); 
     2203                                               main_window, 
     2204                                               XmNrowColumnType, XmMENU_BAR, 
     2205                                               NULL); 
    21982206 
    21992207    // create shell for help-cascade 
    22002208    help_popup = XtVaCreatePopupShell("menu_shell", xmMenuShellWidgetClass, 
    2201             p_w->menu_bar[0], 
    2202             XmNwidth, 1, 
    2203             XmNheight, 1, 
    2204             XmNallowShellResize, true, 
    2205             XmNoverrideRedirect, true, 
    2206             NULL); 
     2209                                      p_w->menu_bar[0], 
     2210                                      XmNwidth, 1, 
     2211                                      XmNheight, 1, 
     2212                                      XmNallowShellResize, true, 
     2213                                      XmNoverrideRedirect, true, 
     2214                                      NULL); 
    22072215 
    22082216    // create row column in Pull-Down shell 
    22092217    p_w->help_pull_down = XtVaCreateWidget("menu_row_column", 
    2210             xmRowColumnWidgetClass, help_popup, 
    2211             XmNrowColumnType, XmMENU_PULLDOWN, 
    2212             NULL); 
     2218                                           xmRowColumnWidgetClass, help_popup, 
     2219                                           XmNrowColumnType, XmMENU_PULLDOWN, 
     2220                                           NULL); 
    22132221 
    22142222    // create HELP-label in menu bar 
    22152223    help_label = XtVaCreateManagedWidget("menu1_top_b1", 
    2216             xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
    2217             RES_CONVERT(XmNlabelString, help_button), 
    2218                                           RES_CONVERT(XmNmnemonic, help_mnemonic), 
    2219                                           XmNsubMenuId, p_w->help_pull_down, NULL); 
     2224                                         xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
     2225                                         RES_CONVERT(XmNlabelString, help_button), 
     2226                                         RES_CONVERT(XmNmnemonic, help_mnemonic), 
     2227                                         XmNsubMenuId, p_w->help_pull_down, NULL); 
    22202228    XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 
    22212229    root->make_sensitive(help_label, AWM_ALL); 
    22222230 
    22232231    form1 = XtVaCreateManagedWidget("form1", 
    2224     xmFormWidgetClass, 
    2225     main_window, 
    2226     // XmNwidth, width, 
    2227     // XmNheight, height, 
    2228     XmNresizePolicy, XmRESIZE_NONE, 
    2229     // XmNx, 0, 
    2230     // XmNy, 0, 
    2231     NULL); 
     2232                                    xmFormWidgetClass, 
     2233                                    main_window, 
     2234                                    // XmNwidth, width, 
     2235                                    // XmNheight, height, 
     2236                                    XmNresizePolicy, XmRESIZE_NONE, 
     2237                                    // XmNx, 0, 
     2238                                    // XmNy, 0, 
     2239                                    NULL); 
    22322240 
    22332241    p_w->mode_area = XtVaCreateManagedWidget("mode area", 
    2234     xmDrawingAreaWidgetClass, 
    2235     form1, 
    2236     XmNresizePolicy, XmRESIZE_NONE, 
    2237     XmNwidth, 17, 
    2238     XmNheight, height, 
    2239     XmNx, 0, 
    2240     XmNy, 0, 
    2241     XmNleftOffset, 0, 
    2242     XmNtopOffset, 0, 
    2243     XmNbottomAttachment, XmATTACH_FORM, 
    2244     XmNleftAttachment, XmATTACH_POSITION, 
    2245     XmNtopAttachment, XmATTACH_POSITION, 
    2246     XmNmarginHeight, 2, 
    2247     XmNmarginWidth, 1, 
    2248     NULL); 
     2242                                             xmDrawingAreaWidgetClass, 
     2243                                             form1, 
     2244                                             XmNresizePolicy, XmRESIZE_NONE, 
     2245                                             XmNwidth, 17, 
     2246                                             XmNheight, height, 
     2247                                             XmNx, 0, 
     2248                                             XmNy, 0, 
     2249                                             XmNleftOffset, 0, 
     2250                                             XmNtopOffset, 0, 
     2251                                             XmNbottomAttachment, XmATTACH_FORM, 
     2252                                             XmNleftAttachment, XmATTACH_POSITION, 
     2253                                             XmNtopAttachment, XmATTACH_POSITION, 
     2254                                             XmNmarginHeight, 2, 
     2255                                             XmNmarginWidth, 1, 
     2256                                             NULL); 
    22492257 
    22502258    separator = p_w->mode_area; 
    22512259 
    22522260    form2 = XtVaCreateManagedWidget("form2", 
    2253     xmFormWidgetClass, 
    2254     form1, 
    2255     XmNwidth, width, 
    2256     XmNheight, height, 
    2257     XmNtopOffset, 0, 
    2258     XmNbottomOffset, 0, 
    2259     XmNleftOffset, 0, 
    2260     XmNrightOffset, 0, 
    2261     XmNrightAttachment, XmATTACH_FORM, 
    2262     XmNbottomAttachment, XmATTACH_FORM, 
    2263     XmNleftAttachment, XmATTACH_WIDGET, 
    2264     XmNleftWidget, separator, 
    2265     XmNtopAttachment, XmATTACH_POSITION, 
    2266     XmNresizePolicy, XmRESIZE_NONE, 
    2267     XmNx, 0, 
    2268     XmNy, 0, 
    2269     NULL); 
     2261                                    xmFormWidgetClass, 
     2262                                    form1, 
     2263                                    XmNwidth, width, 
     2264                                    XmNheight, height, 
     2265                                    XmNtopOffset, 0, 
     2266                                    XmNbottomOffset, 0, 
     2267                                    XmNleftOffset, 0, 
     2268                                    XmNrightOffset, 0, 
     2269                                    XmNrightAttachment, XmATTACH_FORM, 
     2270                                    XmNbottomAttachment, XmATTACH_FORM, 
     2271                                    XmNleftAttachment, XmATTACH_WIDGET, 
     2272                                    XmNleftWidget, separator, 
     2273                                    XmNtopAttachment, XmATTACH_POSITION, 
     2274                                    XmNresizePolicy, XmRESIZE_NONE, 
     2275                                    XmNx, 0, 
     2276                                    XmNy, 0, 
     2277                                    NULL); 
    22702278    p_w->areas[AW_INFO_AREA] = 
    2271     new AW_area_management(root, form2, XtVaCreateManagedWidget("info_area", 
    2272             xmDrawingAreaWidgetClass, 
    2273             form2, 
    2274             XmNheight, 0, 
    2275             XmNbottomAttachment, XmATTACH_NONE, 
    2276             XmNtopAttachment, XmATTACH_FORM, 
    2277             XmNleftAttachment, XmATTACH_FORM, 
    2278             XmNrightAttachment, XmATTACH_FORM, 
    2279             XmNmarginHeight, 2, 
    2280             XmNmarginWidth, 2, 
    2281             NULL)); 
     2279        new AW_area_management(root, form2, XtVaCreateManagedWidget("info_area", 
     2280                                                                    xmDrawingAreaWidgetClass, 
     2281                                                                    form2, 
     2282                                                                    XmNheight, 0, 
     2283                                                                    XmNbottomAttachment, XmATTACH_NONE, 
     2284                                                                    XmNtopAttachment, XmATTACH_FORM, 
     2285                                                                    XmNleftAttachment, XmATTACH_FORM, 
     2286                                                                    XmNrightAttachment, XmATTACH_FORM, 
     2287                                                                    XmNmarginHeight, 2, 
     2288                                                                    XmNmarginWidth, 2, 
     2289                                                                    NULL)); 
    22822290 
    22832291    p_w->areas[AW_BOTTOM_AREA] = 
    2284     new AW_area_management(root, form2, XtVaCreateManagedWidget("bottom_area", 
    2285             xmDrawingAreaWidgetClass, 
    2286             form2, 
    2287             XmNheight, 0, 
    2288             XmNbottomAttachment, XmATTACH_FORM, 
    2289             XmNtopAttachment, XmATTACH_NONE, 
    2290             XmNleftAttachment, XmATTACH_FORM, 
    2291             XmNrightAttachment, XmATTACH_FORM, 
    2292             NULL)); 
     2292        new AW_area_management(root, form2, XtVaCreateManagedWidget("bottom_area", 
     2293                                                                    xmDrawingAreaWidgetClass, 
     2294                                                                    form2, 
     2295                                                                    XmNheight, 0, 
     2296                                                                    XmNbottomAttachment, XmATTACH_FORM, 
     2297                                                                    XmNtopAttachment, XmATTACH_NONE, 
     2298                                                                    XmNleftAttachment, XmATTACH_FORM, 
     2299                                                                    XmNrightAttachment, XmATTACH_FORM, 
     2300                                                                    NULL)); 
    22932301 
    22942302    p_w->scroll_bar_horizontal = XtVaCreateManagedWidget("scroll_bar_horizontal", 
    2295     xmScrollBarWidgetClass, 
    2296     form2, 
    2297     XmNheight, 15, 
    2298     XmNminimum, 0, 
    2299     XmNmaximum, AW_SCROLL_MAX, 
    2300     XmNincrement, 10, 
    2301     XmNsliderSize, AW_SCROLL_MAX, 
    2302     XmNrightAttachment, XmATTACH_FORM, 
    2303     XmNbottomAttachment, XmATTACH_FORM, 
    2304     XmNbottomOffset, 0, 
    2305     XmNleftAttachment, XmATTACH_FORM, 
    2306     XmNtopAttachment, XmATTACH_NONE, 
    2307     XmNorientation, XmHORIZONTAL, 
    2308     XmNrightOffset, 18, 
    2309     NULL); 
     2303                                                         xmScrollBarWidgetClass, 
     2304                                                         form2, 
     2305                                                         XmNheight, 15, 
     2306                                                         XmNminimum, 0, 
     2307                                                         XmNmaximum, AW_SCROLL_MAX, 
     2308                                                         XmNincrement, 10, 
     2309                                                         XmNsliderSize, AW_SCROLL_MAX, 
     2310                                                         XmNrightAttachment, XmATTACH_FORM, 
     2311                                                         XmNbottomAttachment, XmATTACH_FORM, 
     2312                                                         XmNbottomOffset, 0, 
     2313                                                         XmNleftAttachment, XmATTACH_FORM, 
     2314                                                         XmNtopAttachment, XmATTACH_NONE, 
     2315                                                         XmNorientation, XmHORIZONTAL, 
     2316                                                         XmNrightOffset, 18, 
     2317                                                         NULL); 
    23102318 
    23112319    p_w->scroll_bar_vertical = XtVaCreateManagedWidget("scroll_bar_vertical", 
    2312     xmScrollBarWidgetClass, 
    2313     form2, 
    2314     XmNwidth, 15, 
    2315     XmNminimum, 0, 
    2316     XmNmaximum, AW_SCROLL_MAX, 
    2317     XmNincrement, 10, 
    2318     XmNsliderSize, AW_SCROLL_MAX, 
    2319     XmNrightAttachment, XmATTACH_FORM, 
    2320     XmNbottomAttachment, XmATTACH_WIDGET, 
    2321     XmNbottomWidget, p_w->scroll_bar_horizontal, 
    2322     XmNbottomOffset, 3, 
    2323     XmNleftOffset, 3, 
    2324     XmNrightOffset, 3, 
    2325     XmNleftAttachment, XmATTACH_NONE, 
    2326     XmNtopAttachment, XmATTACH_WIDGET, 
    2327     XmNtopWidget, INFO_WIDGET, 
    2328     NULL); 
     2320                                                       xmScrollBarWidgetClass, 
     2321                                                       form2, 
     2322                                                       XmNwidth, 15, 
     2323                                                       XmNminimum, 0, 
     2324                                                       XmNmaximum, AW_SCROLL_MAX, 
     2325                                                       XmNincrement, 10, 
     2326                                                       XmNsliderSize, AW_SCROLL_MAX, 
     2327                                                       XmNrightAttachment, XmATTACH_FORM, 
     2328                                                       XmNbottomAttachment, XmATTACH_WIDGET, 
     2329                                                       XmNbottomWidget, p_w->scroll_bar_horizontal, 
     2330                                                       XmNbottomOffset, 3, 
     2331                                                       XmNleftOffset, 3, 
     2332                                                       XmNrightOffset, 3, 
     2333                                                       XmNleftAttachment, XmATTACH_NONE, 
     2334                                                       XmNtopAttachment, XmATTACH_WIDGET, 
     2335                                                       XmNtopWidget, INFO_WIDGET, 
     2336                                                       NULL); 
    23292337 
    23302338    p_w->frame = XtVaCreateManagedWidget("draw_area", 
    2331     xmFrameWidgetClass, 
    2332     form2, 
    2333     XmNshadowType, XmSHADOW_IN, 
    2334     XmNshadowThickness, 2, 
    2335     XmNleftOffset, 3, 
    2336     XmNtopOffset, 3, 
    2337     XmNbottomOffset, 3, 
    2338     XmNrightOffset, 3, 
    2339     XmNbottomAttachment, XmATTACH_WIDGET, 
    2340     XmNbottomWidget, p_w->scroll_bar_horizontal, 
    2341     XmNtopAttachment, XmATTACH_FORM, 
    2342     XmNtopOffset, 0, 
    2343     XmNleftAttachment, XmATTACH_FORM, 
    2344     XmNrightAttachment, XmATTACH_WIDGET, 
    2345     XmNrightWidget, p_w->scroll_bar_vertical, 
    2346     NULL); 
     2339                                         xmFrameWidgetClass, 
     2340                                         form2, 
     2341                                         XmNshadowType, XmSHADOW_IN, 
     2342                                         XmNshadowThickness, 2, 
     2343                                         XmNleftOffset, 3, 
     2344                                         XmNtopOffset, 3, 
     2345                                         XmNbottomOffset, 3, 
     2346                                         XmNrightOffset, 3, 
     2347                                         XmNbottomAttachment, XmATTACH_WIDGET, 
     2348                                         XmNbottomWidget, p_w->scroll_bar_horizontal, 
     2349                                         XmNtopAttachment, XmATTACH_FORM, 
     2350                                         XmNtopOffset, 0, 
     2351                                         XmNleftAttachment, XmATTACH_FORM, 
     2352                                         XmNrightAttachment, XmATTACH_WIDGET, 
     2353                                         XmNrightWidget, p_w->scroll_bar_vertical, 
     2354                                         NULL); 
    23472355 
    23482356    p_w->areas[AW_MIDDLE_AREA] = 
    2349     new AW_area_management(root, p_w->frame, XtVaCreateManagedWidget("draw area", 
    2350             xmDrawingAreaWidgetClass, 
    2351             p_w->frame, 
    2352             XmNmarginHeight, 0, 
    2353             XmNmarginWidth, 0, 
    2354             NULL)); 
     2357        new AW_area_management(root, p_w->frame, XtVaCreateManagedWidget("draw area", 
     2358                                                                         xmDrawingAreaWidgetClass, 
     2359                                                                         p_w->frame, 
     2360                                                                         XmNmarginHeight, 0, 
     2361                                                                         XmNmarginWidth, 0, 
     2362                                                                         NULL)); 
    23552363 
    23562364    XmMainWindowSetAreas(main_window, p_w->menu_bar[0], (Widget) NULL, 
    2357     (Widget) NULL, (Widget) NULL, form1); 
     2365                         (Widget) NULL, (Widget) NULL, form1); 
    23582366 
    23592367    aw_realize_widget(this); 
     
    23992407} 
    24002408 
    2401 void AW_window_simple_menu::init(AW_root *root_in, const char *wid, const char *windowname) { 
     2409void AW_window_simple_menu::init(AW_root *root_in, const char *wid, const char *windowname) {  
    24022410    root = root_in; // for macro 
    24032411 
     
    24202428 
    24212429    main_window = XtVaCreateManagedWidget("mainWindow1", 
    2422             xmMainWindowWidgetClass, p_w->shell, 
    2423             NULL); 
     2430                                          xmMainWindowWidgetClass, p_w->shell, 
     2431                                          NULL); 
    24242432 
    24252433    p_w->menu_bar[0] = XtVaCreateManagedWidget("menu1", xmRowColumnWidgetClass, 
    2426             main_window, 
    2427             XmNrowColumnType, XmMENU_BAR, 
    2428             NULL); 
     2434                                               main_window, 
     2435                                               XmNrowColumnType, XmMENU_BAR, 
     2436                                               NULL); 
    24292437 
    24302438    // create shell for help-cascade 
    24312439    help_popup = XtVaCreatePopupShell("menu_shell", xmMenuShellWidgetClass, 
    2432             p_w->menu_bar[0], 
    2433             XmNwidth, 1, 
    2434             XmNheight, 1, 
    2435             XmNallowShellResize, true, 
    2436             XmNoverrideRedirect, true, 
    2437             NULL); 
     2440                                      p_w->menu_bar[0], 
     2441                                      XmNwidth, 1, 
     2442                                      XmNheight, 1, 
     2443                                      XmNallowShellResize, true, 
     2444                                      XmNoverrideRedirect, true, 
     2445                                      NULL); 
    24382446 
    24392447    // create row column in Pull-Down shell 
    24402448    p_w->help_pull_down = XtVaCreateWidget("menu_row_column", 
    2441             xmRowColumnWidgetClass, help_popup, 
    2442             XmNrowColumnType, XmMENU_PULLDOWN, 
    2443             NULL); 
     2449                                           xmRowColumnWidgetClass, help_popup, 
     2450                                           XmNrowColumnType, XmMENU_PULLDOWN, 
     2451                                           NULL); 
    24442452 
    24452453    // create HELP-label in menu bar 
    24462454    help_label = XtVaCreateManagedWidget("menu1_top_b1", 
    2447             xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
    2448             RES_CONVERT(XmNlabelString, help_button), 
    2449                                           RES_CONVERT(XmNmnemonic, help_mnemonic), 
    2450                                           XmNsubMenuId, p_w->help_pull_down, NULL); 
     2455                                         xmCascadeButtonWidgetClass, p_w->menu_bar[0], 
     2456                                         RES_CONVERT(XmNlabelString, help_button), 
     2457                                         RES_CONVERT(XmNmnemonic, help_mnemonic), 
     2458                                         XmNsubMenuId, p_w->help_pull_down, NULL); 
    24512459    XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 
    24522460    root->make_sensitive(help_label, AWM_ALL); 
    24532461 
    24542462    form1 = XtVaCreateManagedWidget("form1", 
    2455     xmFormWidgetClass, 
    2456     main_window, 
    2457     XmNtopOffset, 10, 
    2458     XmNresizePolicy, XmRESIZE_NONE, 
    2459     NULL); 
     2463                                    xmFormWidgetClass, 
     2464                                    main_window, 
     2465                                    XmNtopOffset, 10, 
     2466                                    XmNresizePolicy, XmRESIZE_NONE, 
     2467                                    NULL); 
    24602468 
    24612469    p_w->areas[AW_INFO_AREA] = 
    2462     new AW_area_management(root, form1, XtVaCreateManagedWidget("info_area", 
    2463             xmDrawingAreaWidgetClass, 
    2464             form1, 
    2465             XmNbottomAttachment, XmATTACH_FORM, 
    2466             XmNtopAttachment, XmATTACH_FORM, 
    2467             XmNleftAttachment, XmATTACH_FORM, 
    2468             XmNrightAttachment, XmATTACH_FORM, 
    2469             XmNmarginHeight, 2, 
    2470             XmNmarginWidth, 2, 
    2471             NULL)); 
     2470        new AW_area_management(root, form1, XtVaCreateManagedWidget("info_area", 
     2471                                                                    xmDrawingAreaWidgetClass, 
     2472                                                                    form1, 
     2473                                                                    XmNbottomAttachment, XmATTACH_FORM, 
     2474                                                                    XmNtopAttachment, XmATTACH_FORM, 
     2475                                                                    XmNleftAttachment, XmATTACH_FORM, 
     2476                                                                    XmNrightAttachment, XmATTACH_FORM, 
     2477                                                                    XmNmarginHeight, 2, 
     2478                                                                    XmNmarginWidth, 2, 
     2479                                                                    NULL)); 
    24722480 
    24732481    aw_realize_widget(this); 
     
    31273135        else { 
    31283136            aw_assert(recalc_size_at_show == AW_RESIZE_USER); 
    3129             // check whether user size is too small and increase to minimum (aka default) 
    3130             int default_width, default_height; 
    3131             get_window_size(default_width, default_height); 
    3132             AW_root *tmp_root = get_root(); 
    3133             int user_width = tmp_root->awar(aw_awar_name_width(this))->read_int(); 
    3134             int user_height = tmp_root->awar(aw_awar_name_height(this))->read_int(); 
    3135  
    3136             if (user_width<default_width) user_width = default_width; 
    3137             if (user_height<default_height) user_height = default_height; 
     3137            // check whether user size is too small and increase to minimum window size 
     3138 
     3139            int min_width, min_height;   get_window_size(min_width, min_height); 
     3140            int user_width, user_height; get_size_from_awars(user_width, user_height); 
     3141 
     3142            if (user_width <min_width)  user_width  = min_width; 
     3143            if (user_height<min_height) user_height = min_height; 
    31383144 
    31393145            set_window_size(user_width, user_height); 
     
    31423148    } 
    31433149 
    3144     if (recalc_pos_at_show != AW_KEEP_POS) { 
     3150    { 
    31453151        int  posx, posy; 
    31463152        bool setPos = false; 
     
    31533159                int mx, my; if (!get_mouse_pos(mx, my)) goto FALLBACK_CENTER; 
    31543160                int width, height; get_window_size(width, height); 
    3155                 int wx, wy; get_window_pos(wx, wy); 
    3156  
    3157                 int wx2 = wx+width-1; 
    3158                 int wy2 = wy+height-1; 
    3159  
    3160                 if (mx<wx || mx>wx2 || my<wy || my>wy2) { // mouse is outside window 
     3161                int wx, wy; get_window_content_pos(wx, wy); 
     3162 
     3163                if (wx || wy) { 
     3164                    if (p_w->knows_WM_offset()) { 
     3165                        wx -= p_w->WM_left_offset; 
     3166                        wy -= p_w->WM_top_offset; 
     3167 
     3168                        width  += p_w->WM_left_offset; 
     3169                        height += p_w->WM_top_offset; 
     3170                    } 
     3171 
     3172                    int wx2 = wx+width-1; 
     3173                    int wy2 = wy+height-1; 
     3174 
     3175                    if (mx<wx) { setPos = true; wx = mx; } else if (mx>wx2) { setPos = true; wx = mx-width+1; } 
     3176                    if (my<wy) { setPos = true; wy = my; } else if (my>wy2) { setPos = true; wy = my-height+1; } 
     3177 
     3178                    posx = wx; 
     3179                    posy = wy; 
     3180                } 
     3181                else { 
    31613182                    setPos = true; 
    3162                     posx   = mx-width/2; // center window on mouse position 
     3183                    posx   = mx-width/2; 
    31633184                    posy   = my-height/2; 
    31643185                } 
     3186 
     3187                if (posx<0) posx = 0; 
     3188                if (posy<0) posy = 0; 
     3189 
    31653190                break; 
    31663191            } 
    31673192            case AW_REPOS_TO_CENTER: { 
    3168             FALLBACK_CENTER : 
     3193                  FALLBACK_CENTER : 
    31693194                int width, height; get_window_size(width, height); 
    31703195                int swidth, sheight; get_screen_size(swidth, sheight); 
     
    31773202 
    31783203            case AW_KEEP_POS: 
    3179                 aw_assert(0); 
    31803204                break; 
    31813205        } 
    31823206 
    3183         if (setPos) { 
    3184             int currx, curry; 
    3185             get_window_pos(currx, curry); 
    3186             if (currx != posx || curry != posy) { 
    3187 #if defined(DEBUG) && 0 
    3188                 printf("force position at show_internal: %i/%i\n", posx, posy); 
    3189 #endif // DEBUG 
    3190                 set_window_pos(posx, posy); 
    3191             } 
    3192         } 
     3207        if (setPos) store_pos_in_awars(posx, posy); 
     3208        else get_pos_from_awars(posx, posy); 
     3209 
     3210        set_window_frame_pos(posx, posy); // always set pos 
    31933211    } 
    31943212 
    31953213    XtPopup(p_w->shell, grab); 
    3196     if (p_w->WM_top_offset == AW_FIX_POS_ON_EXPOSE) {              // very bad hack 
    3197         set_expose_callback(AW_INFO_AREA, (AW_CB)aw_calculate_WM_offsets, 0, 0); 
     3214    if (!expose_callback_added) { 
     3215        set_expose_callback(AW_INFO_AREA, (AW_CB)aw_onExpose_calc_WM_offsets, 0, 0); // @@@ should be removed after it was called once 
     3216        expose_callback_added = true; 
    31983217    } 
    31993218} 
     
    32113230void AW_window::hide() { 
    32123231    if (window_is_shown) { 
     3232        aw_update_window_geometry_awars(this); 
    32133233        if (hide_cb) hide_cb(this); 
    32143234        get_root()->window_hide(); 
  • branches/e4fix/WINDOW/aw_nawar.hxx

    r7623 r8287  
    9292}; 
    9393 
    94 void aw_update_awar_window_geometry(AW_root *awr); 
     94void aw_update_window_geometry_awars(AW_window *aww); // one window 
     95void aw_update_all_window_geometry_awars(AW_root *awr); // all windows 
    9596 
    9697#else 
  • branches/e4fix/WINDOW/aw_window.hxx

    r8194 r8287  
    198198enum AW_PosRecalc { 
    199199    AW_KEEP_POS            = 0,                     // do not change position on show 
    200     AW_REPOS_TO_CENTER     = 1,                     // center the window on show 
     200    AW_REPOS_TO_CENTER     = 1,                     // center the window on show (unused atm) 
    201201    AW_REPOS_TO_MOUSE      = 2,                     // move the window under the current mouse position 
    202202    AW_REPOS_TO_MOUSE_ONCE = 3,                     // like AW_REPOS_TO_MOUSE, but only done once! 
     
    210210    aw_hide_cb         hide_cb; 
    211211 
     212    bool expose_callback_added; 
     213     
    212214    void all_menus_created() const; 
    213215    void create_toggle(const char *var_name, aw_toggle_data *tdata); 
     
    390392 
    391393 
     394    void create_user_geometry_awars(int posx, int posy, int width, int height); 
     395     
    392396    // ************** Control window size  ********* 
    393397    void set_window_size(int width, int height); 
     
    395399    void window_fit();                              // Recalculate the size of a window with buttons 
    396400 
     401    void store_size_in_awars(int width, int height); 
     402    void get_size_from_awars(int& width, int& height); 
     403 
    397404 
    398405    // ************** Control window position  ********* 
    399     void set_window_pos(int width, int height); 
    400     void get_window_pos(int& xpos, int& ypos); 
    401  
     406    void set_window_frame_pos(int xpos, int ypos); 
     407    void get_window_content_pos(int& xpos, int& ypos); 
     408 
     409    void store_pos_in_awars(int xpos, int ypos); 
     410    void get_pos_from_awars(int& xpos, int& ypos); 
     411     
     412     
    402413    // ***************** 
    403414 
  • branches/e4fix/WINDOW/aw_window_Xm.hxx

    r7669 r8287  
    272272 
    273273const int AW_NUMBER_OF_F_KEYS = 20; 
    274 #define AW_FIX_POS_ON_EXPOSE -12345 
     274#define AW_CALC_OFFSET_ON_EXPOSE -12345 
    275275 
    276276class AW_window_Motif : virtual Noncopyable { 
     
    301301 
    302302    AW_area_management *areas[AW_MAX_AREA]; 
    303     int                 WM_top_offset; // WM top area 
    304     int                 WM_left_offset; 
     303 
     304    int WM_top_offset;                 // correction between position set and position reported ( = size of window frame - in most cases!) 
     305    int WM_left_offset; 
     306 
     307    bool knows_WM_offset() const { return WM_top_offset != AW_CALC_OFFSET_ON_EXPOSE; } 
    305308 
    306309    AW_window_Motif(); 
  • branches/e4fix/arb_INSTALL.txt

    r7131 r8287  
    114114-------------------------------------------------- 
    115115 
    116 - expat, xmllint, sablotron 0.82-1.0 [needed for target 'help' only] 
     116- expat, xmllint, xsltproc [needed for target 'help' only] 
    117117- openmotif, openmotif-devel 
    118118- xaw??? 
    119119- libtiff-devel 
    120 - java 1.3.1 or above [needed for arb_probe_library only] 
    121120- lynx 
    122121 
     
    128127- mesaglw-devel (opensuse) 
    129128- libpng 
    130 - libglew                  
     129- libglew 
     130- glew-devel (opensuse) 
    131131- freeglut 
    132132- freeglut-devel