ListItem GridWindMover::GetNthListItem(long n, short indent, short *style, char *text) { char valStr[64], dateStr[64]; long numTimesInFile = timeGrid->GetNumTimesInFile(); ListItem item = { this, n, indent, 0 }; long mode = model->GetModelMode(); if (n == 0) { item.index = I_GRIDWINDNAME; if (mode == ADVANCEDMODE) item.bullet = bOpen ? BULLET_OPENTRIANGLE : BULLET_CLOSEDTRIANGLE; strcpy(text,"Wind File: "); strcat(text,fFileName); if(!bActive)*style = italic; // JLM 6/14/10 return item; } if (bOpen) { if (mode == ADVANCEDMODE && --n == 0) { item.indent++; item.index = I_GRIDWINDACTIVE; item.bullet = bActive ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; strcpy(text, "Active"); return item; } if (mode == ADVANCEDMODE && --n == 0) { item.indent++; item.index = I_GRIDWINDSHOWGRID; item.bullet = bShowGrid ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; strcpy(text, "Show Grid"); return item; } if (mode == ADVANCEDMODE && --n == 0) { item.indent++; item.index = I_GRIDWINDSHOWARROWS; item.bullet = bShowArrows ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; StringWithoutTrailingZeros(valStr,fArrowScale,6); //strcpy(text, "Show Velocity Vectors"); sprintf(text, "Show Velocities (@ 1 in = %s m/s) ",valStr); return item; } // release time if (timeGrid->GetNumFiles()>1) { if (--n == 0) { //item.indent++; //Seconds time = (*fInputFilesHdl)[0].startTime + fTimeShift; Seconds time = timeGrid->GetStartTimeValue(0); Secs2DateString2 (time, dateStr); /*if(numTimesInFile>0)*/ sprintf (text, "Start Time: %s", dateStr); //else sprintf (text, "Time: %s", dateStr); return item; } if (--n == 0) { //item.indent++; //Seconds time = (*fInputFilesHdl)[GetNumFiles()-1].endTime + fTimeShift; Seconds time = timeGrid->GetStartTimeValue(timeGrid->GetNumFiles()-1); Secs2DateString2 (time, dateStr); sprintf (text, "End Time: %s", dateStr); return item; } } else { if (numTimesInFile>0) { if (--n == 0) { //item.indent++; //Seconds time = (*fTimeHdl)[0] + fTimeShift; Seconds time = timeGrid->GetTimeValue(0); // includes the time shift Secs2DateString2 (time, dateStr); /*if(numTimesInFile>0)*/ sprintf (text, "Start Time: %s", dateStr); //else sprintf (text, "Time: %s", dateStr); return item; } } if (numTimesInFile>0) { if (--n == 0) { //item.indent++; //Seconds time = (*fTimeHdl)[numTimesInFile-1] + fTimeShift; Seconds time = timeGrid->GetTimeValue(numTimesInFile-1) + timeGrid->fTimeShift; Secs2DateString2 (time, dateStr); sprintf (text, "End Time: %s", dateStr); return item; } } } if(mode == ADVANCEDMODE && model->IsUncertain()) { if (--n == 0) { item.indent++; item.index = I_NETCDFWINDUNCERTAIN; item.bullet = bUncertaintyPointOpen ? BULLET_OPENTRIANGLE : BULLET_CLOSEDTRIANGLE; strcpy(text, "Uncertainty"); return item; } if(bUncertaintyPointOpen) { if (--n == 0) { item.indent++; item.index = I_NETCDFWINDSTARTTIME; sprintf(text, "Start Time: %.2f hours",((double)fUncertainStartTime)/3600.); return item; } if (--n == 0) { item.indent++; item.index = I_NETCDFWINDDURATION; sprintf(text, "Duration: %.2f hr", (float)(fDuration / 3600.0)); return item; } if (--n == 0) { item.indent++; item.index = I_NETCDFWINDSPEEDSCALE; sprintf(text, "Speed Scale: %.2f ", fSpeedScale); return item; } if (--n == 0) { item.indent++; item.index = I_NETCDFWINDANGLESCALE; sprintf(text, "Angle Scale: %.2f ", fAngleScale); return item; } } } } item.owner = 0; return item; }
ListItem GridCurrentMover::GetNthListItem(long n, short indent, short *style, char *text) { char valStr[64], dateStr[64]; long numTimesInFile = timeGrid->GetNumTimesInFile(); //long numTimesInFile = 0; ListItem item = { this, 0, indent, 0 }; if (n == 0) { item.index = I_GRIDCURRENTNAME; item.bullet = bOpen ? BULLET_OPENTRIANGLE : BULLET_CLOSEDTRIANGLE; sprintf(text, "Currents: \"%s\"", timeGrid->fVar.userName); if(!bActive)*style = italic; // JLM 6/14/10 return item; } if (bOpen) { if (--n == 0) { item.index = I_GRIDCURRENTACTIVE; item.bullet = bActive ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; strcpy(text, "Active"); item.indent++; return item; } if (--n == 0) { item.index = I_GRIDCURRENTGRID; item.bullet = fVar.bShowGrid ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; sprintf(text, "Show Grid"); item.indent++; return item; } if (--n == 0) { item.index = I_GRIDCURRENTARROWS; item.bullet = fVar.bShowArrows ? BULLET_FILLEDBOX : BULLET_EMPTYBOX; StringWithoutTrailingZeros(valStr,fVar.arrowScale,6); //sprintf(text, "Show Velocities (@ 1 in = %s m/s) ", valStr); if (fVar.gridType==TWO_D) sprintf(text, "Show Velocities (@ 1 in = %s m/s)", valStr); else { if (fVar.arrowDepth>=0) sprintf(text, "Show Velocities (@ 1 in = %s m/s) at %g m", valStr, fVar.arrowDepth); else sprintf(text, "Show Velocities (@ 1 in = %s m/s) at bottom", valStr); } item.indent++; return item; } if (--n == 0) { item.index = I_GRIDCURRENTSCALE; StringWithoutTrailingZeros(valStr,fVar.curScale,6); sprintf(text, "Multiplicative Scalar: %s", valStr); //item.indent++; return item; } // release time if (timeGrid->GetNumFiles()>1) { if (--n == 0) { //item.indent++; //Seconds time = (*fInputFilesHdl)[0].startTime + fTimeShift; Seconds time = timeGrid->GetStartTimeValue(0); Secs2DateString2 (time, dateStr); /*if(numTimesInFile>0)*/ sprintf (text, "Start Time: %s", dateStr); //else sprintf (text, "Time: %s", dateStr); return item; } if (--n == 0) { //item.indent++; //Seconds time = (*fInputFilesHdl)[GetNumFiles()-1].endTime + fTimeShift; Seconds time = timeGrid->GetStartTimeValue(timeGrid->GetNumFiles()-1); Secs2DateString2 (time, dateStr); sprintf (text, "End Time: %s", dateStr); return item; } } else { if (numTimesInFile>0) { if (--n == 0) { //item.indent++; //Seconds time = (*fTimeHdl)[0] + fTimeShift; Seconds time = timeGrid->GetTimeValue(0); // includes the time shift Secs2DateString2 (time, dateStr); /*if(numTimesInFile>0)*/ sprintf (text, "Start Time: %s", dateStr); //else sprintf (text, "Time: %s", dateStr); return item; } } if (numTimesInFile>0) { if (--n == 0) { //item.indent++; //Seconds time = (*fTimeHdl)[numTimesInFile-1] + fTimeShift; Seconds time = timeGrid->GetTimeValue(numTimesInFile-1) + timeGrid->fTimeShift; Secs2DateString2 (time, dateStr); sprintf (text, "End Time: %s", dateStr); return item; } } } if(model->IsUncertain()) { if (--n == 0) { item.index = I_GRIDCURRENTUNCERTAINTY; item.bullet = fVar.bUncertaintyPointOpen ? BULLET_OPENTRIANGLE : BULLET_CLOSEDTRIANGLE; strcpy(text, "Uncertainty"); item.indent++; return item; } if (fVar.bUncertaintyPointOpen) { if (--n == 0) { item.index = I_GRIDCURRENTALONGCUR; item.indent++; StringWithoutTrailingZeros(valStr,fVar.alongCurUncertainty*100,6); sprintf(text, "Along Current: %s %%",valStr); return item; } if (--n == 0) { item.index = I_GRIDCURRENTCROSSCUR; item.indent++; StringWithoutTrailingZeros(valStr,fVar.crossCurUncertainty*100,6); sprintf(text, "Cross Current: %s %%",valStr); return item; } /*if (--n == 0) { item.index = I_GRIDCURRENTMINCURRENT; item.indent++; StringWithoutTrailingZeros(valStr,fVar.uncertMinimumInMPS,6); sprintf(text, "Current Minimum: %s m/s",valStr); return item; }*/ if (--n == 0) { item.index = I_GRIDCURRENTSTARTTIME; item.indent++; StringWithoutTrailingZeros(valStr,fVar.startTimeInHrs,6); sprintf(text, "Start Time: %s hours",valStr); return item; } if (--n == 0) { item.index = I_GRIDCURRENTDURATION; //item.bullet = BULLET_DASH; item.indent++; StringWithoutTrailingZeros(valStr,fVar.durationInHrs,6); sprintf(text, "Duration: %s hours",valStr); return item; } } } // uncertainty is on } // bOpen item.owner = 0; return item; }