From: Ton v. O. <tvo...@us...> - 2006-10-10 00:58:43
|
Update of /cvsroot/easycalc/easycalc In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv5225 Modified Files: calcrsc.h graph.c graph.rcp.in grprefs.c grsetup.c grtaps.c main.c main.h Log Message: For polar graphs now the Deg/Rad/Grd setting is respected and used when tracking graphs and in the graph preferences form. Internally all computations are (still) done in radians. Conversion from/to user angle units is done for input/output. Changed graph preferences form layout to accomodate the angle unit for polar graphs. Eliminated duplication between trigmode and trigmodeg. Index: main.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/main.c,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** main.c 23 Sep 2006 23:40:30 -0000 1.69 --- main.c 10 Oct 2006 00:58:36 -0000 1.70 *************** *** 49,52 **** --- 49,53 ---- #include "history.h" #include "memo.h" + #define _MAIN_C_ #include "main.h" Index: calcrsc.h =================================================================== RCS file: /cvsroot/easycalc/easycalc/calcrsc.h,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** calcrsc.h 22 Sep 2006 20:04:20 -0000 1.60 --- calcrsc.h 10 Oct 2006 00:58:36 -0000 1.61 *************** *** 336,339 **** --- 336,342 ---- #define ckbGrPrefLogY 4220 #define ckbGrPrefGrid 4221 + #define grPrefLabel1u 4222 + #define grPrefLabel2u 4223 + #define grPrefLabel3u 4224 #define varList 4300 Index: graph.rcp.in =================================================================== RCS file: /cvsroot/easycalc/easycalc/graph.rcp.in,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** graph.rcp.in 5 Oct 2006 15:15:44 -0000 1.33 --- graph.rcp.in 10 Oct 2006 00:58:36 -0000 1.34 *************** *** 62,103 **** HELPID hlpGrPref BEGIN ! TITLE "$$GRAPH PREFERENCES" ! BUTTON "$$OK" ID prefOK AT (5 140 40 12) ! BUTTON "$$CANCEL" ID prefCancel AT (PREVRIGHT+5 PREVTOP AUTO 12) ! LABEL "xmin:" AUTOID AT (5 14) ! FIELD ID grPrefXmin AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "xmax:" AUTOID AT (5 PREVTOP+14) ! FIELD ID grPrefXmax AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "xscale:" AUTOID AT (5 PREVTOP+14) ! FIELD ID grPrefXscale AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "ymin:" AUTOID AT (5 PREVTOP+14) ! FIELD ID grPrefYmin AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "ymax:" AUTOID AT (5 PREVTOP+14) ! FIELD ID grPrefYmax AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "yscale:" AUTOID AT (5 PREVTOP+14) ! FIELD ID grPrefYscale AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! ! LABEL " " grPrefLabel1 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField1 AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! LABEL " " grPrefLabel2 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField2 AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! LABEL " " grPrefLabel3 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField3 AT (35 PREVTOP 60 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! ! BUTTON "$$DEFAULT" ID grPrefDefault AT (100 20 50 12) ! BUTTON "$$TRIGONO" ID grPrefTrig AT (100 35 50 12) ! ! PUSHBUTTON "$$FUNCMODE" ID grPrefFunc AT (98 55 56 12) GROUP 1 ! PUSHBUTTON "$$POLARMODE" ID grPrefPol AT (PREVLEFT PREVBOTTOM+1 PREVWIDTH 12) GROUP 1 ! PUSHBUTTON "$$PARAMMODE" ID grPrefPar AT (PREVLEFT PREVBOTTOM+1 PREVWIDTH 12) GROUP 1 ! CHECKBOX "Log X" ckbGrPrefLogX AT (PREVLEFT+7 PREVBOTTOM+5 AUTO AUTO) ! CHECKBOX "Log Y" ckbGrPrefLogY AT (PREVLEFT PREVBOTTOM+2 AUTO AUTO) ! CHECKBOX "Grid" ckbGrPrefGrid AT (PREVLEFT PREVBOTTOM+7 AUTO AUTO) ! GRAFFITISTATEINDICATOR AT (143 PREVBOTTOM+2) END --- 62,105 ---- HELPID hlpGrPref BEGIN ! TITLE "$$GRAPH PREFERENCES" ! BUTTON "$$OK" ID prefOK AT (5 140 40 12) ! BUTTON "$$CANCEL" ID prefCancel AT (PREVRIGHT+5 PREVTOP AUTO 12) ! LABEL "xmin:" AUTOID AT (3 14) ! FIELD ID grPrefXmin AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "xmax:" AUTOID AT (3 PREVTOP+14) ! FIELD ID grPrefXmax AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "xscale:" AUTOID AT (3 PREVTOP+14) ! FIELD ID grPrefXscale AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "ymin:" AUTOID AT (3 PREVTOP+14) ! FIELD ID grPrefYmin AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "ymax:" AUTOID AT (3 PREVTOP+14) ! FIELD ID grPrefYmax AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! LABEL "yscale:" AUTOID AT (3 PREVTOP+14) ! FIELD ID grPrefYscale AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 USABLE ! ! LABEL " " grPrefLabel1 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField1 AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! LABEL "Rad" grPrefLabel1u AT (PREVRIGHT PREVTOP) NONUSABLE ! LABEL " " grPrefLabel2 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField2 AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! LABEL "Rad" grPrefLabel2u AT (PREVRIGHT PREVTOP) NONUSABLE ! LABEL " " grPrefLabel3 AT (3 PREVTOP+14) NONUSABLE ! FIELD ID grPrefField3 AT (33 PREVTOP 57 12) EDITABLE UNDERLINED SINGLELINE MAXCHARS 20 NONUSABLE ! LABEL "Rad" grPrefLabel3u AT (PREVRIGHT PREVTOP) NONUSABLE ! BUTTON "$$DEFAULT" ID grPrefDefault AT (100 20 50 12) ! BUTTON "$$TRIGONO" ID grPrefTrig AT (100 35 50 12) ! ! PUSHBUTTON "$$FUNCMODE" ID grPrefFunc AT (100 55 54 12) GROUP 1 ! PUSHBUTTON "$$POLARMODE" ID grPrefPol AT (PREVLEFT PREVBOTTOM+1 PREVWIDTH 12) GROUP 1 ! PUSHBUTTON "$$PARAMMODE" ID grPrefPar AT (PREVLEFT PREVBOTTOM+1 PREVWIDTH 12) GROUP 1 ! CHECKBOX "Log X" ckbGrPrefLogX AT (PREVLEFT+13 PREVBOTTOM+16 AUTO AUTO) ! CHECKBOX "Log Y" ckbGrPrefLogY AT (PREVLEFT PREVBOTTOM AUTO AUTO) ! CHECKBOX "Grid" ckbGrPrefGrid AT (PREVLEFT PREVBOTTOM AUTO AUTO) ! GRAFFITISTATEINDICATOR AT (143 PREVBOTTOM+2) END Index: grsetup.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/grsetup.c,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** grsetup.c 6 Oct 2006 14:57:02 -0000 1.26 --- grsetup.c 10 Oct 2006 00:58:36 -0000 1.27 *************** *** 62,70 **** { if (graphPrefs.functype == graph_func) ! return "x"; else if (graphPrefs.functype == graph_polar) ! return "t"; else /* Parametric */ ! return "t"; } --- 62,70 ---- { if (graphPrefs.functype == graph_func) ! return "x"; else if (graphPrefs.functype == graph_polar) ! return "t"; else /* Parametric */ ! return "t"; } *************** *** 96,100 **** count++; } else if (graphPrefs.functype != graph_param && ! StrLen(grsetup_get_fname(i))) { descr[count] = (char *)grsetup_fn_descr(i); nums[count] = i; --- 96,100 ---- count++; } else if (graphPrefs.functype != graph_param && ! StrLen(grsetup_get_fname(i))) { descr[count] = (char *)grsetup_fn_descr(i); nums[count] = i; *************** *** 123,131 **** { if (graphPrefs.functype == graph_func) ! return tblFuncs[i]; else if (graphPrefs.functype == graph_polar) ! return tblPols[i]; else ! return tblPars[i]; } --- 123,131 ---- { if (graphPrefs.functype == graph_func) ! return tblFuncs[i]; else if (graphPrefs.functype == graph_polar) ! return tblPols[i]; else ! return tblPars[i]; } *************** *** 189,198 **** { switch (graphPrefs.functype) { ! case graph_func: return graphPrefs.funcFunc[row]; ! case graph_polar: return graphPrefs.funcPol[row]; ! case graph_param: ! default: return graphPrefs.funcPar[row/2][row%2]; } --- 189,198 ---- { switch (graphPrefs.functype) { ! case graph_func: return graphPrefs.funcFunc[row]; ! case graph_polar: return graphPrefs.funcPol[row]; ! case graph_param: ! default: return graphPrefs.funcPar[row/2][row%2]; } Index: main.h =================================================================== RCS file: /cvsroot/easycalc/easycalc/main.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** main.h 12 Sep 2006 19:40:55 -0000 1.3 --- main.h 10 Oct 2006 00:58:36 -0000 1.4 *************** *** 29,32 **** --- 29,38 ---- #define BUTTON_COUNT 15 + #ifndef _MAIN_C_ + extern const struct { + const char *trigtext; + } trigmode[]; + #endif + Boolean MainFormHandleEvent(EventPtr event); void main_insert(UInt16 fieldid,const char *text,Boolean operator,Boolean func, Index: graph.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/graph.c,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** graph.c 7 Oct 2006 20:37:36 -0000 1.49 --- graph.c 10 Oct 2006 00:58:36 -0000 1.50 *************** *** 54,57 **** --- 54,58 ---- #include "varmgr.h" #include "grcalc.h" + #include "main.h" #ifdef SUPPORT_DIA *************** *** 68,79 **** }graphState; - const struct { - const char *trigtext; - } trigmodeg[] ={ - {"Deg"}, - {"Rad"}, - {"Grd"} - }; - TscrPrefs ScrPrefs; --- 69,72 ---- *************** *** 580,588 **** if (!graphCurves[fnum].stack1) return false; ! func_get_value(graphCurves[fnum].stack1,param,&r,NULL); if (!finite(r)) return false; ! *x = r*cos(math_user_to_rad(param)); ! *y = r*sin(math_user_to_rad(param)); return true; --- 573,582 ---- if (!graphCurves[fnum].stack1) return false; ! func_get_value(graphCurves[fnum].stack1, ! math_rad_to_user(param),&r,NULL); if (!finite(r)) return false; ! *x = r*cos(param); ! *y = r*sin(param); return true; *************** *** 963,967 **** } calcPrefs.trigo_mode = trig; ! CtlSetLabel(GetObjectPtr(btnPrefMode),trigmodeg[trig].trigtext); FrmUpdateForm(frmGraph,frmUpdateVars); break; --- 957,961 ---- } calcPrefs.trigo_mode = trig; ! CtlSetLabel(GetObjectPtr(btnPrefMode),trigmode[trig].trigtext); FrmUpdateForm(frmGraph,frmUpdateVars); break; *************** *** 999,1002 **** --- 993,998 ---- case btnGraphTrackGoto: position = grtaps_track_last_value(); + if (graphPrefs.functype == graph_polar) + position = math_rad_to_user(position); if (varmgr_get_double(&position,"Jump to position")) { grtaps_track_manual(position,track_set); *************** *** 1019,1023 **** trig = calcPrefs.trigo_mode; CtlSetLabel(GetObjectPtr(btnPrefMode), ! trigmodeg[trig].trigtext); graph_draw_start(); grtaps_track_reset(graphState.start); --- 1015,1019 ---- trig = calcPrefs.trigo_mode; CtlSetLabel(GetObjectPtr(btnPrefMode), ! trigmode[trig].trigtext); graph_draw_start(); grtaps_track_reset(graphState.start); *************** *** 1030,1075 **** handled = true; if (CtlGetValue(GetObjectPtr(btnGraphTrack)) && ! !(event->data.keyDown.modifiers & poweredOnKeyMask)) ! switch (event->data.keyDown.chr) { ! case vchrHard3: ! grtaps_track_manual(graphState.step*5,track_add); ! handled = true; ! break; ! case vchrPageUp: ! grtaps_track_manual(graphState.step,track_add); ! break; ! case vchrPageDown: ! grtaps_track_manual(-graphState.step,track_add); ! break; ! case vchrHard2: ! grtaps_track_manual(-graphState.step*5,track_add); ! handled = true; ! break; ! case '0': ! case '1': ! case '2': ! case '3': ! case '4': ! case '5': ! case '6': ! case '7': ! case '8': ! case '9': ! case '.': ! case ',': ! case '-': ! /* Automatically popup a 'Goto' window when ! * number pressed ! */ ! if (CtlGetValue(GetObjectPtr(btnGraphTrack))) { ! EvtAddEventToQueue(event); ! if (varmgr_get_double(&position,"Jump to position")) ! grtaps_track_manual(position,track_set); ! } ! break; ! default: ! handled = false; ! break; ! } break; case frmCloseEvent: --- 1026,1075 ---- handled = true; if (CtlGetValue(GetObjectPtr(btnGraphTrack)) && ! !(event->data.keyDown.modifiers & poweredOnKeyMask)) { ! double step = graphState.step; ! ! if (graphPrefs.functype == graph_polar) ! step = math_rad_to_user(step); ! ! switch (event->data.keyDown.chr) { ! case vchrHard3: ! grtaps_track_manual(step*5,track_add); ! break; ! case vchrPageUp: ! grtaps_track_manual(step,track_add); ! break; ! case vchrPageDown: ! grtaps_track_manual(-step,track_add); ! break; ! case vchrHard2: ! grtaps_track_manual(-step*5,track_add); ! break; ! case '0': ! case '1': ! case '2': ! case '3': ! case '4': ! case '5': ! case '6': ! case '7': ! case '8': ! case '9': ! case '.': ! case ',': ! case '-': ! /* Automatically popup a 'Goto' window when ! * number pressed ! */ ! if (CtlGetValue(GetObjectPtr(btnGraphTrack))) { ! EvtAddEventToQueue(event); ! if (varmgr_get_double(&position,"Jump to position")) ! grtaps_track_manual(position,track_set); ! } ! break; ! default: ! handled = false; ! break; ! } ! } break; case frmCloseEvent: *************** *** 1088,1092 **** CtlSetValue(GetObjectPtr(btnGraph),1); trig = calcPrefs.trigo_mode; ! CtlSetLabel(GetObjectPtr(btnPrefMode),trigmodeg[trig].trigtext); graph_init_cache(); graph_draw_start(); --- 1088,1092 ---- CtlSetValue(GetObjectPtr(btnGraph),1); trig = calcPrefs.trigo_mode; ! CtlSetLabel(GetObjectPtr(btnPrefMode),trigmode[trig].trigtext); graph_init_cache(); graph_draw_start(); Index: grtaps.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/grtaps.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** grtaps.c 7 Oct 2006 20:37:36 -0000 1.27 --- grtaps.c 10 Oct 2006 00:58:36 -0000 1.28 *************** *** 519,525 **** grtaps_track_manual(double value,TtrackAction action) { ! double realx,realy,r; RectangleType bounds; ! if (action==track_reset) { lastParam = value; --- 519,529 ---- grtaps_track_manual(double value,TtrackAction action) { ! double realx, realy, r; RectangleType bounds; ! ! if (graphPrefs.functype == graph_polar) { ! value = math_user_to_rad(value); ! } ! if (action==track_reset) { lastParam = value; *************** *** 536,542 **** if (action != track_redraw) ! grtaps_cross(crossX,crossY,&bounds); ! graph_get_vals(trackSelected,lastParam,&realx,&realy); crossX = finite(realx) ? graph_xgr2scr(realx) : -1; crossY = finite(realy) ? graph_ygr2scr(realy) : -1; --- 540,546 ---- if (action != track_redraw) ! grtaps_cross(crossX, crossY, &bounds); ! graph_get_vals(trackSelected, lastParam, &realx, &realy); crossX = finite(realx) ? graph_xgr2scr(realx) : -1; crossY = finite(realy) ? graph_ygr2scr(realy) : -1; *************** *** 547,558 **** || crossY > bounds.topLeft.y + bounds.extent.y) crossY = -1; ! grtaps_cross(crossX,crossY,&bounds); ! grtaps_print_coords(realx,realy,&bounds); if (graphPrefs.functype == graph_param) ! grtaps_print_param(lastParam,&bounds); else if (graphPrefs.functype == graph_polar) { ! func_get_value(graphCurves[trackSelected].stack1, ! lastParam,&r,NULL); ! grtaps_print_pol(r,lastParam,&bounds); } } --- 551,563 ---- || crossY > bounds.topLeft.y + bounds.extent.y) crossY = -1; ! grtaps_cross(crossX, crossY, &bounds); ! grtaps_print_coords(realx, realy, &bounds); if (graphPrefs.functype == graph_param) ! grtaps_print_param(lastParam, &bounds); else if (graphPrefs.functype == graph_polar) { ! // func_get_value(graphCurves[trackSelected].stack1, ! // lastParam,&r,NULL); ! r = sqrt(realx * realx + realy * realy); ! grtaps_print_pol(r, math_rad_to_user(lastParam), &bounds); } } *************** *** 640,644 **** if (RctPtInRectangle(x, y, bounds)) { ! lastParam = angle_usr; return true; } --- 645,649 ---- if (RctPtInRectangle(x, y, bounds)) { ! lastParam = angle_rad; return true; } Index: grprefs.c =================================================================== RCS file: /cvsroot/easycalc/easycalc/grprefs.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** grprefs.c 12 Sep 2006 19:40:55 -0000 1.22 --- grprefs.c 10 Oct 2006 00:58:36 -0000 1.23 *************** *** 35,38 **** --- 35,39 ---- #include "mathem.h" #include "fp.h" + #include "main.h" #ifdef SUPPORT_DIA *************** *** 100,105 **** graphPrefs.yscale = 1.0; graphPrefs.fimin = 0.0; ! graphPrefs.fimax = 2*M_PIl; ! graphPrefs.fistep = 0.08; graphPrefs.tmin = 0.0; graphPrefs.tmax = 10.0; --- 101,106 ---- graphPrefs.yscale = 1.0; graphPrefs.fimin = 0.0; ! graphPrefs.fimax = M_PIl*2.0; ! graphPrefs.fistep = M_PIl*0.02; graphPrefs.tmin = 0.0; graphPrefs.tmax = 10.0; *************** *** 263,285 **** if (CtlGetValue(GetObjectPtr(grPrefFunc))) ! functype = graph_func; else { if (grpref_comp_field(grPrefField1,&t1)) ! return 0; if (grpref_comp_field(grPrefField2,&t2)) ! return 0; if (grpref_comp_field(grPrefField3,&t3)) ! return 0; if (CtlGetValue(GetObjectPtr(grPrefPol))) { ! if (t1>t2 || (t2-t1)/t3 > 10000 || t3<=0) /* check that min<max and step is reasonable */ ! return 0; ! graphPrefs.fimin = t1; ! graphPrefs.fimax = t2; ! graphPrefs.fistep = t3; functype = graph_polar; } else { if (t1>t2 || (t2-t1)/t3 > 10000 || t3 <= 0) /* check that min<max and step is reasonable */ ! return 0; graphPrefs.tmin = t1; graphPrefs.tmax = t2; --- 264,286 ---- if (CtlGetValue(GetObjectPtr(grPrefFunc))) ! functype = graph_func; else { if (grpref_comp_field(grPrefField1,&t1)) ! return 0; if (grpref_comp_field(grPrefField2,&t2)) ! return 0; if (grpref_comp_field(grPrefField3,&t3)) ! return 0; if (CtlGetValue(GetObjectPtr(grPrefPol))) { ! if (t1>t2 || (t2-t1)/t3 > 10000 || t3 <= 0) /* check that min<max and step is reasonable */ ! return 0; ! graphPrefs.fimin = math_user_to_rad(t1); ! graphPrefs.fimax = math_user_to_rad(t2); ! graphPrefs.fistep = math_user_to_rad(t3); functype = graph_polar; } else { if (t1>t2 || (t2-t1)/t3 > 10000 || t3 <= 0) /* check that min<max and step is reasonable */ ! return 0; graphPrefs.tmin = t1; graphPrefs.tmax = t2; *************** *** 289,295 **** } graphPrefs.functype = functype; ! graphPrefs.xmin=xmin;graphPrefs.xmax=xmax; ! graphPrefs.ymin=ymin;graphPrefs.ymax=ymax; ! graphPrefs.xscale=xscale;graphPrefs.yscale=yscale; graphPrefs.logx = CtlGetValue(GetObjectPtr(ckbGrPrefLogX)); graphPrefs.logy = CtlGetValue(GetObjectPtr(ckbGrPrefLogY)); --- 290,296 ---- } graphPrefs.functype = functype; ! graphPrefs.xmin=xmin; graphPrefs.xmax=xmax; ! graphPrefs.ymin=ymin; graphPrefs.ymax=ymax; ! graphPrefs.xscale = xscale;graphPrefs.yscale = yscale; graphPrefs.logx = CtlGetValue(GetObjectPtr(ckbGrPrefLogX)); graphPrefs.logy = CtlGetValue(GetObjectPtr(ckbGrPrefLogY)); *************** *** 354,369 **** * functions * ! * PARAMETERS: None * * RETURN: None * ***********************************************************************/ ! static void grpref_show_fields(void) IFACE; static void ! grpref_show_fields(void) { ! FormPtr frm; ! ! frm = FrmGetActiveForm(); FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel1)); FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel2)); --- 355,369 ---- * functions * ! * PARAMETERS: ftyp - function type. * * RETURN: None * ***********************************************************************/ ! static void grpref_show_fields(Tfunctype ftyp) IFACE; static void ! grpref_show_fields(Tfunctype ftyp) { ! FormPtr frm = FrmGetActiveForm(); ! FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel1)); FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel2)); *************** *** 372,375 **** --- 372,385 ---- FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefField2)); FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefField3)); + if (ftyp == graph_polar) { + const Char *unittxt = trigmode[calcPrefs.trigo_mode].trigtext; + + FrmCopyLabel(frm,grPrefLabel1u,unittxt); + FrmCopyLabel(frm,grPrefLabel2u,unittxt); + FrmCopyLabel(frm,grPrefLabel3u,unittxt); + FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel1u)); + FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel2u)); + FrmShowObject(frm,FrmGetObjectIndex(frm,grPrefLabel3u)); + } } *************** *** 389,395 **** grpref_hide_fields(void) { ! FormPtr frm; ! ! frm = FrmGetActiveForm(); FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel1)); FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel2)); --- 399,404 ---- grpref_hide_fields(void) { ! FormPtr frm = FrmGetActiveForm(); ! FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel1)); FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel2)); *************** *** 398,401 **** --- 407,413 ---- FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefField2)); FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefField3)); + FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel1u)); + FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel2u)); + FrmHideObject(frm,FrmGetObjectIndex(frm,grPrefLabel3u)); } *************** *** 416,419 **** --- 428,432 ---- { FormPtr frm = FrmGetActiveForm(); + FrmCopyLabel(frm,grPrefLabel1,txt1); FrmCopyLabel(frm,grPrefLabel2,txt2); *************** *** 437,444 **** { grpref_set_names("t-min:","t-max:","t-step:"); ! grpref_set_field(grPrefField1,graphPrefs.fimin); ! grpref_set_field(grPrefField2,graphPrefs.fimax); ! grpref_set_field(grPrefField3,graphPrefs.fistep); ! grpref_show_fields(); } --- 450,457 ---- { grpref_set_names("t-min:","t-max:","t-step:"); ! grpref_set_field(grPrefField1,math_rad_to_user(graphPrefs.fimin)); ! grpref_set_field(grPrefField2,math_rad_to_user(graphPrefs.fimax)); ! grpref_set_field(grPrefField3,math_rad_to_user(graphPrefs.fistep)); ! grpref_show_fields(graph_polar); } *************** *** 462,466 **** grpref_set_field(grPrefField2,graphPrefs.tmax); grpref_set_field(grPrefField3,graphPrefs.tstep); ! grpref_show_fields(); } --- 475,479 ---- grpref_set_field(grPrefField2,graphPrefs.tmax); grpref_set_field(grPrefField3,graphPrefs.tstep); ! grpref_show_fields(graph_param); } *************** *** 497,501 **** break; case frmOpenEvent: ! frm=FrmGetActiveForm(); oldprefs = fp_set_prefs(grDPrefs); --- 510,514 ---- break; case frmOpenEvent: ! frm = FrmGetActiveForm(); oldprefs = fp_set_prefs(grDPrefs); *************** *** 549,555 **** grpref_hide_fields(); if (controlID==grPrefPol) ! grpref_pol_setup(); else if (controlID==grPrefPar) ! grpref_par_setup(); handled = true; break; --- 562,568 ---- grpref_hide_fields(); if (controlID==grPrefPol) ! grpref_pol_setup(); else if (controlID==grPrefPar) ! grpref_par_setup(); handled = true; break; *************** *** 561,564 **** --- 574,587 ---- grpref_set_field(grPrefXscale,1.0); grpref_set_field(grPrefYscale,1.0); + if (CtlGetValue(GetObjectPtr(grPrefPol))) { + grpref_set_field(grPrefField1,0.0); + grpref_set_field(grPrefField2,math_rad_to_user(2.0*M_PIl)); + grpref_set_field(grPrefField3,math_rad_to_user(0.02*M_PIl)); + } + else if (CtlGetValue(GetObjectPtr(grPrefPar))) { + grpref_set_field(grPrefField1,0.0); + grpref_set_field(grPrefField2,10.0); + grpref_set_field(grPrefField3,0.1); + } handled=true; break; *************** *** 579,583 **** } else ! FrmAlert(altGraphBadVal); handled=true; break; --- 602,606 ---- } else ! FrmAlert(altGraphBadVal); handled=true; break; |