public void Button_Click_AddVector(object sender, RoutedEventArgs e) { if (!double.TryParse(this._mainControl.InputVectorX.Text, out double x)) { throw new Exception("Invalid X Value"); } if (!double.TryParse(this._mainControl.InputVectorY.Text, out double y)) { throw new Exception("Invalid Y Value"); } if (double.IsNaN(x) || x == 0) { throw new Exception("Invalid X Value"); } if (double.IsNaN(y) || y == 0) { throw new Exception("Invalid Y Value"); } Brush b = this._mainControl.InputVectorColour.Background; CanvasVector canvasVector = ((CoordinateSystem)this._coordinateSystemControl).AddVector(x, y, b); this.Vectors.Add(new VectorListItem(this, canvasVector)); this._mainControl.InputVectorX.Text = ""; this._mainControl.InputVectorY.Text = ""; }
public static void LoadSelector(CanvasVector Canvas) { try { OpenFileDialog openFD = new OpenFileDialog(); openFD.Filter = "CSV (*.csv)|*.csv|JSON (*.json)|*.json|XML (*.xml)|*.xml|YML (*.yml)|*.yml"; DialogResult res = openFD.ShowDialog(); if (res == DialogResult.OK) { // TODO: Load file IFigureIO f = FigureIO_Selector.GetInstance(openFD.FileName.Remove(0, openFD.FileName.LastIndexOf('.') + 1)); f.PathToFile = openFD.FileName; Canvas.Controls.AddRange(f.Read().ToArray()); } openFD.Dispose(); figures = new Dictionary <int, Control>(); for (int i = 1; i < Canvas.Controls.Count; ++i) { figures.Add(i, Canvas.Controls[i]); Canvas.Controls[i].BringToFront(); } } catch { } }
public void CreateTabPage(StatusBarVector statusBar) { if (tabControl != null && cmd.aLoad.fileName != null) { tabControl.SelectedTab = tabControl.TabPages["NewPage"]; tabControl.TabPages.Add(cmd.aLoad.fileName, cmd.aLoad.fileName); tabControl.TabPages[cmd.aLoad.fileName].Padding = new Padding(3, 3, 3, 3); tabControl.TabPages[cmd.aLoad.fileName].Margin = new Padding(3, 3, 3, 3); CanvasVector canvasVector = new CanvasVector(); canvasVector.Name = "canvasVector"; canvasVector.Dock = DockStyle.Fill; canvasVector.BorderStyle = BorderStyle.FixedSingle; canvasVector.BackColor = Color.White; cmd.canvas = canvasVector; canvasVector.cmd = cmd; canvasVector.SetCanvasMouseMoveEventHandler(statusBar); CanvasVector control = tabControl.SelectedTab.Controls["canvasVector"] as CanvasVector; tabControl.TabPages[cmd.aLoad.fileName].Controls.Remove(tabControl.TabPages[cmd.aLoad.fileName].Controls["canvasVector"]); tabControl.TabPages[cmd.aLoad.fileName].Controls.Add(control); tabControl.SelectedTab.Controls.Add(canvasVector); tabControl.SelectedTab = tabControl.TabPages["NewPage"]; } }
public void CreateTabPage(StatusBarVector statusBar) { if (tabControlVector != null && cmd.aLoad.fileName != null) { tabControlVector.tabControl.SelectedItem = tabControlVector.GetTabItem("NewPage"); string tabName = cmd.aLoad.fileName.Remove(0, cmd.aLoad.fileName.LastIndexOf('\\') + 1); tabName = tabName.Remove(tabName.LastIndexOf('.')); TabItem newItem = new TabItem() { Name = tabName, Header = cmd.aLoad.fileName, ContextMenu = tabControlVector.GetTabItem("NewPage").ContextMenu, }; CanvasVector canvasVector = new CanvasVector() { Name = newItem.Name + "_Canvas", Focusable = true, Margin = new Thickness(3), BorderThickness = new Thickness(1), BorderBrush = Brushes.DarkGray }; canvasVector.SetCanvasMouseMoveEventHandler(statusBar); newItem.Content = canvasVector.canvas; tabControlVector.tabControl.Items.Add(newItem); TabControlVector.tabCanvases.Add(newItem.Header.ToString(), canvasVector); TabControlVector.index++; TabControlVector.nameLast = newItem.Header.ToString(); } }
public static void PenWidthSelector(CanvasVector Canvas, float value) { if (Canvas.StackControl != null) { Canvas.StackControl.PenWidth = value; Canvas.StackControl.DrawFigure(Canvas.StackControl.Type); } }
public XCommand(CanvasVector canvas) { this.canvas = canvas; aColor = new ActionColor(canvas); aWidth = new ActionWidth(canvas); aType = new ActionType(canvas); aSave = new ActionSave(canvas); aLoad = new ActionLoad(canvas); }
public CanvasVector AddVector(double x, double y, Brush b) { CanvasVector canvasVector = new CanvasVector(new Size(this._canvas.ActualWidth, this._canvas.ActualHeight), b, this._data, new Vector(x, y), new Vector(0, 0)); this.Vectors.Add(canvasVector); this.Update(); return(canvasVector); }
public static UIElement Render(CanvasVector ownerControl, Thickness rect, XData data, XCommand cmd) { SimpleFigures result = new SimpleFigures(rect, data); result.ContextMenuSetUp(cmd); ownerControl.canvas.Children.Add(result); figures.Add(result); return(result); }
public static void ColorSelector(CanvasVector Canvas) { ColorDialog dlg = new ColorDialog(); dlg.ShowDialog(); if (Canvas.StackControl != null) { Canvas.StackControl.Color = dlg.Color; Canvas.StackControl.DrawFigure(Canvas.StackControl.Type); } dlg.Dispose(); }
public void Canvas_MouseMove(object sender, MouseEventArgs e) { CanvasVector Canvas = sender as CanvasVector; StatusBarItem_X.Content = "X:" + e.GetPosition((IInputElement)e.Source).X.ToString(); StatusBarItem_Y.Content = "Y:" + e.GetPosition((IInputElement)e.Source).Y.ToString(); if (Canvas.StackControl != null) { StatusBarItem_Color.Content = Canvas.StackControl.data.LineColor.ToString(); StatusBarItem_PenWidth.Content = Canvas.StackControl.data.LineWidth.ToString(); StatusBarItem_ShapeType.Content = Canvas.StackControl.data.Type.ToString(); } }
public void Canvas_MouseMove(object sender, MouseEventArgs e) { CanvasVector Canvas = sender as CanvasVector; StatusBar_X.Text = "X:" + e.X.ToString(); StatusBar_Y.Text = "Y:" + e.Y.ToString(); if (Canvas.StackControl != null) { StatusBar_Color.Text = Canvas.StackControl.data.LineColor.ToString(); StatusBar_PenWidth.Text = Canvas.StackControl.data.LineWidth.ToString(); StatusBar_ShapeType.Text = Canvas.StackControl.data.Type.ToString(); } }
public static void SaveSelector(CanvasVector Canvas) { try { List <Control> controls = Canvas.GetImage().Values.ToList(); SaveFileDialog saveFD = new SaveFileDialog(); saveFD.Filter = "CSV (*.csv)|*.csv|JSON (*.json)|*.json|XML (*.xml)|*.xml|YML (*.yml)|*.yml"; DialogResult res = saveFD.ShowDialog(); if (res == DialogResult.OK) { // TODO: save file IFigureIO f = FigureIO_Selector.GetInstance(saveFD.FileName.Remove(0, saveFD.FileName.LastIndexOf('.') + 1)); f.PathToFile = saveFD.FileName; f.Write(controls); } saveFD.Dispose(); } catch { } }
public static void ShapeTypeSelector(CanvasVector Canvas, int selectedIndex) { ShapeType type = 0; switch (selectedIndex) { case 0: type = ShapeType.LINE; break; case 1: type = ShapeType.MULTILINE; break; case 2: type = ShapeType.ELLIPSE; break; case 3: type = ShapeType.RECTANGLE; break; case 4: type = ShapeType.CRECTANGLE; break; } xData.Type = type; if (Canvas != null) { if (Canvas.StackControl != null) { Canvas.StackControl.Type = type; Canvas.StackControl.DrawFigure(type); } } }
public ActionType(CanvasVector canvas) { this.canvas = canvas; }
public ActionColor(CanvasVector canvas) { this.canvas = canvas; }
public ActionWidth(CanvasVector canvas) { this.canvas = canvas; }
public ActionLoad(CanvasVector canvas) { this.canvas = canvas; }
public ActionSave(CanvasVector canvas) { this.canvas = canvas; }
public void DeleteVector(CanvasVector canvasVector) { this._canvas.Children.Remove(canvasVector); this.Vectors.Remove(canvasVector); }
public void DeleteVector(CanvasVector canvasVector) { this._coordinateSystemVM.DeleteVector(canvasVector); }
public void DeleteVector(CanvasVector canvasVector) { ((CoordinateSystem)this.CoordinateSystemControl).DeleteVector(canvasVector); }
public void DeleteVector(CanvasVector canvasVector) { this._vm.DeleteVector(canvasVector); }