Esempio n. 1
0
 public void MouseClick(CanvasController sender, MouseEventArgs e)
 {
     VisibleElement el = selected.newInstance(e.Location);
     Circuit.all.Add(el);
     Circuit.gates.Add(el);
     UpdateCanvas(sender);
 }
Esempio n. 2
0
 public MainWindow()
 {
     InitializeComponent();
     m_canvas = new CanvasController(panelCanvas.CreateGraphics());
     ElementContextProvider.Instance.Menu = this.contextElement;
 }
Esempio n. 3
0
 public void UpdateCanvas(CanvasController arg)
 {
     Graphics buf_gr = Graphics.FromImage(m_buffer);
     buf_gr.Clear(Color.White);
     foreach (IDrawable dr in Circuit.all)
         dr.Draw(buf_gr);
     arg.Graphics.DrawImage(m_buffer, new Point(0, 0));
 }
Esempio n. 4
0
 public void MouseUp(CanvasController sender, MouseEventArgs e)
 {
 }
Esempio n. 5
0
 public void MouseUp(CanvasController sender, MouseEventArgs e)
 {
     m_prev_loc = default(Point);
     m_mouse_down = false;
 }
Esempio n. 6
0
 public void MouseMove(CanvasController sender, MouseEventArgs e)
 {
     if (m_mouse_down)
     {
         if (m_prev_loc != default(Point))
         {
             Point offset = Point.Subtract(e.Location, new Size(m_prev_loc));
             foreach (VisibleElement el in Circuit.gates)
                 if (el.Selected)
                     el.Move(offset);
             UpdateCanvas(sender);
         }
         m_prev_loc = e.Location;
     }
 }
Esempio n. 7
0
 public void MouseDown(CanvasController sender, MouseEventArgs e)
 {
     m_mouse_down = true;
 }
Esempio n. 8
0
 public void MouseClick(CanvasController sender, MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         foreach (VisibleElement el in Circuit.gates)
         {
             if (el.IsMy(e.Location))
             {
                 el.Selected = true;
             }
             else
                 el.Selected = false;
         }
         UpdateCanvas(sender);
     }
     else if (e.Button == MouseButtons.Right)
     {
         foreach (VisibleElement el in Circuit.gates)
         {
             if (el.Selected)
             {
                 ContextMenuStrip context = ElementContextProvider.Instance.Menu;
                 ElementContextProvider.Instance.Selected = el;
                 Point offset = ElementContextProvider.Instance.offset;
                 context.Show(offset.X + e.X, offset.Y + e.Y);
                 break;
             }
         }
     }
 }
Esempio n. 9
0
 public void MouseClick(CanvasController sender, MouseEventArgs e)
 {
     if (m_firstPort == null)
     {
         foreach (VisibleElement el in Circuit.gates)
         {
             m_firstPort = el.IsOutPort(e.Location);
             if (m_firstPort != null)
                 break;
         }
     }
     else
     {
         VisibleInPort second = null;
         foreach (VisibleElement el in Circuit.gates)
         {
             second = el.IsInPort(e.Location);
             if (second != null)
             {
                 Wire w = new Wire(m_firstPort.position, second.position,
                     m_firstPort.port, second.port);
                 Circuit.wires.Add(w);
                 Circuit.all.Add(w);
                 m_firstPort.port.AddSubscriber(second.port);
                 break;
             }
         }
         m_firstPort = null;
         UpdateCanvas(sender);
     }
 }