83
75
gen_nds_ms->count = count;
86
// -----------------------------------------------------------------------------
87
// char *GEN_make_node_text_nds(GBDATA *gb_main, GBDATA * gbd, int mode)
88
// -----------------------------------------------------------------------------
89
char *GEN_make_node_text_nds(GBDATA *gb_main, GBDATA * gbd, int mode)
91
/* if mode ==0 compress info else format info */
101
// static char hae[] = "??????";
102
// if (!species) return hae;
103
// sprintf(gen_nds_ms->buf,"<%s>",species->name);
104
// return gen_nds_ms->buf;
108
for (i = 0; i < gen_nds_ms->count; i++) {
109
if (gen_nds_ms->rek[i]) { /* hierarchical key */
110
gbe = GB_search(gbd,gen_nds_ms->dkeys[i],0);
111
}else{ /* flat entry */
78
char *GEN_make_node_text_nds(GBDATA *gb_main, GBDATA * gbd, int mode) {
79
// if mode == 0 compress info else format info
81
char *bp = gen_nds_ms->buf;
85
for (long i = 0; i < gen_nds_ms->count; i++) {
87
if (gen_nds_ms->rek[i]) { // hierarchical key
88
gbe = GB_search(gbd, gen_nds_ms->dkeys[i], GB_FIND);
112
91
gbe = GB_entry(gbd, gen_nds_ms->dkeys[i]);
115
// if (!gbe && gen_nds_ms->inherit[i] && species ) {
116
// for ( father = species->father;
118
// father = father->father){
119
// if (father->gb_node){
120
// gbe = GB_entry(father->gb_node, gen_nds_ms->dkeys[i]);
125
94
if (!mode && !gbe) continue;
126
95
if (!mode && first) {
202
j = gen_nds_ms->lengths[i];
172
long j = gen_nds_ms->lengths[i];
203
173
if (j + (bp - gen_nds_ms->buf) + 256 > GEN_NDS_STRING_SIZE) {
204
174
j = GEN_NDS_STRING_SIZE - 256 - (bp - gen_nds_ms->buf);
206
176
for (; j > 0; j--) *(bp++) = ' ';
210
return gen_nds_ms->buf;
181
return NDS_mask_nonprintable_chars(gen_nds_ms->buf);
215
void GEN_create_nds_vars(AW_root *aw_root,AW_default awdef,GBDATA *gb_main, GB_CB NDS_changed_callback) {
184
void GEN_create_nds_vars(AW_root *aw_root, AW_default awdef, GBDATA *gb_main, const DatabaseCallback& NDS_changed_callback) {
216
185
GB_ERROR error = GB_push_transaction(gb_main);
217
GBDATA *gb_arb_presets = GB_search(gb_main,"arb_presets",GB_CREATE_CONTAINER);
186
GBDATA *gb_arb_presets = GB_search(gb_main, "arb_presets", GB_CREATE_CONTAINER);
218
187
GBDATA *gb_viewkey = 0;
220
189
for (int i=0; i<GEN_NDS_COUNT && !error; i++) {
222
char *keystart = buf+sprintf(buf,"tmp/gene_viewkey_%i/",i);
191
char *keystart = buf+sprintf(buf, "tmp/gene_viewkey_%i/", i);
224
193
if (gb_viewkey) {
225
194
gen_assert(GB_has_key(gb_viewkey, "gene_viewkey"));
226
195
gb_viewkey = GB_nextEntry(gb_viewkey);
229
gb_viewkey = GB_entry(gb_arb_presets,"gene_viewkey");
198
gb_viewkey = GB_entry(gb_arb_presets, "gene_viewkey");
232
gb_viewkey = GB_create_container(gb_arb_presets,"gene_viewkey");
201
gb_viewkey = GB_create_container(gb_arb_presets, "gene_viewkey");
235
204
if (!gb_viewkey) {
236
205
error = GB_await_error();
239
GB_add_callback(gb_viewkey, GB_CB_CHANGED, NDS_changed_callback, 0);
208
GB_add_callback(gb_viewkey, GB_CB_CHANGED, NDS_changed_callback);
241
210
const char *default_key = 0;
297
aw_root->awar_string("tmp/gene_viewkey/key_text","",awdef);
266
aw_root->awar_string("tmp/gene_viewkey/key_text", "", awdef);
299
268
error = GB_end_transaction(gb_main, error);
300
269
if (error) aw_message(error);
302
// ---------------------------------------------------------------------------------------
303
// void GEN_create_select_nds_window(AW_window *aww,char *key_text,AW_CL cgb_main)
304
// ---------------------------------------------------------------------------------------
305
void GEN_create_select_nds_window(AW_window *aww,char *key_text,AW_CL cgb_main)
272
static void GEN_create_select_nds_window(AW_window *aww, char *key_text, AW_CL cgb_main)
307
#warning make this function more general like AWT_popup_select_species_field_window
274
#if defined(WARN_TODO)
275
#warning make this function more general like popup_select_species_field_window
309
278
static AW_window *win = 0;
310
279
AW_root *aw_root = aww->get_root();
311
280
aw_root->awar("tmp/gene_viewkey/key_text")->map(key_text);
313
282
AW_window_simple *aws = new AW_window_simple;
314
aws->init( aw_root, "NDS", "NDS_SELECT");
283
aws->init(aw_root, "NDS", "NDS_SELECT");
315
284
aws->load_xfig("awt/nds_sel.fig");
316
285
aws->button_length(13);
318
aws->callback( AW_POPDOWN);
287
aws->callback(AW_POPDOWN);
319
288
aws->at("close");
320
aws->create_button("CLOSE", "CLOSE","C");
289
aws->create_button("CLOSE", "CLOSE", "C");
322
awt_create_selection_list_on_scandb((GBDATA *)cgb_main,
323
(AW_window*)aws,"tmp/gene_viewkey/key_text",
325
"scandb","rescandb", &GEN_item_selector, 20, 10);
326
//aw_root->awar(key_text)->add_callback((AW_RCB1)awt_pop_down_select_nds,(AW_CL)aws);
291
create_selection_list_on_itemfields((GBDATA*)cgb_main, aws, "tmp/gene_viewkey/key_text", true, FIELD_FILTER_NDS, "scandb", "rescandb", GEN_get_selector(), 20, 10, SF_STANDARD, NULL);
328
293
win = (AW_window*)aws;
332
// -----------------------------------------------------------------------
333
// AW_window *GEN_open_nds_window(AW_root *aw_root,AW_CL cgb_main)
334
// -----------------------------------------------------------------------
335
AW_window *GEN_open_nds_window(AW_root *aw_root,AW_CL cgb_main)
298
AW_window *GEN_open_nds_window(AW_root *aw_root, AW_CL cgb_main)
337
300
static AW_window_simple *aws = 0;
339
302
aws = new AW_window_simple;
341
aws->init( aw_root, "GENE_NDS_PROPS", "Gene NDS");
304
aws->init(aw_root, "GENE_NDS_PROPS", "Gene NDS");
342
305
aws->load_xfig("awt/nds.fig");
343
aws->auto_space(10,5);
306
aws->auto_space(10, 5);
345
aws->callback( AW_POPDOWN);
308
aws->callback(AW_POPDOWN);
346
309
aws->at("close");
347
aws->create_button("CLOSE", "CLOSE","C");
310
aws->create_button("CLOSE", "CLOSE", "C");
350
aws->callback(AW_POPUP_HELP,(AW_CL)"props_nds.hlp");
351
aws->create_button("HELP", "HELP","H");
313
aws->callback(makeHelpCallback("props_nds.hlp"));
314
aws->create_button("HELP", "HELP", "H");
353
316
aws->button_length(13);
356
aws->get_at_position( &dummy,&closey );
358
aws->create_button(0,"K");
363
int showx,fieldselectx,fieldx, /*inheritx,*/ columnx,srtx,srtux;
365
aws->auto_space(10,0);
319
aws->get_at_position(&dummy, &closey);
321
aws->create_button(0, "K");
326
int showx, fieldselectx, fieldx, columnx, srtx, srtux;
328
aws->auto_space(10, 0);
368
for ( i=0;i<GEN_NDS_COUNT; i++) {
331
for (i=0; i<GEN_NDS_COUNT; i++) {
371
sprintf(buf,"tmp/gene_viewkey_%i/flag1",i);
372
aws->get_at_position( &showx,&dummy );
334
sprintf(buf, "tmp/gene_viewkey_%i/flag1", i);
335
aws->get_at_position(&showx, &dummy);
373
336
aws->create_toggle(buf);
375
338
aws->button_length(20);
376
sprintf(buf,"tmp/gene_viewkey_%i/key_text",i);
377
aws->get_at_position( &fieldx,&dummy );
378
aws->create_input_field(buf,15);
380
aws->button_length(0);
381
aws->callback((AW_CB)GEN_create_select_nds_window, (AW_CL)strdup(buf),cgb_main);
382
aws->get_at_position( &fieldselectx,&dummy );
383
aws->create_button("SELECT_NDS","S");
385
// sprintf(buf,"tmp/gene_viewkey_%i/inherit",i);
386
// aws->get_at_position( &inheritx,&dummy );
387
// aws->create_toggle(buf);
389
sprintf(buf,"tmp/gene_viewkey_%i/len1",i);
390
aws->get_at_position( &columnx,&dummy );
391
aws->create_input_field(buf,4);
393
sprintf(buf,"tmp/gene_viewkey_%i/pars",i);
394
aws->get_at_position( &srtx,&dummy );
396
aws->button_length(0);
398
aws->callback(AWT_create_select_srtaci_window,(AW_CL)strdup(buf),0);
399
aws->create_button("SELECT_SRTACI", "S","S");
401
aws->get_at_position( &srtux,&dummy );
402
aws->create_input_field(buf,40);
339
sprintf(buf, "tmp/gene_viewkey_%i/key_text", i);
340
aws->get_at_position(&fieldx, &dummy);
341
aws->create_input_field(buf, 15);
343
aws->button_length(0);
344
aws->callback((AW_CB)GEN_create_select_nds_window, (AW_CL)strdup(buf), cgb_main);
345
aws->get_at_position(&fieldselectx, &dummy);
346
sprintf(buf, "SELECT_NDS_%i", i);
347
aws->create_button(buf, "S");
349
sprintf(buf, "tmp/gene_viewkey_%i/len1", i);
350
aws->get_at_position(&columnx, &dummy);
351
aws->create_input_field(buf, 4);
353
sprintf(buf, "tmp/gene_viewkey_%i/pars", i);
354
const char *inputFieldAwarName = strdup(buf);
356
aws->get_at_position(&srtx, &dummy);
358
aws->button_length(0);
360
aws->callback(makeWindowCallback(AWT_popup_select_srtaci_window, inputFieldAwarName));
361
sprintf(buf, "SELECT_SRTACI_%i", i);
362
aws->create_button(buf, "S", "S");
364
aws->get_at_position(&srtux, &dummy);
365
aws->create_input_field(inputFieldAwarName, 40);
403
366
aws->at_newline();
405
aws->at(showx,closey);
368
aws->at(showx, closey);
407
370
aws->at_x(fieldselectx);
408
aws->create_button(0,"SEL");
371
aws->create_button(0, "SEL");
410
373
aws->at_x(showx);
411
aws->create_button(0,"SHOW");
374
aws->create_button(0, "SHOW");
413
376
aws->at_x(fieldx);
414
aws->create_button(0,"FIELD");
416
// aws->at_x(inheritx);
417
// aws->create_button(0,"INH.");
377
aws->create_button(0, "FIELD");
419
379
aws->at_x(columnx);
420
aws->create_button(0,"WIDTH");
380
aws->create_button(0, "WIDTH");
423
aws->create_button(0,"SRT");
383
aws->create_button(0, "SRT");
425
385
aws->at_x(srtux);
426
aws->create_button(0,"ACI/SRT PROGRAM");
386
aws->create_button(0, "ACI/SRT PROGRAM");