void loadgriddata(GridData griddata)
{
list = griddata.poly;
CMB_camera.Text = griddata.camera;
NUM_altitude.Value = griddata.alt;
NUM_angle.Value = griddata.angle;
CHK_camdirection.Checked = griddata.camdir;
CHK_usespeed.Checked = griddata.usespeed;
NUM_UpDownFlySpeed.Value = griddata.speed;
CHK_toandland.Checked = griddata.autotakeoff;
CHK_toandland_RTL.Checked = griddata.autotakeoff_RTL;
NUM_split.Value = griddata.splitmission;
NUM_Distance.Value = griddata.dist;
NUM_overshoot.Value = griddata.overshoot1;
NUM_overshoot2.Value = griddata.overshoot2;
NUM_leadin.Value = griddata.leadin;
CMB_startfrom.Text = griddata.startfrom;
num_overlap.Value = griddata.overlap;
num_sidelap.Value = griddata.sidelap;
NUM_spacing.Value = griddata.spacing;
chk_crossgrid.Checked = griddata.crossgrid;
rad_trigdist.Checked = griddata.trigdist;
rad_digicam.Checked = griddata.digicam;
rad_repeatservo.Checked = griddata.repeatservo;
chk_stopstart.Checked = griddata.breaktrigdist;
NUM_reptservo.Value = griddata.repeatservo_no;
num_reptpwm.Value = griddata.repeatservo_pwm;
NUM_repttime.Value = griddata.repeatservo_cycle;
num_setservono.Value = griddata.setservo_no;
num_setservolow.Value = griddata.setservo_low;
num_setservohigh.Value = griddata.setservo_high;
// Copter Settings
NUM_copter_delay.Value = griddata.copter_delay;
CHK_copter_headinghold.Checked = griddata.copter_headinghold_chk;
TXT_headinghold.Text = griddata.copter_headinghold.ToString();
// Plane Settings
NUM_Lane_Dist.Value = griddata.minlaneseparation;
// update display options last
CHK_internals.Checked = griddata.internals;
CHK_footprints.Checked = griddata.footprints;
CHK_advanced.Checked = griddata.advanced;
loadedfromfile = true;
}