protected override void Save() { if (NameEntry.Text.Length == 0) { ShowErrorSave(Plant.Name, "The name must not be empty"); return; } ModifyOrCreate(Plant); try { PlantFamily family = GardenData.LoadedData.GetFamily(Plant.FamilyID); string id = GardenData.GenID(Plant.Name); if (Create) { family.AddPlant(id, Plant); } ShowSuccessSave(Plant.Name); } catch (GardenDataException) { ShowErrorSave(Plant.Name, "Corrupted Data"); } MainWindow.GetInstance().ReloadFamilies(); }
/// <summary> /// Shows the window for new plants not yet added to a family /// </summary> /// <param name="family">the family the plant belongs to</param> public static void ShowWindow(PlantFamily family) { Plant plant = new Plant("", ""); plant.FamilyID = family.ID; EditPlantWindow win = new EditPlantWindow(plant, true); win.ShowAll(); }
private InfoPlantFamilyWindow(PlantFamily family, bool create, bool isEdited) : base("Info about " + family.Name, isEdited) { Family = family; Create = create; AddEntry(family.Name, infoView.tag_headline); AddEntry("(" + family.ScientificName + ")", infoView.tag_weak); AddEntry("Beschreibung: ", false); AddEntry(family.Description, infoView.tag_italic); ApplyTags(); }
private InfoPlantWindow(Plant plant, bool create, bool isEdited) : base("Info about " + plant.Name, isEdited) { Plant = plant; Create = create; AddEntry(plant.Name, infoView.tag_headline); PlantFamily family = GardenData.LoadedData.GetFamily(plant.FamilyID); AddEntry("Gehört zu " + family.Name, false); AddEntry("(" + plant.ScientificName + ")", infoView.tag_weak); AddEntry("Beschreibung: ", false); AddEntry(plant.Description, infoView.tag_italic); string feeder = ""; switch (plant.FeederType) { case FeederType.Heavy: feeder = "Starkzehrer"; break; case FeederType.Medium: feeder = "Mittelzehrer"; break; case FeederType.Light: feeder = "Schwachzeher"; break; } AddEntry("Nährstoffbedarf: " + feeder); AddEntry("Aussaat draußen: " + plant.PlantOutsideDateRange); ApplyTags(); ImageButton = new Button("Add Image"); ActionButtonBox.Add(ImageButton); ImageButton.Clicked += ImageButton_Clicked; }
public static void ShowWindow(PlantFamily family, bool isEdited = false, bool create = false) { InfoPlantFamilyWindow win = new InfoPlantFamilyWindow(family, create, isEdited); win.ShowAll(); }
public static GardenData TestData() { GardenData Data = new GardenData("testdata"); var zwiebelgewaechse = new PlantFamily("Zwiebelgewaechse", ""); Data.AddFamily("zwiebelgewaechse", zwiebelgewaechse); var knoblauch = new Plant("Knoblauch", ""); knoblauch.FeederType = FeederType.Medium; knoblauch.ScientificName = "allium sativum"; zwiebelgewaechse.AddPlant("knoblauch", knoblauch); var morado = new PlantVariety("Morado", "rotviolett, aus Spanien, geeignet für Herbstpflanzung, bildet Brutzwiebeln"); morado.SetColor(new Cairo.Color(0.9, 0.9, 0.9)); knoblauch.AddVariety("morado", morado); var vallelado = new PlantVariety("Vallelado", "bla"); vallelado.SetColor(new Cairo.Color(0.9, 0.9, 0.9)); knoblauch.AddVariety("vallelado", vallelado); var nachtschattengew = new PlantFamily("Nachtschattengewächse", ""); Data.AddFamily("nachtschattengewaechse", nachtschattengew); var kartoffeln = new Plant("Kartoffel", ""); kartoffeln.SetColor(new Cairo.Color(0.2, 0.8, 0.8)); nachtschattengew.AddPlant("kartoffel", kartoffeln); var bed1 = new Garden.Garden("Omas Garten", "Alte Garten von Oma", 2000, 1, 2000, 1); var bed2 = new Garden.Garden("Hauptstraßengarten", "Alte Garten von Oma", 2000, 1, 2000, 1); Data.AddGarden("oma_garten", bed1); Data.AddGarden("hptstr_garten", bed2); bed1.Shape.AddPoint(new GardenPoint(0, 0)); bed1.Shape.AddPoint(new GardenPoint(0, 200)); bed1.Shape.AddPoint(new GardenPoint(300, 200)); bed1.Shape.AddPoint(new GardenPoint(300, 0)); bed1.Shape.FinishPoints(); var compostArea = new GardenArea("Kompost", "hier wurde Kompost angewendet", 2000, 1, 2010, 6); compostArea.Shape.AddPoint(new GardenPoint(100, 100)); compostArea.Shape.AddPoint(new GardenPoint(300, 100)); compostArea.Shape.AddPoint(new GardenPoint(300, 200)); compostArea.Shape.AddPoint(new GardenPoint(100, 200)); compostArea.Shape.FinishPoints(); bed1.AddMethodArea("compost", compostArea); var plantingArea = new Planting("Planting", "hier wurde was gepflanzt", 2000, 1, 2010, 6); plantingArea.Shape.AddPoint(new GardenPoint(400, 400)); plantingArea.Shape.AddPoint(new GardenPoint(500, 400)); plantingArea.Shape.AddPoint(new GardenPoint(500, 500)); plantingArea.Shape.AddPoint(new GardenPoint(400, 500)); plantingArea.Shape.FinishPoints(); bed1.AddPlanting("planting", plantingArea); plantingArea.AddVariety(morado, new PlantingInfo() { Count = 3 }); plantingArea.AddVariety(vallelado, new PlantingInfo() { Count = 2 }); //string s = Newtonsoft.Json.JsonConvert.SerializeObject(Data, Newtonsoft.Json.Formatting.Indented); return(Data); }
public NewPlantEntry(PlantFamily family) : base($"<new {family.Name} plant>", "") { this.Family = family; }