//context menü bei rechtsklick erstellen und öffnen //kontext menü public virtual void ZeigeKontextMenu(TZeichnung zeichnung, Canvas canvas) { ContextMenu menu; MenuItem m; menu = new ContextMenu(); m = new MenuItem(); m.Header = "Löschen"; m.Click += delegate { loescheFigur(zeichnung); }; menu.Items.Add(m); m = new MenuItem(); m.Header = "Eigenschaften"; m.Click += delegate { zeigeEigenschaftenDialog(); }; menu.Items.Add(m); MenuItem r = new MenuItem(); r.Header = "Punkte ändern"; m = new MenuItem(); m.Header = "1. Punkt ändern"; m.Click += delegate { firstpoint(zeichnung, canvas); }; r.Items.Add(m); m = new MenuItem(); m.Header = "2. Punkt ändern"; m.Click += delegate { secondpoint(zeichnung, canvas); }; r.Items.Add(m); menu.Items.Add(r); menu.IsOpen = true; }
//Modus setzen, neue Zeichnung anlegen private void Window_Loaded(object sender, RoutedEventArgs e) { status = TStatus.Bearbeiten; modus = TModus.Bearbeiten; TmpFigur = null; zeichnung = new TZeichnung(); Bearbeiten.IsChecked = true; }
//Kontext menü löschen mit bestätigung protected void loescheFigur(TZeichnung zeichnung) { Modus = TZeichenModus.Highlight; if (MessageBox.Show("Soll diese Figur wirklich gelöscht werden?", "Figur Löschen", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { zeichnung.EntferneFigur(this); } else { Modus = TZeichenModus.Normal; } }
protected override void secondpoint(TZeichnung zeichnung, Canvas canvas) { base.secondpoint(zeichnung, canvas); TEllipse l = this; TEllipse rechteck = new TEllipse(canvas, base.FPos1); TEigenschaften neweig = getnewEig(l, base.FPos1); MainWindow.TmpFigur = rechteck; MainWindow.modus = MainWindow.TModus.Ellipse; MainWindow.status = MainWindow.TStatus.Linie2; ((TEllipse)MainWindow.TmpFigur).setEigenschaften(neweig); }
protected override void firstpoint(TZeichnung zeichnung, Canvas canvas) { base.firstpoint(zeichnung, canvas); TRechteck l = this; TRechteck rechteck = new TRechteck(canvas, base.FPos2); TEigenschaften neweig = getnewEig(l, base.FPos2); MainWindow.tauschePunkte = true; MainWindow.TmpFigur = rechteck; MainWindow.modus = MainWindow.TModus.Rechteck; MainWindow.status = MainWindow.TStatus.Linie2; ((TRechteck)MainWindow.TmpFigur).setEigenschaften(neweig); }
private void thirdpoint(TZeichnung zeichnung, Canvas canvas) { base.secondpoint(zeichnung, canvas); TDreieck l = this; TDreieck rechteck = new TDreieck(canvas, base.FPos1); rechteck.SetPos2(l.FPos2); TEigenschaften neweig = getnewEig(l, base.FPos1, l.FPos2); MainWindow.TmpFigur = rechteck; MainWindow.modus = MainWindow.TModus.Dreieck; MainWindow.status = MainWindow.TStatus.Dreieck3; ((TDreieck)MainWindow.TmpFigur).setEigenschaften(neweig); }
protected override void secondpoint(TZeichnung zeichnung, Canvas canvas) { base.secondpoint(zeichnung, canvas); TDreieck l = this; TDreieck rechteck = new TDreieck(canvas, base.FPos1); rechteck.SetPos2(l.FPos3); TEigenschaften neweig = getnewEig(l, base.FPos1, l.FPos3); MainWindow.tauschePunkte = true; MainWindow.tauscheDreieckID = 2; MainWindow.TmpFigur = rechteck; MainWindow.modus = MainWindow.TModus.Dreieck; MainWindow.status = MainWindow.TStatus.Dreieck3; ((TDreieck)MainWindow.TmpFigur).setEigenschaften(neweig); }
protected virtual void secondpoint(TZeichnung zeichnung, Canvas canvas) { zeichnung.EntferneFigur(this); }