private void PopulateTools(ControlBase parent) { var select = GwenHelper.CreateHeaderPanel(parent, "Select Tool -- Line Info"); var length = GwenHelper.AddCheckbox(select, "Show Length", Settings.Editor.ShowLineLength, (o, e) => { Settings.Editor.ShowLineLength = ((Checkbox)o).IsChecked; Settings.Save(); }); var angle = GwenHelper.AddCheckbox(select, "Show Angle", Settings.Editor.ShowLineAngle, (o, e) => { Settings.Editor.ShowLineAngle = ((Checkbox)o).IsChecked; Settings.Save(); }); var showid = GwenHelper.AddCheckbox(select, "Show ID", Settings.Editor.ShowLineID, (o, e) => { Settings.Editor.ShowLineID = ((Checkbox)o).IsChecked; Settings.Save(); }); Panel panelSnap = GwenHelper.CreateHeaderPanel(parent, "Snapping"); var linesnap = GwenHelper.AddCheckbox(panelSnap, "Snap New Lines", Settings.Editor.SnapNewLines, (o, e) => { Settings.Editor.SnapNewLines = ((Checkbox)o).IsChecked; Settings.Save(); }); var movelinesnap = GwenHelper.AddCheckbox(panelSnap, "Snap Line Movement", Settings.Editor.SnapMoveLine, (o, e) => { Settings.Editor.SnapMoveLine = ((Checkbox)o).IsChecked; Settings.Save(); }); var forcesnap = GwenHelper.AddCheckbox(panelSnap, "Force X/Y snap", Settings.Editor.ForceXySnap, (o, e) => { Settings.Editor.ForceXySnap = ((Checkbox)o).IsChecked; Settings.Save(); }); var onsk = GwenHelper.CreateHeaderPanel(parent, "Onion Skinning Options"); var osb = new Spinner(null) { Min = 0, Max = 100, Value = Settings.OnionSkinningBack, }; osb.ValueChanged += (o, e) => { Settings.OnionSkinningBack = (int)osb.Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(onsk, "Onionskinning Back", osb); var osf = new Spinner(null) { Min = 0, Max = 100, Value = Settings.OnionSkinningFront, }; osf.ValueChanged += (o, e) => { Settings.OnionSkinningFront = (int)osf.Value; Settings.Save(); }; GwenHelper.CreateLabeledControl(onsk, "Onionskinning Front", osf); forcesnap.Tooltip = "Forces all lines drawn to\nsnap to a 45 degree angle"; movelinesnap.Tooltip = "Snap to lines when using the\nselect tool to move a single line"; }