Changeset 8287
- Timestamp:
- 09/12/11 10:03:56 (6 months ago)
- Location:
- branches/e4fix
- Files:
-
- 19 modified
-
!BRANCH_STATE (modified) (2 diffs)
-
AISC_MKPTPS/mkptypes.cxx (modified) (3 diffs)
-
ARBDB/ad_prot.h (modified) (9 diffs)
-
ARBDB/ad_t_prot.h (modified) (2 diffs)
-
ARBDB/gb_prot.h (modified) (6 diffs)
-
GL/glAW/GLwDrawA.c (modified) (1 diff)
-
Makefile (modified) (1 diff)
-
NTREE/AP_consensus.cxx (modified) (1 diff)
-
NTREE/NT_cb.cxx (modified) (1 diff)
-
NTREE/nt_cb.hxx (modified) (1 diff)
-
NTREE/nt_internal.h (modified) (2 diffs)
-
PROBE/pt_prototypes.h (modified) (2 diffs)
-
WINDOW/AW_modal.cxx (modified) (1 diff)
-
WINDOW/AW_nawar.cxx (modified) (1 diff)
-
WINDOW/AW_window.cxx (modified) (17 diffs)
-
WINDOW/aw_nawar.hxx (modified) (1 diff)
-
WINDOW/aw_window.hxx (modified) (4 diffs)
-
WINDOW/aw_window_Xm.hxx (modified) (2 diffs)
-
arb_INSTALL.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/e4fix/!BRANCH_STATE
r8274 r8287 8 8 9 9 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 11 12 12 13 skipped patches (depends, already there, ...) … … 16 17 --- current try above 17 18 18 19 not reviewed: 8275:HEAD 19 not reviewed: 8288:HEAD 20 20 21 21 BRANCH->TRUNK -
branches/e4fix/AISC_MKPTPS/mkptypes.cxx
r8274 r8287 1480 1480 } 1481 1481 1482 static int string_comparator(const void *v0, const void *v1) { 1483 return strcmp(*(const char **)v0, *(const char **)v1); 1484 } 1485 1482 1486 int ARB_main(int argc, const char *argv[]) { 1483 1487 FILE *f; … … 1652 1656 } 1653 1657 else { 1658 const char *filename[1000]; 1659 int fcount = 0; 1654 1660 1655 1661 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) { 1656 1669 DEBUG_PRINT("trying new file '"); 1657 DEBUG_PRINT( *argv);1670 DEBUG_PRINT(filename[i]); 1658 1671 DEBUG_PRINT("'\n"); 1659 1672 1660 if (!(f = fopen( *argv, "r"))) {1661 perror( *argv);1673 if (!(f = fopen(filename[i], "r"))) { 1674 perror(filename[i]); 1662 1675 exit(EXIT_FAILURE); 1663 1676 } … … 1667 1680 newline_seen = 1; 1668 1681 glastc = ' '; 1669 getdecl(f, *argv); 1670 argc--; argv++; 1682 getdecl(f, filename[i]); 1671 1683 fclose(f); 1672 1684 -
branches/e4fix/ARBDB/ad_prot.h
r8274 r8287 13 13 #endif 14 14 15 16 /* adExperiment.cxx */ 17 GBDATA *EXP_get_experiment_data(GBDATA *gb_species); 18 GBDATA *EXP_find_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 19 GBDATA *EXP_find_experiment(GBDATA *gb_species, const char *name); 20 GBDATA *EXP_expect_experiment(GBDATA *gb_species, const char *name); 21 GBDATA *EXP_first_experiment_rel_exp_data(GBDATA *gb_experiment_data); 22 GBDATA *EXP_next_experiment(GBDATA *gb_experiment); 23 GBDATA *EXP_find_or_create_experiment_rel_exp_data(GBDATA *gb_experiment_data, const char *name); 24 25 /* adGene.cxx */ 26 bool GEN_is_genome_db(GBDATA *gb_main, int default_value); 27 GBDATA *GEN_findOrCreate_gene_data(GBDATA *gb_species); 28 GBDATA *GEN_find_gene_data(GBDATA *gb_species); 29 GBDATA *GEN_expect_gene_data(GBDATA *gb_species); 30 GBDATA *GEN_find_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 31 GBDATA *GEN_find_gene(GBDATA *gb_species, const char *name); 32 GBDATA *GEN_create_nonexisting_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 33 GBDATA *GEN_create_nonexisting_gene(GBDATA *gb_species, const char *name); 34 GBDATA *GEN_find_or_create_gene_rel_gene_data(GBDATA *gb_gene_data, const char *name); 35 GBDATA *GEN_find_or_create_gene(GBDATA *gb_species, const char *name); 36 GBDATA *GEN_first_gene(GBDATA *gb_species); 37 GBDATA *GEN_first_gene_rel_gene_data(GBDATA *gb_gene_data); 38 GBDATA *GEN_next_gene(GBDATA *gb_gene); 39 GBDATA *GEN_first_marked_gene(GBDATA *gb_species); 40 GBDATA *GEN_next_marked_gene(GBDATA *gb_gene); 41 GEN_position *GEN_new_position(int parts, bool joinable); 42 void GEN_use_uncertainties(GEN_position *pos); 43 void GEN_free_position(GEN_position *pos); 44 GEN_position *GEN_read_position(GBDATA *gb_gene); 45 GB_ERROR GEN_write_position(GBDATA *gb_gene, const GEN_position *pos); 46 void GEN_sortAndMergeLocationParts(GEN_position *location); 47 const char *GEN_origin_organism(GBDATA *gb_pseudo); 48 const char *GEN_origin_gene(GBDATA *gb_pseudo); 49 bool GEN_is_pseudo_gene_species(GBDATA *gb_species); 50 GB_ERROR GEN_organism_not_found(GBDATA *gb_pseudo); 51 GBDATA *GEN_read_pseudo_species_from_hash(GB_HASH *pseudo_hash, const char *organism_name, const char *gene_name); 52 void GEN_add_pseudo_species_to_hash(GBDATA *gb_pseudo, GB_HASH *pseudo_hash); 53 GB_HASH *GEN_create_pseudo_species_hash(GBDATA *gb_main, int additionalSize); 54 GBDATA *GEN_find_pseudo_species(GBDATA *gb_main, const char *organism_name, const char *gene_name, GB_HASH *pseudo_hash); 55 GBDATA *GEN_find_origin_organism(GBDATA *gb_pseudo, GB_HASH *organism_hash); 56 GBDATA *GEN_find_origin_gene(GBDATA *gb_pseudo, GB_HASH *organism_hash); 57 GBDATA *GEN_first_pseudo_species(GBDATA *gb_main); 58 GBDATA *GEN_first_pseudo_species_rel_species_data(GBDATA *gb_species_data); 59 GBDATA *GEN_next_pseudo_species(GBDATA *gb_species); 60 GBDATA *GEN_first_marked_pseudo_species(GBDATA *gb_main); 61 GBDATA *GEN_next_marked_pseudo_species(GBDATA *gb_species); 62 bool GEN_is_organism(GBDATA *gb_species); 63 GBDATA *GEN_find_organism(GBDATA *gb_main, const char *name); 64 GBDATA *GEN_first_organism(GBDATA *gb_main); 65 GBDATA *GEN_next_organism(GBDATA *gb_organism); 66 long GEN_get_organism_count(GBDATA *gb_main); 67 GBDATA *GEN_first_marked_organism(GBDATA *gb_main); 68 GBDATA *GEN_next_marked_organism(GBDATA *gb_organism); 69 char *GEN_global_gene_identifier(GBDATA *gb_gene, GBDATA *gb_organism); 15 70 16 71 /* adTest.cxx */ … … 38 93 GB_ERROR GB_save_quick(GBDATA *gb, const char *refpath); 39 94 void GB_disable_path(GBDATA *gbd, const char *path); 95 96 /* adcache.cxx */ 97 char *GB_set_cache_size(GBDATA *gbd, size_t size); 40 98 41 99 /* adcomm.cxx */ … … 50 108 GB_ERROR GB_install_pid(int mode); 51 109 const char *GB_date_string(void); 110 111 /* adcompr.cxx */ 112 bool GB_is_dictionary_compressed(GBDATA *gbd); 113 114 /* adfile.cxx */ 115 GB_CSTR GB_getcwd(void); 116 char *GB_find_all_files(const char *dir, const char *mask, bool filename_only); 117 char *GB_find_latest_file(const char *dir, const char *mask); 118 const char *GB_existing_file(const char *file, bool warn_when_not_found); 119 char *GB_lib_file(bool warn_when_not_found, const char *libprefix, const char *filename); 120 char *GB_property_file(bool warn_when_not_found, const char *filename); 121 void GBS_read_dir(StrArray &names, const char *dir, const char *mask); 122 bool GB_test_textfile_difflines(const char *file1, const char *file2, int expected_difflines, int special_mode); 123 size_t GB_test_mem_equal(const unsigned char *buf1, const unsigned char *buf2, size_t common); 124 bool GB_test_files_equal(const char *file1, const char *file2); 125 void GBT_transform_names(StrArray &dest, const StrArray &source, char *transform (const char *, void *), void *client_data); 52 126 53 127 /* adhash.cxx */ … … 81 155 void GBS_free_numhash(GB_NUMHASH *hs); 82 156 83 /* adcache.cxx */84 char *GB_set_cache_size(GBDATA *gbd, size_t size);85 86 157 /* adhashtools.cxx */ 87 158 void GBT_add_item_to_hash(GBDATA *gb_item, GB_HASH *item_hash); … … 92 163 GB_HASH *GBT_create_organism_hash(GBDATA *gb_main); 93 164 165 /* adindex.cxx */ 166 GB_ERROR GB_create_index(GBDATA *gbd, const char *key, GB_CASE case_sens, long estimated_size) __ATTR__USERESULT; 167 NOT4PERL void GB_dump_indices(GBDATA *gbd); 168 GB_ERROR GB_request_undo_type(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT_TODO; 169 GB_UNDO_TYPE GB_get_requested_undo_type(GBDATA *gb_main); 170 GB_ERROR GB_undo(GBDATA *gb_main, GB_UNDO_TYPE type) __ATTR__USERESULT; 171 char *GB_undo_info(GBDATA *gb_main, GB_UNDO_TYPE type); 172 GB_ERROR GB_set_undo_mem(GBDATA *gbd, long memsize); 173 94 174 /* adlang1.cxx */ 95 175 NOT4PERL void GB_set_export_sequence_hook(gb_export_sequence_cb escb); … … 105 185 NOT4PERL void *GB_recalloc(void *ptr, unsigned int oelem, unsigned int nelem, unsigned int elsize); 106 186 void GB_memerr(void); 187 188 /* admap.cxx */ 189 bool GB_supports_mapfile(void); 107 190 108 191 /* admatch.cxx */ … … 130 213 /* adperl.cxx */ 131 214 GB_ERROR GBC_await_error(void); 215 216 /* adquery.cxx */ 217 const char *GB_get_GBDATA_path(GBDATA *gbd); 218 GBDATA *GB_find_sub_by_quark(GBDATA *father, GBQUARK key_quark, GBDATA *after, size_t skip_over); 219 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); 220 GBDATA *GB_find(GBDATA *gbd, const char *key, GB_SEARCH_TYPE gbs); 221 GBDATA *GB_find_string(GBDATA *gbd, const char *key, const char *str, GB_CASE case_sens, GB_SEARCH_TYPE gbs); 222 NOT4PERL GBDATA *GB_find_int(GBDATA *gbd, const char *key, long val, GB_SEARCH_TYPE gbs); 223 GBDATA *GB_child(GBDATA *father); 224 GBDATA *GB_nextChild(GBDATA *child); 225 GBDATA *GB_entry(GBDATA *father, const char *key); 226 GBDATA *GB_nextEntry(GBDATA *entry); 227 GBDATA *GB_followingEntry(GBDATA *entry, size_t skip_over); 228 GBDATA *GB_brother(GBDATA *entry, const char *key); 229 char *GB_first_non_key_char(const char *str); 230 GBDATA *GB_search(GBDATA *gbd, const char *fieldpath, GB_TYPES create); 231 GBDATA *GB_searchOrCreate_string(GBDATA *gb_container, const char *fieldpath, const char *default_value); 232 GBDATA *GB_searchOrCreate_int(GBDATA *gb_container, const char *fieldpath, long default_value); 233 GBDATA *GB_searchOrCreate_float(GBDATA *gb_container, const char *fieldpath, double default_value); 234 GBDATA *GB_search_last_son(GBDATA *gbd); 235 long GB_number_of_marked_subentries(GBDATA *gbd); 236 GBDATA *GB_first_marked(GBDATA *gbd, const char *keystring); 237 GBDATA *GB_following_marked(GBDATA *gbd, const char *keystring, size_t skip_over); 238 GBDATA *GB_next_marked(GBDATA *gbd, const char *keystring); 239 char *GB_command_interpreter(GBDATA *gb_main, const char *str, const char *commands, GBDATA *gbd, const char *default_tree_name); 240 241 /* adsocket.cxx */ 242 void GB_usleep(long usec); 243 char *GB_read_fp(FILE *in); 244 char *GB_read_file(const char *path); 245 char *GB_map_FILE(FILE *in, int writeable); 246 char *GB_map_file(const char *path, int writeable); 247 GB_ULONG GB_time_of_day(void); 248 long GB_last_saved_clock(GBDATA *gb_main); 249 GB_ULONG GB_last_saved_time(GBDATA *gb_main); 250 GB_ERROR GB_textprint(const char *path) __ATTR__USERESULT; 251 GB_ERROR GB_xterm(void) __ATTR__USERESULT; 252 GB_ERROR GB_xcmd(const char *cmd, bool background, bool wait_only_if_error) __ATTR__USERESULT_TODO; 253 char *GB_executable(GB_CSTR exe_name); 254 char *GB_find_executable(GB_CSTR description_of_executable, ...) __ATTR__SENTINEL; 255 void GB_setenv(const char *var, const char *value); 256 GB_CSTR GB_getenvARB_XTERM(void); 257 GB_CSTR GB_getenvARB_XCMD(void); 258 GB_CSTR GB_getenvUSER(void); 259 GB_CSTR GB_getenvHOME(void); 260 GB_CSTR GB_getenvARBHOME(void); 261 GB_CSTR GB_getenvARBMACRO(void); 262 GB_CSTR GB_getenvARBMACROHOME(void); 263 GB_CSTR GB_getenvARBCONFIG(void); 264 GB_CSTR GB_getenvPATH(void); 265 GB_CSTR GB_getenvARB_GS(void); 266 GB_CSTR GB_getenvARB_PDFVIEW(void); 267 GB_CSTR GB_getenvARB_TEXTEDIT(void); 268 GB_CSTR GB_getenvDOCPATH(void); 269 GB_CSTR GB_getenvHTMLDOCPATH(void); 270 NOT4PERL gb_getenv_hook GB_install_getenv_hook(gb_getenv_hook hook); 271 GB_CSTR GB_getenv(const char *env); 272 bool GB_host_is_local(const char *hostname); 273 GB_ULONG GB_get_physical_memory(void); 274 GB_CSTR GB_append_suffix(const char *name, const char *suffix); 275 GB_CSTR GB_canonical_path(const char *anypath); 276 GB_CSTR GB_concat_path(GB_CSTR anypath_left, GB_CSTR anypath_right); 277 GB_CSTR GB_concat_full_path(const char *anypath_left, const char *anypath_right); 278 GB_CSTR GB_unfold_path(const char *pwd_envar, const char *path); 279 GB_CSTR GB_path_in_ARBHOME(const char *relative_path); 280 GB_CSTR GB_path_in_ARBLIB(const char *relative_path); 281 GB_CSTR GB_path_in_arbprop(const char *relative_path); 282 GB_CSTR GB_path_in_ARBHOME(const char *relative_path_left, const char *anypath_right); 283 GB_CSTR GB_path_in_ARBLIB(const char *relative_path_left, const char *anypath_right); 284 FILE *GB_fopen_tempfile(const char *filename, const char *fmode, char **res_fullname); 285 char *GB_create_tempfile(const char *name); 286 char *GB_unique_filename(const char *name_prefix, const char *suffix); 287 void GB_remove_on_exit(const char *filename); 288 void GB_split_full_path(const char *fullpath, char **res_dir, char **res_fullname, char **res_name_only, char **res_suffix); 132 289 133 290 /* adstring.cxx */ … … 158 315 char *GBS_trim(const char *str); 159 316 char *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);173 317 174 318 /* adsystem.cxx */ … … 326 470 long GB_number_of_subentries(GBDATA *gbd); 327 471 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 472 472 #else 473 473 #error ad_prot.h included twice -
branches/e4fix/ARBDB/ad_t_prot.h
r8037 r8287 29 29 NOT4PERL GB_ERROR GBT_determine_T_or_U(GB_alignment_type alignment_type, char *T_or_U, const char *supposed_target); 30 30 NOT4PERL void GBT_reverseComplementNucSequence(char *seq, long length, char T_or_U); 31 32 /* adali.cxx */ 33 int GBT_count_alignments(GBDATA *gb_main); 34 GB_ERROR GBT_check_data(GBDATA *Main, const char *alignment_name); 35 void GBT_get_alignment_names(ConstStrArray &names, GBDATA *gbd); 36 GB_ERROR GBT_check_alignment_name(const char *alignment_name); 37 GBDATA *GBT_create_alignment(GBDATA *gbd, const char *name, long len, long aligned, long security, const char *type); 38 NOT4PERL GB_ERROR GBT_check_alignment(GBDATA *gb_main, GBDATA *preset_alignment, GB_HASH *species_name_hash); 39 GB_ERROR GBT_rename_alignment(GBDATA *gbMain, const char *source, const char *dest, int copy, int dele); 40 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()"); 41 NOT4PERL GBDATA *GBT_create_sequence_data(GBDATA *species, const char *ali_name, const char *key, GB_TYPES type, int security_write); 42 GB_ERROR GBT_write_sequence(GBDATA *gb_data, const char *ali_name, long ali_len, const char *sequence); 43 GBDATA *GBT_gen_accession_number(GBDATA *gb_species, const char *ali_name); 44 int GBT_is_partial(GBDATA *gb_species, int default_value, int define_if_undef); 45 GBDATA *GBT_read_sequence(GBDATA *gb_species, const char *aliname); 46 char *GBT_get_default_alignment(GBDATA *gb_main); 47 GB_ERROR GBT_set_default_alignment(GBDATA *gb_main, const char *alignment_name); 48 GBDATA *GBT_get_alignment(GBDATA *gb_main, const char *aliname); 49 long GBT_get_alignment_len(GBDATA *gb_main, const char *aliname); 50 GB_ERROR GBT_set_alignment_len(GBDATA *gb_main, const char *aliname, long new_len); 51 int GBT_get_alignment_aligned(GBDATA *gb_main, const char *aliname); 52 char *GBT_get_alignment_type_string(GBDATA *gb_main, const char *aliname); 53 GB_alignment_type GBT_get_alignment_type(GBDATA *gb_main, const char *aliname); 54 bool GBT_is_alignment_protein(GBDATA *gb_main, const char *alignment_name); 55 NOT4PERL char *GBT_read_gene_sequence_and_length(GBDATA *gb_gene, bool use_revComplement, char partSeparator, size_t *gene_length); 56 char *GBT_read_gene_sequence(GBDATA *gb_gene, bool use_revComplement, char partSeparator); 31 57 32 58 /* adcolumns.cxx */ … … 162 188 char *GBT_existing_tree(GBDATA *gb_main, const char *tree_name); 163 189 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 190 190 #else 191 191 #error ad_t_prot.h included twice -
branches/e4fix/ARBDB/gb_prot.h
r8274 r8287 13 13 #endif 14 14 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);137 15 138 16 /* ad_core.cxx */ … … 172 50 GB_ERROR gb_commit_transaction_local_rek(GBDATA *gbd, long mode, int *pson_created); 173 51 52 /* ad_load.cxx */ 53 GB_ERROR gb_read_ascii(const char *path, GBCONTAINER *gbd); 54 long gb_read_bin_rek(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed); 55 long gb_recover_corrupt_file(GBCONTAINER *gbd, FILE *in, GB_ERROR recovery_reason); 56 long gb_read_bin_rek_V2(FILE *in, GBCONTAINER *gbd, long nitems, long version, long reversed, long deep); 57 GBDATA *gb_search_system_folder_rek(GBDATA *gbd); 58 void gb_search_system_folder(GBDATA *gb_main); 59 long gb_read_bin(FILE *in, GBCONTAINER *gbd, int diff_file_allowed); 60 GB_MAIN_IDX gb_make_main_idx(GB_MAIN_TYPE *Main); 61 void gb_release_main_idx(GB_MAIN_TYPE *Main); 62 GB_ERROR gb_login_remote(GB_MAIN_TYPE *Main, const char *path, const char *opent); 63 64 /* ad_save_load.cxx */ 65 char *gb_findExtension(char *path); 66 GB_CSTR gb_oldQuicksaveName(GB_CSTR path, int nr); 67 GB_CSTR gb_quicksaveName(GB_CSTR path, int nr); 68 GB_CSTR gb_mapfile_name(GB_CSTR path); 69 GB_CSTR gb_overwriteName(GB_CSTR path); 70 GB_CSTR gb_reffile_name(GB_CSTR path); 71 GB_ERROR gb_delete_reference(const char *master); 72 GB_ERROR gb_create_reference(const char *master); 73 GB_ERROR gb_add_reference(const char *master, const char *changes); 74 GB_ERROR gb_remove_all_but_main(GB_MAIN_TYPE *Main, const char *path); 75 long gb_ascii_2_bin(const char *source, GBDATA *gbd); 76 GB_BUFFER gb_bin_2_ascii(GBDATA *gbd); 77 long gb_read_in_long(FILE *in, long reversed); 78 long gb_read_number(FILE *in); 79 void gb_put_number(long i, FILE *out); 80 long gb_read_bin_error(FILE *in, GBDATA *gbd, const char *text); 81 long gb_write_out_long(long data, FILE *out); 82 int gb_is_writeable(gb_header_list *header, GBDATA *gbd, long version, long diff_save); 83 int gb_write_bin_sub_containers(FILE *out, GBCONTAINER *gbc, long version, long diff_save, int is_root); 84 long gb_write_bin_rek(FILE *out, GBDATA *gbd, long version, long diff_save, long index_of_master_file); 85 int gb_write_bin(FILE *out, GBDATA *gbd, long version); 86 char *gb_full_path(const char *path); 87 GB_ERROR gb_check_saveable(GBDATA *gbd, const char *path, const char *flags); 88 89 /* adcache.cxx */ 90 void gb_init_cache(GB_MAIN_TYPE *Main); 91 void gb_destroy_cache(GB_MAIN_TYPE *Main); 92 char *gb_read_cache(GBDATA *gbd); 93 void gb_free_cache(GB_MAIN_TYPE *Main, GBDATA *gbd); 94 char *gb_alloc_cache_index(GBDATA *gbd, size_t size); 95 void gb_flush_cache(GBDATA *gbd); 96 97 /* adcomm.cxx */ 98 GB_ERROR gbcm_unfold_client(GBCONTAINER *gbd, long deep, long index_pos) __ATTR__USERESULT; 99 GB_ERROR gbcmc_begin_sendupdate(GBDATA *gbd); 100 GB_ERROR gbcmc_end_sendupdate(GBDATA *gbd); 101 GB_ERROR gbcmc_sendupdate_create(GBDATA *gbd); 102 GB_ERROR gbcmc_sendupdate_delete(GBDATA *gbd); 103 GB_ERROR gbcmc_sendupdate_update(GBDATA *gbd, int send_headera); 104 GB_ERROR gbcmc_begin_transaction(GBDATA *gbd); 105 GB_ERROR gbcmc_init_transaction(GBCONTAINER *gbd); 106 GB_ERROR gbcmc_commit_transaction(GBDATA *gbd); 107 GB_ERROR gbcmc_abort_transaction(GBDATA *gbd); 108 GB_ERROR gbcms_add_to_delete_list(GBDATA *gbd); 109 long gbcmc_key_alloc(GBDATA *gbd, const char *key); 110 GB_ERROR gbcmc_send_undo_commands(GBDATA *gbd, enum gb_undo_commands command) __ATTR__USERESULT; 111 char *gbcmc_send_undo_info_commands(GBDATA *gbd, enum gb_undo_commands command); 112 GB_ERROR gbcm_login(GBCONTAINER *gb_main, const char *loginname); 113 GBCM_ServerResult gbcmc_close(gbcmc_comm *link); 114 GB_ERROR gbcm_logout(GB_MAIN_TYPE *Main, const char *loginname); 115 174 116 /* adcompr.cxx */ 175 117 gb_compress_tree *gb_build_uncompress_tree(const unsigned char *data, long short_flag, char **end); … … 191 133 GB_CBUFFER gb_uncompress_data(GBDATA *gbd, GB_CBUFFER source, long size); 192 134 135 /* adfile.cxx */ 136 GB_ERROR gb_scan_directory(char *basename, gb_scandir *sd) __ATTR__USERESULT_TODO; 137 138 /* adhash.cxx */ 139 size_t gbs_get_a_prime(size_t above_or_equal_this); 140 193 141 /* adindex.cxx */ 194 142 char *gb_index_check_in(GBDATA *gbd); … … 204 152 void gb_check_in_undo_delete(GB_MAIN_TYPE *Main, GBDATA *gbd, int deep); 205 153 154 /* adlang1.cxx */ 155 void gbl_install_standard_commands(GBDATA *gb_main); 156 157 /* admalloc.cxx */ 158 void gbm_flush_mem(void); 159 void gbm_init_mem(void); 160 void gbm_debug_mem(void); 161 206 162 /* admap.cxx */ 207 163 GB_ERROR gb_save_mapfile(GB_MAIN_TYPE *Main, GB_CSTR path); … … 209 165 GBDATA *gb_map_mapfile(const char *path); 210 166 int gb_isMappedMemory(void *mem); 167 168 /* adoptimize.cxx */ 169 GB_ERROR gb_convert_V2_to_V3(GBDATA *gb_main); 170 char *gb_uncompress_by_dictionary(GBDATA *gbd, GB_CSTR s_source, long size, long *new_size); 171 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); 172 GB_ERROR gb_create_dictionaries(GB_MAIN_TYPE *Main, long maxmem); 211 173 212 174 /* adquery.cxx */ … … 236 198 long gbcm_read_long(int socket); 237 199 200 /* adstring.cxx */ 201 void gbs_uppercase(char *str); 202 void gbs_memcopy(char *dest, const char *source, long len); 203 char *gbs_add_path(char *path, char *name); 204 205 /* adsystem.cxx */ 206 GB_ERROR gb_load_dictionary_data(GBDATA *gb_main, const char *key, char **dict_data, long *size); 207 GB_DICTIONARY *gb_create_dict(GBDATA *gb_dict); 208 void gb_system_key_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 209 void gb_system_master_changed_cb(GBDATA *gbd, int *cl, GB_CB_TYPE type); 210 void gb_load_single_key_data(GBDATA *gb_main, GBQUARK q); 211 GB_ERROR gb_save_dictionary_data(GBDATA *gb_main, const char *key, const char *dict, int size); 212 GB_ERROR gb_load_key_data_and_dictionaries(GBDATA *gb_main) __ATTR__USERESULT; 213 214 /* arbdb.cxx */ 215 GBDATA *gb_remembered_db(void); 216 GB_ERROR gb_unfold(GBCONTAINER *gbd, long deep, int index_pos); 217 void gb_close_unclosed_DBs(void); 218 int gb_read_nr(GBDATA *gbd); 219 GB_ERROR gb_write_compressed_pntr(GBDATA *gbd, const char *s, long memsize, long stored_size); 220 int gb_get_compression_mask(GB_MAIN_TYPE *Main, GBQUARK key, int gb_type); 221 GB_ERROR gb_security_error(GBDATA *gbd) __ATTR__USERESULT; 222 GB_CSTR gb_read_key_pntr(GBDATA *gbd); 223 GBQUARK gb_key_2_existing_quark(GB_MAIN_TYPE *Main, const char *key); 224 GBQUARK gb_key_2_quark(GB_MAIN_TYPE *Main, const char *key); 225 GBDATA *gb_create(GBDATA *father, const char *key, GB_TYPES type); 226 GBDATA *gb_create_container(GBDATA *father, const char *key); 227 void gb_rename(GBCONTAINER *gbc, const char *new_key); 228 GB_ERROR gb_delete_force(GBDATA *source); 229 GB_ERROR gb_set_compression(GBDATA *source); 230 GB_ERROR gb_init_transaction(GBCONTAINER *gbd); 231 void gb_add_changed_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB_TYPE gbtype, GB_CB func, int *clientdata); 232 void gb_add_delete_callback_list(GBDATA *gbd, gb_transaction_save *old, GB_CB func, int *clientdata); 233 GB_ERROR gb_do_callback_list(GB_MAIN_TYPE *Main); 234 GB_MAIN_TYPE *gb_get_main_during_cb(void); 235 GB_CSTR gb_read_pntr_ts(GBDATA *gbd, gb_transaction_save *ts); 236 int gb_info(GBDATA *gbd, int deep); 237 238 238 #else 239 239 #error gb_prot.h included twice -
branches/e4fix/GL/glAW/GLwDrawA.c
r7811 r8287 603 603 cb.height = glw->core.height; 604 604 XtCallCallbackList((Widget)glw, glw->glwDrawingArea.inputCallback, &cb); 605 } 606 607 608 #ifdef __GLX_MOTIF 609 610 // Create routine 605 } 606 607 void 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 611 615 Widget 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 627 622 void 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 59 59 4.4 4.4.1 4.4.3 4.4.5 \ 60 60 4.5.2 \ 61 4.6 .161 4.6 4.6.1 62 62 63 63 ALLOWED_GCC_VERSIONS=$(ALLOWED_GCC_4xx_VERSIONS) -
branches/e4fix/NTREE/AP_consensus.cxx
r7811 r8287 55 55 #include <arbdbt.h> 56 56 #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 57 61 58 62 #define AWAR_MAX_FREQ "tmp/CON_MAX_FREQ/" -
branches/e4fix/NTREE/NT_cb.cxx
r8100 r8287 27 27 // AISC_MKPT_PROMOTE:#include <aw_base.hxx> 28 28 // AISC_MKPT_PROMOTE:#endif 29 // AISC_MKPT_PROMOTE:30 // AISC_MKPT_PROMOTE:class AW_window;31 29 // AISC_MKPT_PROMOTE:class AWT_canvas; 32 30 -
branches/e4fix/NTREE/nt_cb.hxx
r7891 r8287 20 20 #include <aw_base.hxx> 21 21 #endif 22 23 class AW_window;24 22 class AWT_canvas; 25 23 -
branches/e4fix/NTREE/nt_internal.h
r7891 r8287 12 12 13 13 14 /* NT_cb.cxx */14 /* AP_consensus.cxx */ 15 15 16 #ifndef ARBDB_BASE_H17 #include <arbdb_base.h>18 #endif19 16 #ifndef AW_BASE_HXX 20 17 #include <aw_base.hxx> 21 18 #endif 22 19 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 */34 20 AW_window *AP_open_con_expert_window(AW_root *aw_root); 35 21 AW_window *AP_open_consensus_window(AW_root *aw_root); … … 43 29 AW_window *AP_open_cprofile_window(AW_root *aw_root); 44 30 31 /* AP_pos_var_pars.cxx */ 32 void AP_calc_pos_var_pars(AW_window *aww); 33 AW_window *AP_open_pos_var_pars_window(AW_root *root); 34 45 35 /* ColumnStat_2_gnuplot.cxx */ 46 36 AW_window *NT_create_colstat_2_gnuplot_window(AW_root *root); 47 37 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 46 class AWT_canvas; 47 48 void NT_delete_mark_all_cb(void *, AWT_canvas *ntw); 49 AW_window *NT_open_select_tree_window(AW_root *awr, char *awar_tree); 50 void NT_select_last_tree(AW_window *aww, char *awar_tree); 51 AW_window *NT_open_select_alignment_window(AW_root *awr); 52 void NT_system_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 53 void NT_system_in_xterm_cb(AW_window *aww, AW_CL cl_command, AW_CL cl_auto_help_file); 51 54 52 55 /* NT_concatenate.cxx */ -
branches/e4fix/PROBE/pt_prototypes.h
r8274 r8287 19 19 ARB_ERROR enter_stage_1_build_tree(PT_main *, char *tname) __ATTR__USERESULT; 20 20 ARB_ERROR enter_stage_3_load_tree(PT_main *, const char *tname) __ATTR__USERESULT; 21 22 /* PT_debug.cxx */ 23 void PT_dump_tree_statistics(void); 24 void PT_dump_POS_TREE_recursive(POS_TREE *IF_DEBUG (pt), const char *IF_DEBUG (prefix)); 25 void PT_dump_POS_TREE(POS_TREE *IF_DEBUG (node)); 21 26 22 27 /* PT_etc.cxx */ … … 109 114 ARB_ERROR PTD_read_leafs_from_disk(const char *fname, POS_TREE **pnode) __ATTR__USERESULT; 110 115 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 116 116 /* probe_tree.h */ 117 117 template <typename T >int PT_forwhole_chain(POS_TREE *node, T func); -
branches/e4fix/WINDOW/AW_modal.cxx
r7811 r8287 26 26 #define AWAR_QUESTION "tmp/question" 27 27 28 #define AW_MESSAGE_LISTEN_DELAY 500 // look in ms whether a father died28 #define AW_MESSAGE_LISTEN_DELAY 100 // look in ms whether a father died 29 29 30 30 int aw_message_cb_result; -
branches/e4fix/WINDOW/AW_nawar.cxx
r8103 r8287 619 619 error = GB_push_transaction(gb_main); 620 620 if (!error) { 621 aw_update_a war_window_geometry(this);621 aw_update_all_window_geometry_awars(this); 622 622 error = GB_pop_transaction(gb_main); 623 623 if (!error) error = GB_save_in_arbprop(gb_main, filename, "a"); -
branches/e4fix/WINDOW/AW_window.cxx
r8274 r8287 601 601 #define aw_awar_name_height(aww) aw_size_awar_name((aww), "height") 602 602 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 603 void 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 611 void 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 616 void 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 621 void 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 626 void 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 636 static void aw_onExpose_calc_WM_offsets(AW_window *aww); 637 static void aw_calc_WM_offsets_delayed(AW_root *, AW_CL cl_aww, AW_CL) { aw_onExpose_calc_WM_offsets((AW_window*)cl_aww); } 638 639 static 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); 615 659 // calculate offset 616 660 motif->WM_top_offset = posy-oposy; 617 661 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 } 632 663 } 633 664 … … 952 983 } 953 984 954 void AW_window::set_window_pos(int x, int y) { 985 void 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 ..) 955 987 XtVaSetValues(p_w->shell, XmNx, (int)x, XmNy, (int)y, NULL); 956 988 } 957 void AW_window::get_window_pos(int& xpos, int& ypos) { 989 void 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 ..) 958 991 unsigned short x, y; 959 992 XtVaGetValues(p_w->shell, XmNx, &x, XmNy, &y, NULL); … … 1682 1715 } 1683 1716 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(); 1717 void aw_update_window_geometry_awars(AW_window *aww) { 1718 AW_window_Motif *motif = p_aww(aww); 1719 1720 short posx, posy; 1689 1721 unsigned short width, height, borderwidth; 1690 1691 XtVaGetValues(p_aww(aww)->shell, // bad hack 1722 XtVaGetValues(motif->shell, // bad hack 1692 1723 XmNborderWidth, &borderwidth, 1693 1724 XmNwidth, &width, … … 1697 1728 NULL); 1698 1729 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 1747 static long aw_loop_get_window_geometry(const char *, long val, void *) { 1748 aw_update_window_geometry_awars((AW_window *)val); 1712 1749 return val; 1713 1750 } 1714 1751 1715 void aw_update_a war_window_geometry(AW_root *awr) {1752 void aw_update_all_window_geometry_awars(AW_root *awr) { 1716 1753 GBS_hash_do_loop(awr->hash_for_windows, aw_loop_get_window_geometry, NULL); 1717 1754 } … … 1787 1824 bool has_user_geometry = false; 1788 1825 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 1791 1831 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 1811 1836 // @@@ FIXME: maximum should be set to current screen size minus some offset 1812 1837 // 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; } 1828 1840 1829 1841 if (has_user_geometry) { … … 1860 1872 GBK_terminatef("Failed to load icon pixmap for window '%s'\n", aww->window_defaults_name); 1861 1873 } 1862 1863 #if defined(DEBUG) && 01864 printf("aw_create_shell: pos=%i/%i size=%i%i\n", posx, posy, width, height);1865 #endif // DEBUG1866 1874 1867 1875 int focusPolicy = root->focus_follows_mouse ? XmPOINTER : XmEXPLICIT; … … 1953 1961 } 1954 1962 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 1966 void AW_window_menu_modes::init(AW_root *root_in, const char *wid, const char *windowname, int width, int height) { 1959 1967 Widget main_window; 1960 1968 Widget help_popup; … … 1979 1987 1980 1988 main_window = XtVaCreateManagedWidget("mainWindow1", 1981 xmMainWindowWidgetClass, p_w->shell,1982 NULL);1989 xmMainWindowWidgetClass, p_w->shell, 1990 NULL); 1983 1991 1984 1992 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); 1988 1996 1989 1997 // create shell for help-cascade 1990 1998 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); 1997 2005 1998 2006 // create row column in Pull-Down shell 1999 2007 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); 2003 2011 2004 2012 // create HELP-label in menu bar 2005 2013 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); 2010 2018 XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 2011 2019 root->make_sensitive(help_label, AWM_ALL); 2012 2020 2013 2021 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); 2022 2030 2023 2031 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); 2039 2047 2040 2048 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); 2054 2062 2055 2063 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); 2073 2081 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)); 2085 2093 2086 2094 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)); 2096 2104 2097 2105 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); 2113 2121 2114 2122 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); 2132 2140 2133 2141 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); 2150 2158 2151 2159 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)); 2158 2166 2159 2167 XmMainWindowSetAreas(main_window, p_w->menu_bar[0], (Widget) NULL, (Widget) NULL, (Widget) NULL, form1); … … 2166 2174 } 2167 2175 2168 void AW_window_menu::init(AW_root *root_in, const char *wid, const char *windowname, int width, int height) { 2176 void AW_window_menu::init(AW_root *root_in, const char *wid, const char *windowname, int width, int height) { 2169 2177 Widget main_window; 2170 2178 Widget help_popup; … … 2189 2197 2190 2198 main_window = XtVaCreateManagedWidget("mainWindow1", 2191 xmMainWindowWidgetClass, p_w->shell,2192 NULL);2199 xmMainWindowWidgetClass, p_w->shell, 2200 NULL); 2193 2201 2194 2202 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); 2198 2206 2199 2207 // create shell for help-cascade 2200 2208 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); 2207 2215 2208 2216 // create row column in Pull-Down shell 2209 2217 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); 2213 2221 2214 2222 // create HELP-label in menu bar 2215 2223 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); 2220 2228 XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 2221 2229 root->make_sensitive(help_label, AWM_ALL); 2222 2230 2223 2231 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); 2232 2240 2233 2241 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); 2249 2257 2250 2258 separator = p_w->mode_area; 2251 2259 2252 2260 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); 2270 2278 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)); 2282 2290 2283 2291 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)); 2293 2301 2294 2302 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); 2310 2318 2311 2319 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); 2329 2337 2330 2338 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); 2347 2355 2348 2356 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)); 2355 2363 2356 2364 XmMainWindowSetAreas(main_window, p_w->menu_bar[0], (Widget) NULL, 2357 (Widget) NULL, (Widget) NULL, form1);2365 (Widget) NULL, (Widget) NULL, form1); 2358 2366 2359 2367 aw_realize_widget(this); … … 2399 2407 } 2400 2408 2401 void AW_window_simple_menu::init(AW_root *root_in, const char *wid, const char *windowname) { 2409 void AW_window_simple_menu::init(AW_root *root_in, const char *wid, const char *windowname) { 2402 2410 root = root_in; // for macro 2403 2411 … … 2420 2428 2421 2429 main_window = XtVaCreateManagedWidget("mainWindow1", 2422 xmMainWindowWidgetClass, p_w->shell,2423 NULL);2430 xmMainWindowWidgetClass, p_w->shell, 2431 NULL); 2424 2432 2425 2433 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); 2429 2437 2430 2438 // create shell for help-cascade 2431 2439 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); 2438 2446 2439 2447 // create row column in Pull-Down shell 2440 2448 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); 2444 2452 2445 2453 // create HELP-label in menu bar 2446 2454 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); 2451 2459 XtVaSetValues(p_w->menu_bar[0], XmNmenuHelpWidget, help_label, NULL); 2452 2460 root->make_sensitive(help_label, AWM_ALL); 2453 2461 2454 2462 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); 2460 2468 2461 2469 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)); 2472 2480 2473 2481 aw_realize_widget(this); … … 3127 3135 else { 3128 3136 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; 3138 3144 3139 3145 set_window_size(user_width, user_height); … … 3142 3148 } 3143 3149 3144 if (recalc_pos_at_show != AW_KEEP_POS){3150 { 3145 3151 int posx, posy; 3146 3152 bool setPos = false; … … 3153 3159 int mx, my; if (!get_mouse_pos(mx, my)) goto FALLBACK_CENTER; 3154 3160 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 { 3161 3182 setPos = true; 3162 posx = mx-width/2; // center window on mouse position3183 posx = mx-width/2; 3163 3184 posy = my-height/2; 3164 3185 } 3186 3187 if (posx<0) posx = 0; 3188 if (posy<0) posy = 0; 3189 3165 3190 break; 3166 3191 } 3167 3192 case AW_REPOS_TO_CENTER: { 3168 FALLBACK_CENTER :3193 FALLBACK_CENTER : 3169 3194 int width, height; get_window_size(width, height); 3170 3195 int swidth, sheight; get_screen_size(swidth, sheight); … … 3177 3202 3178 3203 case AW_KEEP_POS: 3179 aw_assert(0);3180 3204 break; 3181 3205 } 3182 3206 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 3193 3211 } 3194 3212 3195 3213 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; 3198 3217 } 3199 3218 } … … 3211 3230 void AW_window::hide() { 3212 3231 if (window_is_shown) { 3232 aw_update_window_geometry_awars(this); 3213 3233 if (hide_cb) hide_cb(this); 3214 3234 get_root()->window_hide(); -
branches/e4fix/WINDOW/aw_nawar.hxx
r7623 r8287 92 92 }; 93 93 94 void aw_update_awar_window_geometry(AW_root *awr); 94 void aw_update_window_geometry_awars(AW_window *aww); // one window 95 void aw_update_all_window_geometry_awars(AW_root *awr); // all windows 95 96 96 97 #else -
branches/e4fix/WINDOW/aw_window.hxx
r8194 r8287 198 198 enum AW_PosRecalc { 199 199 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) 201 201 AW_REPOS_TO_MOUSE = 2, // move the window under the current mouse position 202 202 AW_REPOS_TO_MOUSE_ONCE = 3, // like AW_REPOS_TO_MOUSE, but only done once! … … 210 210 aw_hide_cb hide_cb; 211 211 212 bool expose_callback_added; 213 212 214 void all_menus_created() const; 213 215 void create_toggle(const char *var_name, aw_toggle_data *tdata); … … 390 392 391 393 394 void create_user_geometry_awars(int posx, int posy, int width, int height); 395 392 396 // ************** Control window size ********* 393 397 void set_window_size(int width, int height); … … 395 399 void window_fit(); // Recalculate the size of a window with buttons 396 400 401 void store_size_in_awars(int width, int height); 402 void get_size_from_awars(int& width, int& height); 403 397 404 398 405 // ************** 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 402 413 // ***************** 403 414 -
branches/e4fix/WINDOW/aw_window_Xm.hxx
r7669 r8287 272 272 273 273 const int AW_NUMBER_OF_F_KEYS = 20; 274 #define AW_ FIX_POS_ON_EXPOSE -12345274 #define AW_CALC_OFFSET_ON_EXPOSE -12345 275 275 276 276 class AW_window_Motif : virtual Noncopyable { … … 301 301 302 302 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; } 305 308 306 309 AW_window_Motif(); -
branches/e4fix/arb_INSTALL.txt
r7131 r8287 114 114 -------------------------------------------------- 115 115 116 - expat, xmllint, sablotron 0.82-1.0[needed for target 'help' only]116 - expat, xmllint, xsltproc [needed for target 'help' only] 117 117 - openmotif, openmotif-devel 118 118 - xaw??? 119 119 - libtiff-devel 120 - java 1.3.1 or above [needed for arb_probe_library only]121 120 - lynx 122 121 … … 128 127 - mesaglw-devel (opensuse) 129 128 - libpng 130 - libglew 129 - libglew 130 - glew-devel (opensuse) 131 131 - freeglut 132 132 - freeglut-devel
