public static void SetInt(Dictionary <string, object> itemValues, string key, NumericUpDown field, string id, bool mandatory) { if (itemValues.ContainsKey(key)) { try { int val = (int)itemValues[key]; if (val > field.Maximum) { IssueTracker.PostIssue("Value '" + val + "' for key '" + key + "' exceeds the maximum allowed.", IssueTracker.IssueLevel.WARNING); val = (int)field.Maximum; } else if (val < field.Minimum) { IssueTracker.PostIssue("Value '" + val + "' for key '" + key + "' is below the minimum allowed.", IssueTracker.IssueLevel.WARNING); val = (int)field.Minimum; } field.Value = val; } catch (InvalidCastException) { MessageBox.Show("Expected 'int' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'", "Data Error", MessageBoxButtons.OK); } } else if (mandatory) { IssueTracker.PostIssue( "Item '" + id + "': missing mandatory value for '" + key + "'.", IssueTracker.IssueLevel.ERROR); } }
public static void SetCheck(string id, string item, CheckedListBox field) { if (field.Items.Contains(item)) { field.SetItemChecked(field.Items.IndexOf(item), true); } else { IssueTracker.PostIssue( "Item '" + id + "': tag \"" + item + "\" doesn't exist. Will create...", IssueTracker.IssueLevel.WARNING); //Create tag/mat //TODO: } }
public static void SetList(Dictionary <string, object> itemValues, string key, ListBox box, BindingList <GroupedData> field, string id, bool mandatory) { if (itemValues.ContainsKey(key)) { if (itemValues[key] is object[]) { object[] objarr = (object[])itemValues[key]; if (objarr.Length > 0) { object subobject = objarr[0]; if (((JsonFormTag)box.Tag).listBoxData.defaultValue.GetType().IsAssignableFrom(subobject.GetType())) { foreach (object obj in objarr) { field.Add(new GroupedData(obj)); } } else { field.Add(new GroupedData(itemValues[key])); } } } else { field.Add(new GroupedData(itemValues[key])); } if (box.Items.Count > 0) { box.SelectedIndex = 0; //TODO: THIS MIGHT NOT CALLBACK } } else if (mandatory) { IssueTracker.PostIssue( "Item '" + id + "': missing mandatory value for '" + key + "'.", IssueTracker.IssueLevel.ERROR); } }
public static void SetCheckBox(Dictionary <string, object> itemValues, string key, CheckBox field, string id, bool mandatory, bool material = false) { if (itemValues.ContainsKey(key)) { try { field.Checked = (bool)itemValues[key]; } catch (InvalidCastException) { MessageBox.Show("Expected 'bool' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'", "Data Error", MessageBoxButtons.OK); } } else if (mandatory) { IssueTracker.PostIssue( "Item '" + id + "': missing mandatory value for '" + key + "'.", IssueTracker.IssueLevel.ERROR); } }
public static void SetCheck(string id, string item, CheckedListBox field) { if (!field.Items.Contains(item)) { if (((JsonFormTag)field.Tag).dataSource > JsonFormTag.DataSourceType.PRESET_COUNT) { IssueTracker.PostIssue( "Item '" + id + "': tag \"" + item + "\" doesn't exist and cannot add.", IssueTracker.IssueLevel.ERROR); return; } IssueTracker.PostIssue( "Item '" + id + "': tag \"" + item + "\" doesn't exist. Will add...", IssueTracker.IssueLevel.WARNING); //Create tag/mat Storage.UpdateDataSource(((JsonFormTag)field.Tag).dataSource, item); } field.SetItemChecked(field.Items.IndexOf(item), true); }
public static void SetChecks(Dictionary <string, object> itemValues, string key, CheckedListBox field, string id, bool mandatory, bool material = false) { if (itemValues.ContainsKey(key)) { if (itemValues[key] is object[]) { object[] tags = (object[])itemValues[key]; if (material && tags.Length > 2) { IssueTracker.PostIssue( "Item '" + id + "': 'material' has too many items (expected 2).", IssueTracker.IssueLevel.WARNING); } foreach (string str in tags) { SetCheck(id, str, field); } } else { try { SetCheck(id, (string)itemValues[key], field); } catch (InvalidCastException) { MessageBox.Show("Expected 'array' or 'string' for key '" + key + "' but got '" + itemValues[key].GetType().ToString() + "'", "Data Error", MessageBoxButtons.OK); } } } else if (mandatory) { IssueTracker.PostIssue( "Item '" + id + "': missing mandatory value for '" + key + "'.", IssueTracker.IssueLevel.ERROR); } }