Doxygen Source Code Documentation
afni_setup.h File Reference
#include "mcw_malloc.h"
Go to the source code of this file.
Data Structures | |
struct | PBAR_palette |
struct | PBAR_palette_array |
struct | PBAR_palette_table |
Defines | |
#define | _AFNI_SETUP_HEADER |
#define | PAL_FIGNORE -9753.0 |
#define | PAL_IIGNORE -1 |
#define | MAX_PALABEL 16 |
#define | MCW_strncpy(dest, src, n) ( (void) strncpy( (dest) , (src) , (n)-1 ) , (dest)[(n)-1] = '\0' ) |
#define | SETUP_INIT_MODE 701 |
#define | SETUP_LATER_MODE 703 |
#define | SETUP_ENVIRON_MODE 707 |
#define | INIT_PALARR(name, lab) |
#define | INC_PALTAB 8 |
#define | INIT_PALTAB(name) |
#define | ADDTO_PALTAB(name, pp) |
#define | PALTAB_NUM(name) ( (name)->num ) |
#define | PALTAB_ARR(name, qq) ( (name)->par[(qq)] ) |
#define | PALTAB_ARR_LABEL(name, qq) ( (name)->par[(qq)]->label ) |
#define | PALTAB_ARR_PSGN(name, qq, ww) ( (name)->par[(qq)]->psgn[(ww)] ) |
#define | PALTAB_ARR_PPOS(name, qq, ww) ( (name)->par[(qq)]->ppos[(ww)] ) |
Functions | |
int | label_in_PALTAB (PBAR_palette_table *, char *) |
void | AFNI_process_setup (char *, int, MCW_DC *) |
int | check_PBAR_palette (PBAR_palette *) |
char * | dump_PBAR_palette_table (int) |
void | AFNI_pbar_CB (Widget, XtPointer, XtPointer) |
void | AFNI_pbar_EV (Widget, XtPointer, XEvent *, Boolean *) |
char * | AFNI_palette_label_CB (MCW_arrowval *, XtPointer) |
void | AFNI_palette_av_CB (MCW_arrowval *, XtPointer) |
void | load_PBAR_palette_array (MCW_pbar *, PBAR_palette_array *, int) |
void | AFNI_finalize_read_palette_CB (Widget, XtPointer, XtPointer) |
void | AFNI_set_pbar_top_CB (Widget, XtPointer, MCW_choose_cbs *) |
void | AFNI_finalize_write_palette_CB (Widget, XtPointer, MCW_choose_cbs *) |
void | AFNI_finalize_saveim_CB (Widget, XtPointer, MCW_choose_cbs *) |
void | AFNI_palette_tran_CB (MCW_arrowval *, XtPointer) |
Define Documentation
|
Definition at line 8 of file afni_setup.h. |
|
Value: do { if( (name)->num == (name)->nall ){ \ (name)->nall += INC_PALTAB ; \ (name)->par = (PBAR_palette_array **) \ XtRealloc( (char *) (name)->par , \ sizeof(PBAR_palette_array *) * (name)->nall ) ; \ } \ if( (pp) != NULL ){ \ (name)->par[(name)->num] = (pp) ; ((name)->num)++ ; \ } } while(0) Definition at line 57 of file afni_setup.h. Referenced by AFNI_process_setup(). |
|
Definition at line 50 of file afni_setup.h. |
|
Value: do{ int qp ; (name) = XtNew(PBAR_palette_array) ; \ MCW_strncpy((name)->label,(lab),32) ; \ for( qp=0 ; qp <= NPANE_MAX ; qp++ ) \ (name)->psgn[qp] = (name)->ppos[qp] = NULL ; } while(0) Definition at line 39 of file afni_setup.h. Referenced by AFNI_process_setup(). |
|
Value: ( (name) = XtNew(PBAR_palette_table) , \ (name)->num = (name)->nall = 0 , \ (name)->par = NULL ) Definition at line 52 of file afni_setup.h. Referenced by AFNI_process_setup(). |
|
Definition at line 14 of file afni_setup.h. |
|
Definition at line 17 of file afni_setup.h. |
|
Definition at line 12 of file afni_setup.h. Referenced by AFNI_process_setup(), check_PBAR_palette(), dump_PBAR_palette_table(), and load_PBAR_palette_array(). |
|
Definition at line 13 of file afni_setup.h. Referenced by AFNI_process_setup(). |
|
Definition at line 69 of file afni_setup.h. Referenced by AFNI_palette_av_CB(), AFNI_process_setup(), dump_PBAR_palette_table(), RCREND_palette_av_CB(), and REND_palette_av_CB(). |
|
Definition at line 70 of file afni_setup.h. Referenced by AFNI_palette_label_CB(), dump_PBAR_palette_table(), and label_in_PALTAB(). |
|
Definition at line 72 of file afni_setup.h. Referenced by dump_PBAR_palette_table(). |
|
Definition at line 71 of file afni_setup.h. Referenced by dump_PBAR_palette_table(). |
|
Definition at line 68 of file afni_setup.h. Referenced by AFNI_finalize_read_palette_CB(), AFNI_palette_av_CB(), AFNI_palette_label_CB(), AFNI_process_setup(), dump_PBAR_palette_table(), label_in_PALTAB(), RCREND_func_widgets(), RCREND_palette_av_CB(), RCREND_pbarmenu_EV(), REND_func_widgets(), REND_palette_av_CB(), and REND_pbarmenu_EV(). |
|
Definition at line 23 of file afni_setup.h. Referenced by AFNI_process_setup(). |
|
Definition at line 21 of file afni_setup.h. Referenced by AFNI_process_setup(), and main(). |
|
Definition at line 22 of file afni_setup.h. Referenced by AFNI_finalize_read_palette_CB(), and AFNI_process_setup(). |
Function Documentation
|
Definition at line 700 of file afni_setup.c. References AFNI_palette_av_CB(), AFNI_palette_label_CB(), AFNI_process_setup(), AFNI_suck_file(), AV_assign_ival(), BEEPIT, MCW_pbar::bigmode, AFNI_library_type::controllers, Three_D_View::dc, dump_PBAR_palette_table(), ENTRY, AFNI_widget_set::file_dialog, free, AFNI_widget_set::func, GLOBAL_library, GPT, IM3D_VALID, AFNI_function_widgets::inten_pbar, MAX_CONTROLLERS, MCW_popup_message(), MCW_TIMER_KILL, MCW_USER_KILL, AFNI_function_widgets::options_label, PALTAB_NUM, PBAR_define_bigmap(), AFNI_function_widgets::pbar_palette_av, refit_MCW_optmenu(), RWC_XtPopdown(), SETUP_LATER_MODE, THD_is_directory(), THD_is_file(), Three_D_View::vwid, MCW_arrowval::wrowcol, and XtFree. Referenced by AFNI_pbar_CB().
00701 { 00702 Three_D_View * im3d = (Three_D_View *) cd ; 00703 XmFileSelectionBoxCallbackStruct * cbs = (XmFileSelectionBoxCallbackStruct *) cb ; 00704 char * dum ; 00705 00706 ENTRY("AFNI_finalize_read_palette_CB") ; 00707 00708 switch( cbs->reason ){ 00709 00710 /** close the file selection dialog **/ 00711 00712 case XmCR_CANCEL: 00713 RWC_XtPopdown( im3d->vwid->file_dialog ) ; 00714 break ; 00715 00716 /** try to read a new palette **/ 00717 00718 case XmCR_OK:{ 00719 char * text = NULL ; 00720 int ii , npal1 , npal2 ; 00721 Three_D_View * qq3d ; 00722 XmStringGetLtoR( cbs->value , XmFONTLIST_DEFAULT_TAG , &text ) ; 00723 if( text != NULL ){ 00724 if( THD_is_file(text) && !THD_is_directory(text) ){ /* read in file */ 00725 00726 if( im3d->vwid->func->inten_pbar->bigmode ){ /* 22 Oct 2003 */ 00727 char *cmd = AFNI_suck_file( text ) ; 00728 ii = PBAR_define_bigmap(cmd); free(cmd); 00729 if( ii == 0 ) 00730 RWC_XtPopdown( im3d->vwid->file_dialog ) ; 00731 else 00732 (void) MCW_popup_message( w , 00733 "******************************\n" 00734 "** Can't use the colorscale **\n" 00735 "** file you selected! **\n" 00736 "******************************" 00737 , MCW_USER_KILL | MCW_TIMER_KILL ) ; 00738 } else { 00739 00740 npal1 = (GPT == NULL) ? 0 : PALTAB_NUM(GPT) ; /* how many before */ 00741 00742 AFNI_process_setup( text , SETUP_LATER_MODE , im3d->dc ) ; 00743 00744 npal2 = (GPT == NULL) ? 0 : PALTAB_NUM(GPT) ; /* how many after */ 00745 00746 if( npal2 > npal1 ){ /* if got some new ones */ 00747 for( ii=0 ; ii < MAX_CONTROLLERS ; ii++ ){ 00748 qq3d = GLOBAL_library.controllers[ii] ; 00749 if( IM3D_VALID(qq3d) ){ 00750 refit_MCW_optmenu( qq3d->vwid->func->pbar_palette_av , 00751 0 , /* new minval */ 00752 npal2-1 , /* new maxval */ 00753 0 , /* new inival */ 00754 0 , /* new decim? */ 00755 AFNI_palette_label_CB , /* text routine */ 00756 NULL /* text data */ 00757 ) ; 00758 00759 /* 14 Jul 1998: whoops */ 00760 XtManageChild( qq3d->vwid->func->pbar_palette_av->wrowcol ) ; 00761 00762 /* 18 Sep 1998: set this palette to be the active one in the caller */ 00763 00764 if( qq3d == im3d ){ 00765 AV_assign_ival( qq3d->vwid->func->pbar_palette_av , PALTAB_NUM(GPT)-1 ) ; 00766 AFNI_palette_av_CB( qq3d->vwid->func->pbar_palette_av , im3d ) ; 00767 } 00768 } 00769 } 00770 } 00771 00772 dum = dump_PBAR_palette_table(0) ; 00773 (void) MCW_popup_message( im3d->vwid->func->options_label , 00774 dum , MCW_USER_KILL | MCW_TIMER_KILL ) ; 00775 free(dum) ; 00776 00777 RWC_XtPopdown( im3d->vwid->file_dialog ) ; /* done with dialog */ 00778 } 00779 } else { /* bad filename */ 00780 (void) MCW_popup_message( w , 00781 "****************************\n" 00782 "** Can't open the palette **\n" 00783 "** file you selected! **\n" 00784 "****************************" 00785 , MCW_USER_KILL | MCW_TIMER_KILL ) ; 00786 BEEPIT ; 00787 } 00788 XtFree(text) ; 00789 } 00790 } 00791 break ; 00792 00793 case XmCR_HELP: 00794 (void) MCW_popup_message( w , 00795 "To read in a palette file, use the\n" 00796 "Directories and Files selectors,\n" 00797 "and the Filter entry and button,\n" 00798 "to get the 'Selection' box correct;\n" 00799 "that is, 'Selection' should be the\n" 00800 "the name of the file you want to read.\n" 00801 "Then press 'Set'.\n\n" 00802 "N.B.: To use the new palette(s), you\n" 00803 " must use the 'Set Pal' chooser." 00804 , MCW_USER_KILL ) ; 00805 break ; 00806 } 00807 EXRETURN ; 00808 } |
|
Definition at line 937 of file afni_setup.c. References BEEPIT, MCW_choose_cbs::cval, ENTRY, free, AFNI_widget_set::func, getenv(), IM3D_OPEN, AFNI_function_widgets::inten_pbar, malloc, MCW_pbar_to_mri(), mcwCR_string, mri_free(), mri_write_pnm(), POPDOWN_string_chooser, MCW_choose_cbs::reason, THD_filename_ok(), and Three_D_View::vwid. Referenced by AFNI_pbar_CB().
00938 { 00939 Three_D_View * im3d = (Three_D_View *) cd ; 00940 char * fname , * ptr ; 00941 int ll , nx=20 , ny=256 ; 00942 MRI_IMAGE * im ; 00943 00944 ENTRY("AFNI_finalize_saveim_CB") ; 00945 00946 if( ! IM3D_OPEN(im3d) || cbs->reason != mcwCR_string || 00947 cbs->cval == NULL || (ll=strlen(cbs->cval)) == 0 ){BEEPIT; EXRETURN;} 00948 00949 fname = (char *) malloc( sizeof(char) * (ll+8) ) ; 00950 strcpy( fname , cbs->cval ) ; 00951 00952 if( ll > 240 || ! THD_filename_ok(fname) ){free(fname); BEEPIT; EXRETURN;} 00953 00954 ptr = strstr(fname,".ppm") ; 00955 if( ptr == NULL ) ptr = strstr(fname,".pnm") ; 00956 if( ptr == NULL ) ptr = strstr(fname,".jpg") ; 00957 if( ptr == NULL ) strcat(fname,".ppm") ; 00958 00959 fprintf(stderr,"Writing palette image to %s\n",fname) ; 00960 00961 ptr = getenv( "AFNI_PBAR_IMXY" ); 00962 if( ptr != NULL ){ 00963 ll = sscanf( ptr , "%dx%d" , &nx , &ny ) ; 00964 if( ll < 2 || nx < 1 || ny < 32 ){ nx=20; ny=256; } 00965 } 00966 00967 im = MCW_pbar_to_mri( im3d->vwid->func->inten_pbar , nx,ny ) ; 00968 mri_write_pnm( fname , im ) ; 00969 00970 POPDOWN_string_chooser; mri_free(im); free(fname); EXRETURN; 00971 } |
|
Definition at line 848 of file afni_setup.c. References rgbyte::b, BEEPIT, MCW_pbar::bigcolor, MCW_pbar::bigmode, MCW_pbar::bigname, MCW_choose_cbs::cval, Three_D_View::dc, ENTRY, free, AFNI_widget_set::func, rgbyte::g, IM3D_OPEN, AFNI_function_widgets::inten_pbar, MCW_DCOV::label_ov, malloc, MCW_popup_message(), MCW_TIMER_KILL, MCW_USER_KILL, mcwCR_string, MCW_pbar::mode, MCW_DCOV::name_ov, NPANE_BIG, NPANE_MAX, MCW_pbar::num_panes, AFNI_function_widgets::options_label, MCW_pbar::ov_index, MCW_DC::ovc, POPDOWN_string_chooser, MCW_pbar::pval, rgbyte::r, MCW_choose_cbs::reason, THD_filename_ok(), and Three_D_View::vwid. Referenced by AFNI_pbar_CB().
00849 { 00850 Three_D_View * im3d = (Three_D_View *) cd ; 00851 int ll , ii , jj ; 00852 char * fname , * ptr ; 00853 FILE * fp ; 00854 MCW_pbar * pbar ; 00855 int jm , npane , novu , ovu[NPANE_MAX] ; 00856 int * ovin ; 00857 float * pval ; 00858 00859 ENTRY("AFNI_finalize_write_palette_CB") ; 00860 00861 if( ! IM3D_OPEN(im3d) || cbs->reason != mcwCR_string || 00862 cbs->cval == NULL || (ll=strlen(cbs->cval)) == 0 ){BEEPIT; EXRETURN;} 00863 00864 fname = (char *) malloc( sizeof(char) * (ll+8) ) ; 00865 strcpy( fname , cbs->cval ) ; 00866 00867 if( ll > 240 || ! THD_filename_ok(fname) ){free(fname); BEEPIT; EXRETURN;} 00868 00869 ptr = strstr(fname,".pal") ; 00870 if( ptr == NULL || ptr[4] != '0' ){ strcat(fname,".pal"); ll += 4; } 00871 fp = fopen( fname , "a" ) ; 00872 if( fp == NULL ){ 00873 char buf[512] ; 00874 sprintf(buf,"Can't open file\n %s\nfor writing!",fname) ; 00875 (void) MCW_popup_message( im3d->vwid->func->options_label , 00876 buf , MCW_USER_KILL | MCW_TIMER_KILL ) ; 00877 BEEPIT ; free(fname) ; EXRETURN ; 00878 } else { 00879 char buf[512] ; 00880 sprintf(buf,"\nWriting current palette to file\n %s\n",fname) ; 00881 (void) MCW_popup_message( im3d->vwid->func->options_label , 00882 buf , MCW_USER_KILL | MCW_TIMER_KILL ) ; 00883 } 00884 00885 pbar = im3d->vwid->func->inten_pbar ; 00886 npane = pbar->num_panes ; 00887 jm = pbar->mode ; 00888 ovin = pbar->ov_index ; 00889 pval = pbar->pval ; 00890 00891 /* 22 Oct 2003: Colorscale? */ 00892 00893 if( pbar->bigmode ){ 00894 fprintf(fp,"%s\n",pbar->bigname) ; 00895 for( ii=0 ; ii < NPANE_BIG ; ii++ ) 00896 fprintf(fp,"#%02x%02x%02x\n", 00897 (unsigned int)pbar->bigcolor[ii].r , 00898 (unsigned int)pbar->bigcolor[ii].g , 00899 (unsigned int)pbar->bigcolor[ii].b ) ; 00900 } else { 00901 00902 /* make list of all discrete colors used, pruning redundancies */ 00903 00904 novu = 1 ; ovu[0] = ovin[0] ; 00905 for( ii=1 ; ii < npane ; ii++ ){ /* check each pane */ 00906 for( jj=0 ; jj < novu ; jj++ ) /* for match with current list */ 00907 if( ovin[ii] == ovu[jj] ) break ; 00908 00909 if( jj == novu ) /* didn't find a match */ 00910 ovu[novu++] = ovin[ii] ; 00911 } 00912 00913 /* write colors to file */ 00914 00915 fprintf( fp , "\n***COLORS\n" ) ; 00916 for( ii=0 ; ii < novu ; ii++ ){ 00917 if( ovu[ii] > 0 ) /* don't write 'none' */ 00918 fprintf( fp , " %s = %s\n" , 00919 im3d->dc->ovc->label_ov[ovu[ii]] , 00920 im3d->dc->ovc->name_ov[ovu[ii]] ) ; 00921 } 00922 00923 fname[ll-4] = '\0' ; 00924 fprintf( fp , "\n***PALETTES %s [%d%s\n" , 00925 fname , npane , (jm==0) ? "]" : "+]" ) ; 00926 00927 for( ii=0 ; ii < npane ; ii++ ) 00928 fprintf( fp , " %f -> %s\n" , 00929 pval[ii] , im3d->dc->ovc->label_ov[ovin[ii]] ) ; 00930 } 00931 00932 POPDOWN_string_chooser; fclose(fp); free(fname); EXRETURN; 00933 } |
|
Definition at line 680 of file afni_setup.c. References AFNI_redisplay_func(), ENTRY, AFNI_widget_set::func, AFNI_view_info::func_visible, GPT, IM3D_VALID, AFNI_function_widgets::inten_pbar, MCW_arrowval::ival, load_PBAR_palette_array(), PALTAB_ARR, PALTAB_NUM, Three_D_View::vinfo, and Three_D_View::vwid. Referenced by AFNI_finalize_read_palette_CB().
00681 { 00682 Three_D_View * im3d = (Three_D_View *) cd ; 00683 00684 ENTRY("AFNI_palette_av_CB") ; 00685 00686 if( ! IM3D_VALID(im3d) || GPT == NULL ) EXRETURN ; 00687 if( av->ival < 0 || av->ival >= PALTAB_NUM(GPT) ) EXRETURN ; 00688 00689 load_PBAR_palette_array( im3d->vwid->func->inten_pbar , 00690 PALTAB_ARR(GPT,av->ival) , 1 ) ; 00691 00692 if( im3d->vinfo->func_visible ) 00693 AFNI_redisplay_func( im3d ) ; 00694 00695 EXRETURN ; 00696 } |
|
Definition at line 527 of file afni_setup.c. References GPT, MCW_arrowval::ival, PALTAB_ARR_LABEL, and PALTAB_NUM. Referenced by AFNI_finalize_read_palette_CB().
00528 { 00529 static char blab[32] ; 00530 00531 if( av->ival >= 0 && av->ival < PALTAB_NUM(GPT) ) 00532 sprintf(blab,"%-.14s",PALTAB_ARR_LABEL(GPT,av->ival)) ; 00533 else 00534 strcpy(blab,"???") ; 00535 00536 return blab ; 00537 } |
|
|
Definition at line 571 of file afni_setup.c. References AFNI_finalize_read_palette_CB(), AFNI_finalize_saveim_CB(), AFNI_finalize_write_palette_CB(), AFNI_make_file_dialog(), AFNI_misc_CB(), AFNI_set_pbar_top_CB(), alter_MCW_pbar(), BEEPIT, MCW_pbar::bigmode, AFNI_widget_set::dmode, dump_PBAR_palette_table(), ENTRY, AFNI_widget_set::file_cb, AFNI_widget_set::file_cd, AFNI_widget_set::file_dialog, AFNI_widget_set::file_sbox, FIX_SCALE_SIZE, free, AFNI_widget_set::func, HIDE_SCALE, IM3D_OPEN, AFNI_function_widgets::inten_pbar, MCW_choose_integer(), MCW_choose_string(), AFNI_datamode_widgets::misc_environ_pb, MCW_pbar::mode, new_MCW_textwin(), NPANE_MAX, MCW_pbar::num_panes, AFNI_function_widgets::options_label, AFNI_function_widgets::pbar_environment_pb, AFNI_function_widgets::pbar_equalize_pb, AFNI_function_widgets::pbar_readin_pb, AFNI_function_widgets::pbar_saveim_pb, AFNI_function_widgets::pbar_settop_pb, AFNI_function_widgets::pbar_showtable_pb, AFNI_function_widgets::pbar_writeout_pb, pmax, pmin, MCW_pbar::pval_save, RWC_visibilize_widget(), TEXT_READONLY, and Three_D_View::vwid.
00572 { 00573 Three_D_View *im3d = (Three_D_View *) cd ; 00574 MCW_pbar *pbar ; 00575 int npane , jm , ii ; 00576 double pmax , pmin ; 00577 float pval[NPANE_MAX+1] ; 00578 00579 ENTRY("AFNI_pbar_CB") ; 00580 00581 if( ! IM3D_OPEN(im3d) ) EXRETURN ; 00582 00583 pbar = im3d->vwid->func->inten_pbar ; 00584 npane = pbar->num_panes ; 00585 jm = pbar->mode ; 00586 pmax = pbar->pval_save[npane][0][jm] ; 00587 pmin = pbar->pval_save[npane][npane][jm] ; 00588 00589 /*--- Equalize spacings ---*/ 00590 00591 if( w == im3d->vwid->func->pbar_equalize_pb ){ 00592 00593 if( pbar->bigmode ){ BEEPIT; EXRETURN; } /* 30 Jan 2003 */ 00594 00595 for( ii=0 ; ii <= npane ; ii++ ) 00596 pval[ii] = pmax - ii * (pmax-pmin)/npane ; 00597 00598 HIDE_SCALE(im3d) ; 00599 alter_MCW_pbar( pbar , 0 , pval ) ; 00600 FIX_SCALE_SIZE(im3d) ; 00601 } 00602 00603 /*--- Set top value ---*/ 00604 00605 else if( w == im3d->vwid->func->pbar_settop_pb ){ 00606 MCW_choose_integer( im3d->vwid->func->options_label , 00607 "Pbar Top" , 0 , 99999 , 1 , 00608 AFNI_set_pbar_top_CB , cd ) ; 00609 } 00610 00611 /*--- Read in a palette file ---*/ 00612 00613 else if( w == im3d->vwid->func->pbar_readin_pb ){ 00614 XmString xstr ; 00615 00616 AFNI_make_file_dialog( im3d ) ; 00617 XtAddCallback( im3d->vwid->file_sbox , XmNokCallback , 00618 AFNI_finalize_read_palette_CB , cd ) ; 00619 XtAddCallback( im3d->vwid->file_sbox , XmNcancelCallback , 00620 AFNI_finalize_read_palette_CB , cd ) ; 00621 XtAddCallback( im3d->vwid->file_sbox , XmNhelpCallback , 00622 AFNI_finalize_read_palette_CB , cd ) ; 00623 im3d->vwid->file_cb = AFNI_finalize_read_palette_CB ; 00624 im3d->vwid->file_cd = cd ; 00625 XtVaSetValues( im3d->vwid->file_dialog, 00626 XmNtitle, 00627 (pbar->bigmode) ? "AFNI: Read colorscale" 00628 : "AFNI: Read Palette" , 00629 NULL ) ; 00630 00631 xstr = XmStringCreateLtoR( "*.pal" , XmFONTLIST_DEFAULT_TAG ) ; 00632 XtVaSetValues( im3d->vwid->file_sbox , XmNpattern , xstr , NULL ) ; 00633 XmStringFree(xstr) ; 00634 00635 XtPopup( im3d->vwid->file_dialog , XtGrabNone ) ; 00636 RWC_visibilize_widget( im3d->vwid->file_dialog ) ; /* 09 Nov 1999 */ 00637 } 00638 00639 /*--- Write out a palette file ---*/ 00640 00641 else if( w == im3d->vwid->func->pbar_writeout_pb ){ 00642 MCW_choose_string( im3d->vwid->func->options_label , 00643 (pbar->bigmode) ? "Colorscale Name" : "Palette Name" , 00644 NULL , AFNI_finalize_write_palette_CB , cd ) ; 00645 } 00646 00647 /*--- Display the palette table ---*/ 00648 00649 else if( w == im3d->vwid->func->pbar_showtable_pb ){ 00650 char * dum = dump_PBAR_palette_table(1) ; 00651 new_MCW_textwin( im3d->vwid->func->options_label, dum, TEXT_READONLY ) ; 00652 free(dum) ; 00653 } 00654 00655 /*--- Save pbar into image file ---*/ 00656 00657 else if( w == im3d->vwid->func->pbar_saveim_pb ){ 00658 MCW_choose_string( im3d->vwid->func->options_label , 00659 "PPM file prefix" , NULL , 00660 AFNI_finalize_saveim_CB , cd ) ; 00661 } 00662 00663 /*---- 10 Feb 2004: start the Edit Environment pseudo-plugin ----*/ 00664 00665 else if( w == im3d->vwid->func->pbar_environment_pb && 00666 w != NULL ){ 00667 00668 AFNI_misc_CB( im3d->vwid->dmode->misc_environ_pb , 00669 (XtPointer) im3d , (XtPointer) NULL ) ; 00670 } 00671 00672 00673 /*** done ***/ 00674 00675 EXRETURN ; 00676 } |
|
Definition at line 543 of file afni_setup.c. References AFNI_widget_set::butx, AFNI_widget_set::buty, ENTRY, ev, event, AFNI_widget_set::func, IM3D_OPEN, AFNI_function_widgets::pbar_menu, and Three_D_View::vwid.
00545 { 00546 Three_D_View *im3d = (Three_D_View *) cd ; 00547 00548 ENTRY("AFNI_pbar_EV") ; 00549 00550 if( ! IM3D_OPEN(im3d) ) EXRETURN ; 00551 00552 switch( ev->type ){ 00553 case ButtonPress:{ 00554 XButtonEvent *event = (XButtonEvent *) ev ; 00555 im3d->vwid->butx = event->x_root ; /* 17 May 2005 */ 00556 im3d->vwid->buty = event->y_root ; 00557 event->button = Button3 ; /* fakeout */ 00558 XmMenuPosition( im3d->vwid->func->pbar_menu , event ) ; /* where */ 00559 XtManageChild ( im3d->vwid->func->pbar_menu ) ; /* popup */ 00560 } 00561 break ; 00562 } 00563 00564 EXRETURN ; 00565 } |
|
Definition at line 58 of file afni_setup.c. References ADDTO_PALTAB, AFNI_suck_file(), check_PBAR_palette(), PBAR_palette::col, DC_add_overlay_color(), DC_find_overlay_color(), ENTRY, free, GETEQN, GETSTR, GPT, INIT_ncolovr, INIT_PALARR, INIT_PALTAB, ISTARRED, label_in_PALTAB(), left, malloc, MAX_NCOLOVR, PBAR_palette::mode, myXtFree, PBAR_palette::npane, NPANE_MAX, nr, NSBUF, MCW_DC::ovc, OVC_mostest(), PAL_FIGNORE, PAL_IIGNORE, PALTAB_ARR, PALTAB_NUM, PBAR_palette_array::ppos, PBAR_palette_array::psgn, right, SETUP_ENVIRON_MODE, SETUP_INIT_MODE, SETUP_LATER_MODE, STATUS, strtod(), THD_filename_ok(), THD_filename_pure(), and PBAR_palette::val. Referenced by AFNI_finalize_read_palette_CB(), and main().
00059 { 00060 int nbuf , nused , ii ; 00061 char * fbuf , * fptr ; 00062 char str[NSBUF] , left[NSBUF] , middle[NSBUF] , right[NSBUF] ; 00063 00064 ENTRY("AFNI_process_setup") ; 00065 00066 fbuf = AFNI_suck_file( fname ) ; if( fbuf == NULL ) EXRETURN ; 00067 nbuf = strlen(fbuf) ; if( nbuf == 0 ) EXRETURN ; 00068 00069 fptr = fbuf ; nused = 0 ; 00070 00071 /** scan for section strings, which start with "***" **/ 00072 00073 str[0] = '\0' ; /* initialize string */ 00074 00075 if(PRINT_TRACING) 00076 { char str[256] ; 00077 sprintf(str,"Reading AFNI setup file = %s (%d bytes)",fname,nbuf) ; 00078 STATUS(str);} 00079 00080 while( nused < nbuf ){ 00081 00082 /**----------------------------------------**/ 00083 /**-- skip ahead to next section keyword --**/ 00084 00085 SkipSection: while( ! ISTARRED(str) ){ GETSTR; } 00086 00087 /*- 04 Jun 1999 -*/ 00088 00089 if( mode == SETUP_ENVIRON_MODE && strcmp(str,"***ENVIRONMENT") != 0 ){ 00090 GETSTR ; 00091 goto SkipSection ; 00092 } 00093 00094 /**--------------------**/ 00095 /**-- COLORS section --**/ 00096 00097 if( strcmp(str,"***COLORS") == 0 ){ 00098 char label[NSBUF] , defn[NSBUF] ; 00099 00100 STATUS("enter ***COLORS") ; 00101 00102 while(1){ /* loop, looking for 'label = color' */ 00103 GETEQN ; 00104 00105 if(PRINT_TRACING) 00106 { char str[256] ; 00107 sprintf(str,"GETEQN: %s %s %s",left,middle,right) ; STATUS(str);} 00108 00109 /* don't allow 'none' to be redefined! */ 00110 00111 if( strcmp(left,"none")==0 || strcmp(right,"none")==0 ) continue ; 00112 if( !THD_filename_pure(left) ) continue ; 00113 00114 if( mode == SETUP_INIT_MODE ){ 00115 if( INIT_ncolovr < MAX_NCOLOVR ){ 00116 ii = INIT_ncolovr++ ; 00117 INIT_labovr[ii] = XtNewString(left) ; 00118 INIT_colovr[ii] = XtNewString(right) ; 00119 00120 if(PRINT_TRACING) 00121 { char str[256] ; 00122 sprintf(str,"setup into #%d",ii) ; STATUS(str);} 00123 00124 } else { 00125 fprintf(stderr,"\nIn setup file %s, color table overflow!\n",fname); 00126 goto SkipSection ; 00127 } 00128 } else if( mode == SETUP_LATER_MODE ){ 00129 ii = DC_add_overlay_color( dc , right , left ) ; 00130 00131 if(PRINT_TRACING) 00132 { char str[256] ; 00133 sprintf(str,"'new' color index returned as #%d",ii) ; STATUS(str);} 00134 00135 if( ii < 0 ) 00136 fprintf(stderr,"\nIn setup file %s, unknown color %s\n",fname,right); 00137 else 00138 OVC_mostest( dc->ovc ) ; 00139 } 00140 } 00141 continue ; /* skip to end of outer while loop */ 00142 } /* end of COLORS */ 00143 00144 /**----------------------**/ 00145 /**-- PALETTES section --**/ 00146 00147 if( strcmp(str,"***PALETTES") == 0 ){ /* loop, looking for palettes */ 00148 char label[NSBUF] = "NoThing" , ccc , * cpt ; 00149 PBAR_palette_array * ppar=NULL ; 00150 PBAR_palette ** ppp ; 00151 PBAR_palette * ppnew ; 00152 int npane , pmode , icol=0 , jj ; 00153 float val ; 00154 00155 STATUS("enter ***PALETTES") ; 00156 00157 if( GPT == NULL ){ /* 1st time in --> create palettry */ 00158 STATUS("create initial palettes") ; 00159 INIT_PALTAB(GPT) ; 00160 INIT_PALARR(ppar,"NoThing") ; 00161 ADDTO_PALTAB(GPT,ppar) ; 00162 } 00163 00164 /* loop, looking for palettes */ 00165 00166 while(1){ 00167 GETSTR ; if( ISTARRED(str) ) goto SkipSection ; 00168 if( fptr-fbuf >= nbuf ){ free(fbuf) ; EXRETURN ; } 00169 00170 if( str[0] != '[' ){ /* found a palette label */ 00171 strcpy(label,str) ; 00172 if( !THD_filename_ok(label) ){ 00173 fprintf(stderr,"\nIn setup file %s, bad palette label: %s.\n", 00174 fname,label) ; 00175 free(fbuf) ; EXRETURN ; 00176 } 00177 00178 if(PRINT_TRACING) 00179 { char str[256] ; 00180 sprintf(str,"found palette label=%s. [len=%d label[0]=%d]", 00181 label,(int)strlen(label),(int)label[0]); STATUS(str); 00182 sprintf(str,"nbuf=%d fptr-fbuf=%d",nbuf,fptr-fbuf); STATUS(str);} 00183 00184 ii = label_in_PALTAB( GPT , label ) ; /* an old one? */ 00185 if( ii < 0 ){ 00186 STATUS("making a new palette array") ; 00187 INIT_PALARR(ppar,label) ; /* make a new palette array */ 00188 ADDTO_PALTAB(GPT,ppar) ; 00189 } else { 00190 00191 if(PRINT_TRACING) 00192 { char str[256] ; 00193 sprintf(str,"matches old palette array #%d",ii) ; STATUS(str);} 00194 00195 ppar = PALTAB_ARR(GPT,ii) ; /* retrieve old palette array */ 00196 } 00197 GETSTR ; if( ISTARRED(str) ) goto SkipSection ; 00198 } 00199 00200 if(PRINT_TRACING) 00201 { char str[256] ; 00202 sprintf(str,"GPT now has %d arrays",PALTAB_NUM(GPT)) ; STATUS(str);} 00203 00204 if( str[0] != '[' ){ /* bad news! */ 00205 fprintf(stderr,"\nIn setup file %s, expected palette '[n]' here: %s\n", 00206 fname , str ) ; 00207 break ; 00208 } 00209 00210 /* decide how big the new palette is to be, and what mode */ 00211 ii = sscanf( str , "[%d%c" , &npane , &ccc ) ; 00212 if( ii < 2 ){ 00213 fprintf(stderr,"\nIn setup file %s, can't interpret palette %s\n", 00214 fname , str ) ; 00215 break ; 00216 } else if( npane < NPANE_MIN || npane > NPANE_MAX ){ 00217 fprintf(stderr,"\nIn setup file %s, illegal palette count %s\n", 00218 fname , str ) ; 00219 break ; 00220 } 00221 00222 pmode = (ccc == '+') ? 1 : 0 ; /* pbar mode */ 00223 ppp = (pmode==0) ? (ppar->psgn + npane) /* pointer to pointer */ 00224 : (ppar->ppos + npane) ; /* to existing palette */ 00225 00226 if(PRINT_TRACING) 00227 { char str[256] ; 00228 sprintf(str,"palette definition: npane=%d pmode=%d",npane,pmode) ; 00229 STATUS(str); } 00230 00231 ppnew = XtNew(PBAR_palette) ; /* make a new palette */ 00232 ppnew->npane = npane ; 00233 ppnew->mode = pmode ; 00234 for( ii=0 ; ii < npane ; ii++ ){ 00235 ppnew->val[ii] = PAL_FIGNORE ; ppnew->col[ii] = PAL_IIGNORE ; 00236 } 00237 00238 /* at this point, now loop to read parameters for new palette */ 00239 00240 for( ii=0 ; ii < npane ; ii++ ){ 00241 GETEQN ; 00242 00243 if(PRINT_TRACING) 00244 { char str[256] ; 00245 sprintf(str,"GETEQN: %s %s %s",left,middle,right) ; STATUS(str);} 00246 00247 val = strtod(left,&cpt) ; 00248 if( val == 0.0 && *cpt != '\0' ) val = PAL_FIGNORE ; 00249 00250 if( mode == SETUP_INIT_MODE ){ 00251 if( strcmp(right,"none") == 0 ){ 00252 icol = 0 ; 00253 } else { 00254 for( jj=0 ; jj < INIT_ncolovr ; jj++ ) 00255 if( strcmp(right,INIT_labovr[jj]) == 0 ) break ; 00256 icol = (jj < INIT_ncolovr) ? jj+1 : PAL_IIGNORE ; 00257 } 00258 } else if( mode == SETUP_LATER_MODE ){ 00259 icol = DC_find_overlay_color( dc , right ) ; 00260 if( icol < 0 ) icol = PAL_IIGNORE ; 00261 00262 if(PRINT_TRACING) 00263 { char str[256] ; 00264 sprintf(str," DC_find_overlay_color(%s) returns %d\n",right,icol) ; 00265 STATUS(str) ; } 00266 00267 } 00268 ppnew->val[ii] = val ; ppnew->col[ii] = icol ; 00269 00270 if(PRINT_TRACING) 00271 { char str[256] ; 00272 sprintf(str,"new palette entry #%d: val=%f col=%d",ii,val,icol) ; 00273 STATUS(str);} 00274 00275 } 00276 00277 ii = check_PBAR_palette( ppnew ) ; 00278 if( ii < 0 ){ 00279 fprintf(stderr,"\nIn setup file %s, palette '%s [%d%s' is illegal\n", 00280 fname,label,npane, (pmode==0)?"]":"+]" ) ; 00281 myXtFree(ppnew) ; 00282 } else { 00283 myXtFree(*ppp) ; 00284 *ppp = ppnew ; 00285 00286 STATUS("stored new palette") ; 00287 } 00288 } 00289 00290 continue ; /* to end of outer while */ 00291 } /* end of PALETTES */ 00292 00293 /**---------------------------------------**/ 00294 /**-- ENVIRONMENT section [04 Jun 1999] --**/ 00295 00296 if( strcmp(str,"***ENVIRONMENT") == 0 ){ /* loop, looking for environment settings */ 00297 char *enveqn ; int nl , nr ; 00298 00299 if( mode != SETUP_ENVIRON_MODE ){ GETSTR ; goto SkipSection ; } 00300 00301 STATUS("enter ***ENVIRONMENT") ; 00302 00303 while(1){ /* loop, looking for 'name = value' */ 00304 GETEQN ; 00305 00306 if(PRINT_TRACING) 00307 { char str[256] ; 00308 sprintf(str,"GETEQN: %s %s %s",left,middle,right) ; STATUS(str);} 00309 00310 if( !THD_filename_pure(left) ) continue ; 00311 00312 nl = strlen(left) ; nr = strlen(right) ; 00313 enveqn = (char *) malloc(nl+nr+4) ; 00314 strcpy(enveqn,left) ; strcat(enveqn,"=") ; strcat(enveqn,right) ; 00315 putenv(enveqn) ; 00316 } 00317 00318 continue ; /* to end of outer while */ 00319 } /* end of ENVIRONMENT */ 00320 00321 /** END **/ 00322 00323 if( strcmp(str,"***END") == 0 ) break ; /* exit main loop */ 00324 00325 /** unknown section **/ 00326 00327 #if 0 00328 fprintf(stderr,"\nIn setup file %s, unknown section: %s\n", 00329 fname , str ) ; 00330 break ; /* exit main loop */ 00331 #else 00332 GETSTR ; goto SkipSection ; /* find another section */ 00333 #endif 00334 00335 } /* end of while loop */ 00336 00337 free(fbuf) ; EXRETURN ; 00338 } |
|
try to read a new palette * Definition at line 812 of file afni_setup.c. References AFNI_inten_pbar_CB(), alter_MCW_pbar(), BEEPIT, MCW_pbar::bigmode, MCW_pbar::bigset, ENTRY, FIX_SCALE_SIZE, AFNI_widget_set::func, MCW_choose_cbs::fval, HIDE_SCALE, IM3D_OPEN, AFNI_function_widgets::inten_pbar, MCW_pbar::mode, NORMAL_cursorize, NPANE_MAX, MCW_pbar::num_panes, MCW_pbar::panew, PBAR_set_bigmode(), pmax, pmin, POPUP_cursorize, MCW_pbar::pval, and Three_D_View::vwid. Referenced by AFNI_pbar_CB().
00813 { 00814 Three_D_View * im3d = (Three_D_View *) cd ; 00815 MCW_pbar * pbar ; 00816 float pval[NPANE_MAX+1] ; 00817 double pmin,pmax , fac ; 00818 int ii ; 00819 00820 ENTRY("AFNI_set_pbar_top_CB") ; 00821 00822 if( ! IM3D_OPEN(im3d) ) EXRETURN ; 00823 00824 pmax = cbs->fval ; if( pmax <= 0.0 ){ BEEPIT; EXRETURN; } 00825 pbar = im3d->vwid->func->inten_pbar ; 00826 00827 HIDE_SCALE(im3d) ; 00828 if( pbar->bigmode ){ /* 30 Jan 2003 */ 00829 pbar->bigset = 0 ; 00830 pmin = (pbar->mode) ? 0.0 : -pmax ; 00831 PBAR_set_bigmode( pbar , 1 , pmin,pmax ) ; 00832 AFNI_inten_pbar_CB( pbar , im3d , 0 ) ; 00833 POPUP_cursorize( pbar->panew ) ; /* 08 Apr 2005 */ 00834 } else { 00835 fac = pmax / pbar->pval[0] ; 00836 for( ii=0 ; ii <= pbar->num_panes ; ii++ ) 00837 pval[ii] = fac * pbar->pval[ii] ; 00838 alter_MCW_pbar( pbar , 0 , pval ) ; 00839 NORMAL_cursorize( pbar->panew ) ; /* 08 Apr 2005 */ 00840 } 00841 FIX_SCALE_SIZE(im3d) ; 00842 00843 EXRETURN ; 00844 } |
|
unknown section * Definition at line 342 of file afni_setup.c. References ENTRY, PBAR_palette::mode, PBAR_palette::npane, NPANE_MAX, NPANE_MIN, PAL_FIGNORE, PANE_MAXMODE, RETURN, and PBAR_palette::val. Referenced by AFNI_process_setup().
00343 { 00344 int ii , nn ; 00345 00346 ENTRY("check_PBAR_palette") ; 00347 00348 if( pp == NULL ) RETURN(-1) ; 00349 if( pp->npane < NPANE_MIN || pp->npane > NPANE_MAX ) RETURN(-1) ; 00350 if( pp->mode < 0 || pp->mode >= PANE_MAXMODE ) RETURN(-1) ; 00351 00352 /** val must be all numbers or all ignores -- nothing mixed **/ 00353 00354 nn = 0 ; 00355 for( ii=0 ; ii < pp->npane ; ii++ ) 00356 if( pp->val[ii] == PAL_FIGNORE ) nn++ ; 00357 if( nn > 0 && nn != pp->npane ) RETURN(-1) ; 00358 00359 /** if all numbers, must be ordered **/ 00360 00361 if( nn == 0 ){ 00362 if( pp->val[0] <= 0.0 ) RETURN(-1) ; /* 1st must be positive */ 00363 for( ii=1 ; ii < pp->npane ; ii++ ) 00364 if( pp->val[ii] >= pp->val[ii-1] ) RETURN(-1) ; /* disordered? */ 00365 00366 if( pp->mode == 1 && pp->val[pp->npane-1] < 0.0 ) RETURN(-1) ; 00367 } 00368 00369 RETURN(1) ; 00370 } |
|
if all numbers, must be ordered * Definition at line 373 of file afni_setup.c. References PBAR_palette::col, AFNI_library_type::dc, ENTRY, GLOBAL_library, GPT, MCW_DCOV::label_ov, malloc, MCW_DCOV::name_ov, MCW_DCOV::ncol_ov, NPANE_MAX, NPANE_MIN, MCW_DC::ovc, PAL_FIGNORE, PALTAB_ARR, PALTAB_ARR_LABEL, PALTAB_ARR_PPOS, PALTAB_ARR_PSGN, PALTAB_NUM, realloc, RETURN, s2, and PBAR_palette::val. Referenced by AFNI_finalize_read_palette_CB(), AFNI_pbar_CB(), and main().
00374 { 00375 int ii , jj , nn , nsss,nuuu , nbuf , kk ; 00376 char * sss ; 00377 static char buf[2048] ; 00378 char s1[32] , s2[32] ; 00379 PBAR_palette * pp ; 00380 MCW_DC * dc = GLOBAL_library.dc ; 00381 00382 ENTRY("dump_PBAR_palette_table") ; 00383 00384 nsss = 256 ; sss = (char *) malloc(sizeof(char) * nsss) ; 00385 sss[0] = '\0' ; nuuu = 0 ; 00386 00387 if( verb ){ 00388 sprintf(sss,"Overlay Color Table: \n") ; nuuu = strlen(sss) ; 00389 for( kk=1 ; kk < dc->ovc->ncol_ov ; kk++ ){ 00390 sprintf(buf," %s = %s\n" , dc->ovc->label_ov[kk] , dc->ovc->name_ov[kk] ) ; 00391 nbuf = strlen(buf) ; 00392 if( nbuf+nuuu+2 > nsss ){ 00393 nsss = nbuf+nuuu+128 ; 00394 sss = (char *) realloc( sss , sizeof(char) * nsss ) ; 00395 } 00396 strcat(sss,buf) ; nuuu = strlen(sss) ; 00397 } 00398 } 00399 00400 if( GPT == NULL || PALTAB_NUM(GPT) == 0 ){ 00401 sprintf(buf,"\nPalette Table: *** EMPTY ***\n") ; 00402 nbuf = strlen(buf) ; 00403 if( nbuf+nuuu+2 > nsss ){ 00404 nsss = nbuf+nuuu+128 ; 00405 sss = (char *) realloc( sss , sizeof(char) * nsss ) ; 00406 } 00407 strcat(sss,buf) ; nuuu = strlen(sss) ; 00408 RETURN(sss) ; 00409 } 00410 00411 sprintf(buf,"\nPalette Table:\n") ; 00412 nbuf = strlen(buf) ; 00413 if( nbuf+nuuu+2 > nsss ){ 00414 nsss = nbuf+nuuu+128 ; 00415 sss = (char *) realloc( sss , sizeof(char) * nsss ) ; 00416 } 00417 strcat(sss,buf) ; nuuu = strlen(sss) ; 00418 00419 for( ii=0 ; ii < PALTAB_NUM(GPT) ; ii++ ){ 00420 if( PALTAB_ARR(GPT,ii) == NULL ){ 00421 sprintf(buf,"#%2d: *** EMPTY PALETTE ***\n",ii) ; 00422 } else { 00423 sprintf(buf,"#%2d: %s has" , 00424 ii,PALTAB_ARR_LABEL(GPT,ii) ); nbuf = strlen(buf) ; 00425 nn = 0 ; 00426 for( jj=NPANE_MIN ; jj <= NPANE_MAX ; jj++ ){ 00427 if( (pp=PALTAB_ARR_PSGN(GPT,ii,jj)) != NULL ){ 00428 if( verb ){ sprintf(buf+nbuf,"\n") ; nbuf = strlen(buf) ; } 00429 sprintf(buf+nbuf," [%d]",jj) ; nn++ ; nbuf = strlen(buf) ; 00430 if( verb ){ 00431 for( kk=0 ; kk < jj ; kk++ ){ 00432 sprintf(buf+nbuf,"\n %s -> %f", 00433 dc->ovc->label_ov[pp->col[kk]] , pp->val[kk] ) ; 00434 nbuf = strlen(buf) ; 00435 } 00436 } else { 00437 if(nn%10 == 0){sprintf(buf+nbuf,"\n "); nbuf=strlen(buf);} 00438 } 00439 } 00440 if( (pp=PALTAB_ARR_PPOS(GPT,ii,jj)) != NULL ){ 00441 if( verb ){ sprintf(buf+nbuf,"\n") ; nbuf = strlen(buf) ; } 00442 sprintf(buf+nbuf," [%d+]",jj) ; nn++ ; nbuf = strlen(buf) ; 00443 if( verb ){ 00444 for( kk=0 ; kk < jj ; kk++ ){ 00445 if( pp->col[kk] >= 0 ) strcpy(s1,dc->ovc->label_ov[pp->col[kk]]) ; 00446 else strcpy(s1,"IGNORE") ; 00447 00448 if( pp->val[kk] != PAL_FIGNORE ) sprintf(s2,"%f",pp->val[kk]) ; 00449 else strcpy(s2,"IGNORE") ; 00450 00451 sprintf(buf+nbuf,"\n %s -> %s", s1,s2 ) ; 00452 nbuf = strlen(buf) ; 00453 } 00454 } else { 00455 if(nn%10 == 0){sprintf(buf+nbuf,"\n "); nbuf=strlen(buf);} 00456 } 00457 } 00458 } 00459 if( nn == 0) sprintf(buf+nbuf," nothing \n") ; 00460 else if( verb || nn%10 != 0) sprintf(buf+nbuf,"\n") ; 00461 } 00462 nbuf = strlen(buf) ; 00463 if( nbuf+nuuu+2 > nsss ){ 00464 nsss = nbuf+nuuu+128 ; 00465 sss = (char *) realloc( sss , sizeof(char) * nsss ) ; 00466 } 00467 strcat(sss,buf) ; nuuu = strlen(sss) ; 00468 } 00469 RETURN(sss) ; 00470 } |
|
Definition at line 12 of file afni_setup.c. References PALTAB_ARR_LABEL, and PALTAB_NUM. Referenced by AFNI_process_setup().
00013 { 00014 int ii ; 00015 if( pt == NULL || PALTAB_NUM(pt) == 0 || lab == NULL || lab[0] == '\0' ) 00016 return -1 ; 00017 00018 for( ii=0 ; ii < PALTAB_NUM(pt) ; ii++ ) 00019 if( strcmp( PALTAB_ARR_LABEL(pt,ii) , lab ) == 0 ) return ii ; 00020 00021 return -1 ; 00022 } |
|
Definition at line 474 of file afni_setup.c. References alter_MCW_pbar(), MCW_pbar::bigmode, PBAR_palette::col, MCW_pbar::dc, ENTRY, FIX_SCALE_SIZE, HIDE_SCALE, MCW_DCOV::ncol_ov, NPANE_MAX, NPANE_MIN, MCW_DC::ovc, MCW_pbar::ovin_save, PAL_FIGNORE, MCW_pbar::parent, PBAR_palette_array::ppos, PBAR_palette_array::psgn, MCW_pbar::pval_save, and PBAR_palette::val. Referenced by AFNI_palette_av_CB(), RCREND_palette_av_CB(), and REND_palette_av_CB().
00475 { 00476 int ii , jj , jm , nn ; 00477 PBAR_palette *pp ; 00478 00479 ENTRY("load_PBAR_palette_array") ; 00480 00481 if( pbar == NULL || par == NULL ) EXRETURN ; 00482 00483 nn = 0 ; 00484 for( jj=NPANE_MIN ; jj <= NPANE_MAX ; jj++ ){ 00485 pp = par->psgn[jj] ; jm = 0 ; 00486 if( pp != NULL ){ 00487 if( pp->val[0] != PAL_FIGNORE ){ 00488 for( ii=0 ; ii < jj ; ii++ ) 00489 pbar->pval_save[jj][ii][jm] = pp->val[ii] ; 00490 pbar->pval_save[jj][jj][jm] = - pp->val[0] ; /* reflection */ 00491 } 00492 00493 for( ii=0 ; ii < jj ; ii++ ) 00494 if( pp->col[ii] >= 0 && pp->col[ii] < pbar->dc->ovc->ncol_ov ) 00495 pbar->ovin_save[jj][ii][jm] = pp->col[ii] ; 00496 00497 nn++ ; 00498 } 00499 00500 pp = par->ppos[jj] ; jm = 1 ; 00501 if( pp != NULL ){ 00502 if( pp->val[0] != PAL_FIGNORE ){ 00503 for( ii=0 ; ii < jj ; ii++ ) 00504 pbar->pval_save[jj][ii][jm] = pp->val[ii] ; 00505 pbar->pval_save[jj][jj][jm] = 0.0 ; /* zero based */ 00506 } 00507 00508 for( ii=0 ; ii < jj ; ii++ ) 00509 if( pp->col[ii] >= 0 && pp->col[ii] < pbar->dc->ovc->ncol_ov ) 00510 pbar->ovin_save[jj][ii][jm] = pp->col[ii] ; 00511 00512 nn++ ; 00513 } 00514 } 00515 00516 if( nn > 0 && !pbar->bigmode ){ 00517 Three_D_View * im3d = (Three_D_View *) pbar->parent ; 00518 if( fixim ){ HIDE_SCALE(im3d) ; } 00519 alter_MCW_pbar( pbar , 0 , NULL ) ; 00520 if( fixim ){ FIX_SCALE_SIZE(im3d) ; } 00521 } 00522 EXRETURN ; 00523 } |