public void NewProjectCreated(object sender, DanoEventArgs e) { // Version 1.5 'Priscilla' // Implement globalstate after this #if PRISCILLA MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; #endif // Create the basins // clean the UI (VERY TEMP; only use for beta - v605) MnWindow.Layers.ClearLayers(); Debug.Assert(e.DanoParameters.Count == 2); // get the basin name string BasinName = (string)e.DanoParameters[1]; Basin NewBasin = TProj.GetBasinWithName(BasinName); TProj.AddBasin((string)e.DanoParameters[1], true); // SHOULD work MnWindow.ImagePath = NewBasin.ImagePath; MnWindow.CurrentProject = TProj; UpdateLayout(); // Load basin // Temp MnWindow.EnableButtons(); Close(); }
public void Lyr_Deleted(object sender, DanoEventArgs e) { #if PRISCILLA Debug.Assert(e.DanoParameters.Count == 1); string LayerName = (string)e.DanoParameters[0]; if (MnWindow.CurrentProject != null) { if (LayerName == "Background") { // pending for when we move error handling to UL5 Error.Throw("Warning!", "You cannot delete the background layer!", ErrorSeverity.Warning, 227); return; } #if v21_LayerBinding Layers.LayerNames.Remove(LayerName); #else Layers.PriscillaUI_Layers_LayerListView.Items.Remove(LayerName); #endif MnWindow.CurrentProject.SelectedBasin.RemoveLayerWithName(LayerName); } #else LayerManager LH = GlobalState.GetLCH(); #endif }
public void Edit_Click(object sender, DanoEventArgs e) { Debug.Assert(e.DanoParameters.Count == 1); string StormToSelect = (string)e.DanoParameters[0]; Project.SelectedBasin.SelectStormWithName(StormToSelect); }
public void OKHit(object sender, DanoEventArgs DEA) { Debug.Assert(DEA.DanoParameters.Count == 4); #if DANO Basin CBasin = GlobalState.GetCurrentBasin(); // only valid when project valid Storm Sto = CBasin.GetCurrentStorm(); #else MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; Storm Sto = MnWindow.CurrentProject.SelectedBasin.GetCurrentStorm(); try { int Intensity = (int)DEA.DanoParameters[0]; string Type = (string)DEA.DanoParameters[1]; Point Position = (Point)DEA.DanoParameters[2]; int Pressure = (int)DEA.DanoParameters[3]; Sto.AddNode(Intensity, Type, Position, Pressure, MnWindow.ST2Manager); Close(); } catch (InvalidCastException err) { #if DEBUG Error.Throw("Warning!", $"Internal error: Cannot convert DanoParameters to their actual types.\n\n{err}", ErrorSeverity.Warning, 403); #else Error.Throw("Warning!", "Internal error: Cannot convert DanoParameters to their actual types.\n\n{err}", ErrorSeverity.Warning, 403); #endif #endif } }
public void OKHit(object sender, DanoEventArgs DEA) { Debug.Assert(DEA.DanoParameters.Count == 1); string NewLayerName = (string)DEA.DanoParameters[0]; if (NewLayerName == "") { Error.Throw("Error!", "Please enter a new layer name!", ErrorSeverity.Error, 247); return; } #if PRISCILLA // Priscilla (2.0) / Iris (2.1) MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; Basin CurBasin = MnWindow.CurrentProject.SelectedBasin; if (!CurBasin.RenameLayerWithName(PrevName, NewLayerName)) { Error.Throw("Fatal Error!", "Attempted to rename nonexistent layer!", ErrorSeverity.Error, 248); return; } Close(); #else // Glue API layer manager.... (Dano / 3.0) #endif }
private void OKHit(object sender, DanoEventArgs e) { try { Debug.Assert(e.DanoParameters.Count == 3); bool BringToFront = (bool)e.DanoParameters[0]; bool BringToBack = (bool)e.DanoParameters[1]; string LayerName = (string)e.DanoParameters[2]; if (BringToFront && BringToBack) { Error.Throw("You cannot select both Bring to Front and Bring to Back options!", "Warning", ErrorSeverity.Warning, 174); } else { #if PRISCILLA MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; MnWindow.CurrentProject.SelectedBasin.AddLayer(LayerName); Close(); #else // Dano - globalstate #endif } } catch (FormatException err) { #if DEBUG Error.Throw("Fatal!!", $"An error occurred parsing the DanoParameters for the CreateLayerHost!\n\n{err}", ErrorSeverity.FatalError, 175); #else Error.Throw("Fatal!!", $"An error occurred parsing the DanoParameters for the CreateLayerHost!\n\nThis is likely a bug in the Track Maker.", ErrorSeverity.FatalError, 175); #endif } }
private void Lyr_Selected(object sender, DanoEventArgs e) { // not the best way to handle this at all // MnWindow.StopTimer(); Debug.Assert(e.DanoParameters.Count == 1); // silently ail List <string> SelectedList_Added = (List <string>)e.DanoParameters[0]; // SelectionMode is explicitly set to Single on the layercontrol, // so this should be impossible if (SelectedList_Added.Count < 1) { // selection did not really change return; } Basin SBasin = MnWindow.CurrentProject.SelectedBasin; string LayerSelected = SelectedList_Added[0]; SBasin.SelectLayerWithName(LayerSelected); //MnWindow.StartTimer(); }
private void ZoomLevelChanged(object sender, DanoEventArgs e) { double ZoomLevel = (double)e.DanoParameters[0]; ZoomLevelX = ZoomLevel / 100; // dumb hack ZoomLevelY = ZoomLevel / 100; // hack for 2.0 only if (CurRelativePos.X == 0 || CurRelativePos.Y == 0) { CurRelativePos = new Point(0.01, 0.01); } if (ZoomLevelX < 1) { ZoomLevelX = 1; } if (ZoomLevelY < 1) { ZoomLevelY = 1; } if (ZoomLevelX > 5) { ZoomLevelX = 5; } if (ZoomLevelY > 5) { ZoomLevelY = 5; } }
public void Rename_Click(object sender, DanoEventArgs e) { string StoName = (string)e.DanoParameters[0]; EditUIHost EUIH = new EditUIHost(Project, StoName); EUIH.Owner = this; EUIH.Show(); }
public void Delete_Click(object sender, DanoEventArgs e) { // pre-globalstate Debug.Assert(e.DanoParameters.Count == 1); string DelStorm = (string)e.DanoParameters[0]; Project.SelectedBasin.RemoveStormWithName(DelStorm); }
private void OnAdvancedSettingsToggleChanged(object sender, DanoEventArgs DEA) { Debug.Assert(DEA.DanoParameters.Count == 1); bool AdvancedApplicationSettingsToggleState = (bool)DEA.DanoParameters[0]; ToggleAdvancedApplicationSettings(AdvancedApplicationSettingsToggleState); }
public void Lyr_Created(object sender, DanoEventArgs e) { //MnWindow.StopTimer(); // no DEA CreateLayerHost CLH = new CreateLayerHost(); CLH.Owner = Application.Current.MainWindow; CLH.Show(); //MnWindow.StartTimer(); }
public void DisplayButtonHit(object Sender, DanoEventArgs DEA) { Debug.Assert(DEA.DanoParameters.Count == 1); StormGraph SG = (StormGraph)DEA.DanoParameters[0]; // if (!SG.Show()) GraphDisplayHost GDH = new GraphDisplayHost(SG); GDH.Owner = this; GDH.Show(); }
// don't throw an exception as ew could crash private void Lyr_Disabled(object sender, DanoEventArgs e) { //MnWindow.StopTimer(); Debug.Assert(e.DanoParameters.Count == 1); string LayerName = (string)e.DanoParameters[0]; Basin SBasin = MnWindow.CurrentProject.SelectedBasin; SBasin.DisableLayerWithName(LayerName); //MnWindow.StartTimer(); return; }
private void Lyr_Renamed(object sender, DanoEventArgs e) { Debug.Assert(e.DanoParameters.Count == 2); string LayerToRename = (string)e.DanoParameters[0]; // showdialog to prevent closing of mainwindow while still open RenameLayerHost RLH = new RenameLayerHost(LayerToRename); RLH.Owner = Application.Current.MainWindow; RLH.ShowDialog(); Layers.RenameLayer(LayerToRename, GetNewName((int)e.DanoParameters[1])); }
private void Lyr_Reordered(object sender, DanoEventArgs e) { #if PRISCILLA #else // Dano: Use the Glue API #endif //MnWindow.StopTimer(); Debug.Assert(e.DanoParameters.Count == 2); string LayerName = (string)e.DanoParameters[0]; int Amount = (int)e.DanoParameters[1]; Basin SBasin = MnWindow.CurrentProject.SelectedBasin; Layer Lyr = SBasin.GetLayerWithName(LayerName); Lyr.ZIndex += Amount; // Prevent a "collection changed, can't enumerate" invalidoperationexception //MnWindow.StartTimer(); }
// Event Handler for Dano UI BasinSwitcher UserControl Closed event public void UC_Closed(object sender, DanoEventArgs e) { string NewBasinName = (string)e.DanoParameters[0]; Project Proj = MnWindow.CurrentProject; // v650b: i just copied this to amke this work so lol // Create the basins // clean the UI (VERY TEMP; only use for beta - v605) MnWindow.Layers.ClearLayers(); Basin NewBasin = Proj.GetBasinWithName(NewBasinName); Proj.AddBasin(NewBasinName, true); // set the UI-side image path. MnWindow.ImagePath = NewBasin.ImagePath; MnWindow.CurrentProject = Proj; UpdateLayout(); Close(); }
private void CloseHit(object sender, DanoEventArgs e) { try { Debug.Assert(e.DanoParameters.Count == 2); bool HasChanged = Convert.ToBoolean(e.DanoParameters[0]); string NewCategoryName = e.DanoParameters[1].ToString(); // Temp (move to basin submethod) MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; GlobalState.CategoryManager.SetCategoryWithName(NewCategoryName); Close(); } catch (FormatException err) { #if DEBUG Error.Throw($"An internal error occurred while converting DanoEventArg parameters (DanoCategoryManagerHost.xaml.cs)\n\n{err}", "IE100", ErrorSeverity.FatalError, 100); #else Error.Throw("An internal error occurred while converting DanoEventArg parameters.", "IE100", ErrorSeverity.FatalError, 100); #endif } }
/// <summary> /// Frontend code for adding a storm... /// </summary> /// <param name="sender"></param> /// <param name="DEA"></param> private void OKHit(object sender, DanoEventArgs DEA) { Debug.Assert(DEA.DanoParameters.Count == 2); #if DANO Project Proj = GlobalState.GetCurrentProject(); Basin Bas = Proj.SelectedBasin; #else MainWindow MnWindow = (MainWindow)Application.Current.MainWindow; string StormName = (string)DEA.DanoParameters[0]; DateTime StormStartTime = (DateTime)DEA.DanoParameters[1]; Basin Bas = MnWindow.CurrentProject.SelectedBasin; List <Storm> FlatList = Bas.GetFlatListOfStorms(); if (FlatList.Count == 0) { Bas.SeasonStartTime = StormStartTime; } #endif Bas.AddStorm(StormName, StormStartTime); Close(); }
public void OK_Click(object sender, DanoEventArgs e) { Close(); }
public void Done_Hit(object sender, DanoEventArgs DEA) { Proj.SelectedBasin.RenameStormWithName(StoName, EditUI.EditStorm_EditNameBox.Text); Close(); }