From 090cf8db449ddcc64c35696cf7ca5bdcf121030c Mon Sep 17 00:00:00 2001 From: octocat Date: Thu, 27 Jan 2011 14:03:48 -0800 Subject: [PATCH 01/24] First commit --- README | 1 + forkit.gif | Bin 0 -> 84537 bytes index.html | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 README create mode 100644 forkit.gif create mode 100644 index.html diff --git a/README b/README new file mode 100644 index 0000000..e6dc5d2 --- /dev/null +++ b/README @@ -0,0 +1 @@ +Follow the tutorial to learn how to fork this project. \ No newline at end of file diff --git a/forkit.gif b/forkit.gif new file mode 100644 index 0000000000000000000000000000000000000000..a6a48b38fc57a30482bb6460bae360fed0882bc3 GIT binary patch literal 84537 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%0DI! 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 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..8fe961d --- /dev/null +++ b/index.html @@ -0,0 +1,40 @@ + + + + + + + untitled + + + + + + + +

+ Fork me? No, fork you! +

+ + + From 9bb69df77e6a36973baef4aadd4ca7c411761335 Mon Sep 17 00:00:00 2001 From: The Octocat Date: Thu, 24 Feb 2011 14:15:50 -0800 Subject: [PATCH 02/24] Updated the name and readme --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index e6dc5d2..d7834ba 100644 --- a/README +++ b/README @@ -1 +1 @@ -Follow the tutorial to learn how to fork this project. \ No newline at end of file +All that's missing is the fork. \ No newline at end of file From 7b08a45c5f64c7b0174e5c927b7476a349ffd118 Mon Sep 17 00:00:00 2001 From: The Octocat Date: Fri, 25 Feb 2011 13:32:27 -0800 Subject: [PATCH 03/24] + Heh. --- README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README b/README index d7834ba..c8f68c2 100644 --- a/README +++ b/README @@ -1 +1 @@ -All that's missing is the fork. \ No newline at end of file +All that's missing is the fork. Heh. \ No newline at end of file From ed12290ba92e1b0a932f5250e06699a0abf47e84 Mon Sep 17 00:00:00 2001 From: Dave Hulbert Date: Wed, 2 Mar 2011 09:26:18 +0000 Subject: [PATCH 04/24] Fix invalid HTML --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 8fe961d..f1426fd 100644 --- a/index.html +++ b/index.html @@ -30,7 +30,7 @@ - +

Fork me? No, fork you! From f756e5214eb7c313566f43e349a8f8f66ff2d044 Mon Sep 17 00:00:00 2001 From: The Octocat Date: Wed, 2 Mar 2011 09:40:11 -0800 Subject: [PATCH 05/24] doctype html --- index.html | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/index.html b/index.html index f1426fd..af4f8e8 100644 --- a/index.html +++ b/index.html @@ -1,31 +1,30 @@ - + - + - + - untitled - + untitled + @@ -33,7 +32,7 @@

- Fork me? No, fork you! + Fork me? No, fork you!

From fd0a1b26db73410692acdd21e36a3ea58e6fe4b5 Mon Sep 17 00:00:00 2001 From: Alex Xu Date: Sat, 26 Mar 2011 22:36:51 -0400 Subject: [PATCH 06/24] lowercase doctype html, uppercase untitled, no width/height on img, space after css --- index.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index af4f8e8..fc8f5f1 100644 --- a/index.html +++ b/index.html @@ -1,10 +1,10 @@ - + - untitled + Untitled + + @@ -34,6 +55,9 @@

Fork me? No, fork you!

- + From 1c27c20c4ba354d89454305c7856d4931c601717 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Wed, 16 Oct 2013 19:44:59 -0600 Subject: [PATCH 08/24] Created a class that stores the constants used further. --- .../itcr/logictec/constants/Constants.java | 20 ++ .../graphicaluserinterace/simulator.java | 256 ++++++++++++++++++ src/edu/itcr/logictec/imagedrawer/Line.java | 24 ++ 3 files changed, 300 insertions(+) create mode 100644 src/edu/itcr/logictec/constants/Constants.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterace/simulator.java create mode 100644 src/edu/itcr/logictec/imagedrawer/Line.java diff --git a/src/edu/itcr/logictec/constants/Constants.java b/src/edu/itcr/logictec/constants/Constants.java new file mode 100644 index 0000000..a3c14d9 --- /dev/null +++ b/src/edu/itcr/logictec/constants/Constants.java @@ -0,0 +1,20 @@ +package edu.itcr.logictec.constants; + +/** + * Clase que nos sirve para guardar constantes, de esta manera nos ahorramos + * estar escribiendo literales dentro del codigo. De esta manera, el codigo se + * mejor y será más fácil simplemente llamar las distintas constantes. + * @author zyoruk + * + */ +public class Constants { + public static final String menuGIF = + "/javax/swing/plaf/metal/icons/ocean/menu.gif"; + public static final String directoryGIF = + "/javax/swing/plaf/metal/icons/ocean/directory.gif"; + public static final String floppyGIF = + "/javax/swing/plaf/metal/icons/ocean/floppy.gif"; + public static final String infoGIF = + "/javax/swing/plaf/metal/icons/ocean/info.png"; + +} diff --git a/src/edu/itcr/logictec/graphicaluserinterace/simulator.java b/src/edu/itcr/logictec/graphicaluserinterace/simulator.java new file mode 100644 index 0000000..291c2bd --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterace/simulator.java @@ -0,0 +1,256 @@ +package edu.itcr.logictec.graphicaluserinterace; + +import imagedrawer.Line; +import constants.Constants; + +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JButton; +import javax.swing.JSplitPane; +import javax.swing.JTree; +import javax.swing.JScrollPane; +import java.awt.Component; +import javax.swing.Box; +import java.awt.Dimension; +import javax.swing.JMenuBar; +import javax.swing.JMenu; +import javax.swing.ImageIcon; +import javax.swing.SwingConstants; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Panel; +import javax.swing.JMenuItem; +import javax.swing.JInternalFrame; + +import java.awt.Graphics; +import java.awt.GridBagLayout; +import java.awt.GridBagConstraints; +import java.awt.Insets; +import javax.swing.JLabel; +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Window.Type; + + + + +public class simulator extends JFrame { + + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + simulator frame = new simulator(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public simulator() { + setTitle("LogiTEC"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 800, 600); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnAccesorios = new JMenu("Accesorios"); + mnAccesorios.setIcon(new ImageIcon(simulator.class.getResource( + Constants.menuGIF))); + menuBar.add(mnAccesorios); + + JButton btnAbrir = new JButton("Abrir"); + btnAbrir.setIcon(new ImageIcon(simulator.class.getResource( + Constants.directoryGIF))); + btnAbrir.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + System.out.print("Esto tiene que abrir desde un XML"); + } + }); + mnAccesorios.add(btnAbrir); + + JButton btnGuardar = new JButton("Guardar"); + btnGuardar.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Esto tiene que guardar en un XML"); + } + }); + btnGuardar.setIcon(new ImageIcon(simulator.class.getResource( + Constants.floppyGIF))); + mnAccesorios.add(btnGuardar); + + JButton btnCrearTablaDe = new JButton("Crear Tabla de Verdad"); + btnCrearTablaDe.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Tiene que mostrar una ventana con la tabla de" + + " verdad de la compuerta"); + } + }); + mnAccesorios.add(btnCrearTablaDe); + + JMenu mnAyuda = new JMenu("Ayuda"); + mnAyuda.setIcon(new ImageIcon(simulator.class.getResource( + Constants.infoGIF))); + menuBar.add(mnAyuda); + + + JButton btnDocumentacion = new JButton("Documentacion"); + btnDocumentacion.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Abre la documentacion"); + } + }); + mnAyuda.add(btnDocumentacion); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + + + Panel panel = new Panel(); + contentPane.add(panel, BorderLayout.WEST); + GridBagLayout gbl_panel = new GridBagLayout(); + gbl_panel.columnWidths = new int[]{129, 0}; + gbl_panel.rowHeights = new int[]{19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + gbl_panel.columnWeights = new double[]{0.0, Double.MIN_VALUE}; + gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, Double.MIN_VALUE}; + panel.setLayout(gbl_panel); + + JLabel lblCompuertasLogicas = new JLabel("Compuertas logicas"); + GridBagConstraints gbc_lblCompuertasLogicas = new GridBagConstraints(); + gbc_lblCompuertasLogicas.fill = GridBagConstraints.BOTH; + gbc_lblCompuertasLogicas.insets = new Insets(0, 0, 5, 0); + gbc_lblCompuertasLogicas.gridx = 0; + gbc_lblCompuertasLogicas.gridy = 0; + panel.add(lblCompuertasLogicas, gbc_lblCompuertasLogicas); + + final Canvas canvas = new Canvas(); + canvas.setBackground(Color.WHITE); + canvas.setForeground(Color.WHITE); + contentPane.add(canvas, BorderLayout.CENTER); + + + JButton btnNewButton_8 = new JButton("AND"); + btnNewButton_8.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Line linea = new Line(0,0,10,10,canvas.getGraphics()); + repaint(); + } + }); + btnNewButton_8.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_8 = new GridBagConstraints(); + gbc_btnNewButton_8.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_8.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_8.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_8.gridx = 0; + gbc_btnNewButton_8.gridy = 1; + panel.add(btnNewButton_8, gbc_btnNewButton_8); + + JButton btnNewButton_9 = new JButton("NAND"); + btnNewButton_9.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + System.out.print("NAND"); + } + }); + btnNewButton_9.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_9 = new GridBagConstraints(); + gbc_btnNewButton_9.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_9.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_9.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_9.gridx = 0; + gbc_btnNewButton_9.gridy = 2; + panel.add(btnNewButton_9, gbc_btnNewButton_9); + + JButton btnNewButton = new JButton("NOR"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("NOR"); + } + }); + btnNewButton.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton = new GridBagConstraints(); + gbc_btnNewButton.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton.anchor = GridBagConstraints.WEST; + gbc_btnNewButton.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton.gridx = 0; + gbc_btnNewButton.gridy = 3; + panel.add(btnNewButton, gbc_btnNewButton); + + JButton btnNewButton_12 = new JButton("NOT"); + btnNewButton_12.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Not"); + } + }); + btnNewButton_12.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_12 = new GridBagConstraints(); + gbc_btnNewButton_12.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_12.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_12.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_12.gridx = 0; + gbc_btnNewButton_12.gridy = 4; + panel.add(btnNewButton_12, gbc_btnNewButton_12); + + JButton btnNewButton_13 = new JButton("OR"); + btnNewButton_13.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("OR"); + } + }); + btnNewButton_13.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_13 = new GridBagConstraints(); + gbc_btnNewButton_13.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_13.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_13.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_13.gridx = 0; + gbc_btnNewButton_13.gridy = 5; + panel.add(btnNewButton_13, gbc_btnNewButton_13); + + JButton btnNewButton_11 = new JButton("XNOR"); + btnNewButton_11.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("XNOR"); + } + }); + btnNewButton_11.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_11 = new GridBagConstraints(); + gbc_btnNewButton_11.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_11.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_11.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_11.gridx = 0; + gbc_btnNewButton_11.gridy = 6; + panel.add(btnNewButton_11, gbc_btnNewButton_11); + + JButton btnNewButton_10 = new JButton("XOR"); + btnNewButton_10.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("XOR"); + } + }); + btnNewButton_10.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_10 = new GridBagConstraints(); + gbc_btnNewButton_10.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_10.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_10.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_10.gridx = 0; + gbc_btnNewButton_10.gridy = 7; + panel.add(btnNewButton_10, gbc_btnNewButton_10); + } + +} diff --git a/src/edu/itcr/logictec/imagedrawer/Line.java b/src/edu/itcr/logictec/imagedrawer/Line.java new file mode 100644 index 0000000..bab533d --- /dev/null +++ b/src/edu/itcr/logictec/imagedrawer/Line.java @@ -0,0 +1,24 @@ +package edu.itcr.logictec.imagedrawer; + +import java.awt.Graphics; + + +public class Line { + int x2; + int y1; + int x1; + int y2; + Graphics g; + + public Line(int x1 , int y1 , int x2 , int y2 , Graphics g){ + this.x1 = x1; + this.x2 = x2; + this.y1 = y1; + this.y2 = y2; + this.g = g; + } + + public void drawLine(){ + g.drawLine(x1, y1, x2, y2); + } +} From c5ed234759442010c4313ef705817e3a3f68c6ce Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Wed, 16 Oct 2013 19:47:29 -0600 Subject: [PATCH 09/24] This creates the GUI for the proyect. Used Google Window Builder. Buttons are working.However, they still cannot draw. --- .../graphicaluserinterface/simulator.java | 259 ++++++++++++++++++ 1 file changed, 259 insertions(+) create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/simulator.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/simulator.java b/src/edu/itcr/logictec/graphicaluserinterface/simulator.java new file mode 100644 index 0000000..a15439d --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterface/simulator.java @@ -0,0 +1,259 @@ +package edu.itcr.logictec.graphicaluserinterface; + + + +import java.awt.BorderLayout; +import java.awt.EventQueue; + +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.border.EmptyBorder; +import javax.swing.JButton; +import javax.swing.JSplitPane; +import javax.swing.JTree; +import javax.swing.JScrollPane; +import java.awt.Component; +import javax.swing.Box; +import java.awt.Dimension; +import javax.swing.JMenuBar; +import javax.swing.JMenu; +import javax.swing.ImageIcon; +import javax.swing.SwingConstants; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import java.awt.Panel; +import javax.swing.JMenuItem; +import javax.swing.JInternalFrame; + +import java.awt.Graphics; +import java.awt.GridBagLayout; +import java.awt.GridBagConstraints; +import java.awt.Insets; +import javax.swing.JLabel; + +import edu.itcr.logictec.constants.Constants; +import edu.itcr.logictec.imagedrawer.Line; + +import java.awt.Canvas; +import java.awt.Color; +import java.awt.Window.Type; + + + + +public class simulator extends JFrame { + + private JPanel contentPane; + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + simulator frame = new simulator(); + frame.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the frame. + */ + public simulator() { + setTitle("LogiTEC"); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setBounds(100, 100, 800, 600); + + JMenuBar menuBar = new JMenuBar(); + setJMenuBar(menuBar); + + JMenu mnAccesorios = new JMenu("Accesorios"); + mnAccesorios.setIcon(new ImageIcon(simulator.class.getResource( + Constants.menuGIF))); + menuBar.add(mnAccesorios); + + JButton btnAbrir = new JButton("Abrir"); + btnAbrir.setIcon(new ImageIcon(simulator.class.getResource( + Constants.directoryGIF))); + btnAbrir.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + System.out.print("Esto tiene que abrir desde un XML"); + } + }); + mnAccesorios.add(btnAbrir); + + JButton btnGuardar = new JButton("Guardar"); + btnGuardar.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Esto tiene que guardar en un XML"); + } + }); + btnGuardar.setIcon(new ImageIcon(simulator.class.getResource( + Constants.floppyGIF))); + mnAccesorios.add(btnGuardar); + + JButton btnCrearTablaDe = new JButton("Crear Tabla de Verdad"); + btnCrearTablaDe.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Tiene que mostrar una ventana con la tabla de" + + " verdad de la compuerta"); + } + }); + mnAccesorios.add(btnCrearTablaDe); + + JMenu mnAyuda = new JMenu("Ayuda"); + mnAyuda.setIcon(new ImageIcon(simulator.class.getResource( + Constants.infoGIF))); + menuBar.add(mnAyuda); + + + JButton btnDocumentacion = new JButton("Documentacion"); + btnDocumentacion.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Abre la documentacion"); + } + }); + mnAyuda.add(btnDocumentacion); + contentPane = new JPanel(); + contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); + contentPane.setLayout(new BorderLayout(0, 0)); + setContentPane(contentPane); + + + Panel panel = new Panel(); + contentPane.add(panel, BorderLayout.WEST); + GridBagLayout gbl_panel = new GridBagLayout(); + gbl_panel.columnWidths = new int[]{129, 0}; + gbl_panel.rowHeights = new int[]{19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + gbl_panel.columnWeights = new double[]{0.0, Double.MIN_VALUE}; + gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, Double.MIN_VALUE}; + panel.setLayout(gbl_panel); + + JLabel lblCompuertasLogicas = new JLabel("Compuertas logicas"); + GridBagConstraints gbc_lblCompuertasLogicas = new GridBagConstraints(); + gbc_lblCompuertasLogicas.fill = GridBagConstraints.BOTH; + gbc_lblCompuertasLogicas.insets = new Insets(0, 0, 5, 0); + gbc_lblCompuertasLogicas.gridx = 0; + gbc_lblCompuertasLogicas.gridy = 0; + panel.add(lblCompuertasLogicas, gbc_lblCompuertasLogicas); + + final Canvas canvas = new Canvas(); + canvas.setBackground(Color.WHITE); + canvas.setForeground(Color.WHITE); + contentPane.add(canvas, BorderLayout.CENTER); + + + JButton btnNewButton_8 = new JButton("AND"); + btnNewButton_8.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Line linea = new Line(0,0,10,10,canvas.getGraphics()); + repaint(); + } + }); + btnNewButton_8.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_8 = new GridBagConstraints(); + gbc_btnNewButton_8.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_8.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_8.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_8.gridx = 0; + gbc_btnNewButton_8.gridy = 1; + panel.add(btnNewButton_8, gbc_btnNewButton_8); + + JButton btnNewButton_9 = new JButton("NAND"); + btnNewButton_9.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + System.out.print("NAND"); + } + }); + btnNewButton_9.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_9 = new GridBagConstraints(); + gbc_btnNewButton_9.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_9.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_9.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_9.gridx = 0; + gbc_btnNewButton_9.gridy = 2; + panel.add(btnNewButton_9, gbc_btnNewButton_9); + + JButton btnNewButton = new JButton("NOR"); + btnNewButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("NOR"); + } + }); + btnNewButton.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton = new GridBagConstraints(); + gbc_btnNewButton.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton.anchor = GridBagConstraints.WEST; + gbc_btnNewButton.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton.gridx = 0; + gbc_btnNewButton.gridy = 3; + panel.add(btnNewButton, gbc_btnNewButton); + + JButton btnNewButton_12 = new JButton("NOT"); + btnNewButton_12.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("Not"); + } + }); + btnNewButton_12.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_12 = new GridBagConstraints(); + gbc_btnNewButton_12.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_12.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_12.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_12.gridx = 0; + gbc_btnNewButton_12.gridy = 4; + panel.add(btnNewButton_12, gbc_btnNewButton_12); + + JButton btnNewButton_13 = new JButton("OR"); + btnNewButton_13.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("OR"); + } + }); + btnNewButton_13.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_13 = new GridBagConstraints(); + gbc_btnNewButton_13.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_13.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_13.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_13.gridx = 0; + gbc_btnNewButton_13.gridy = 5; + panel.add(btnNewButton_13, gbc_btnNewButton_13); + + JButton btnNewButton_11 = new JButton("XNOR"); + btnNewButton_11.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("XNOR"); + } + }); + btnNewButton_11.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_11 = new GridBagConstraints(); + gbc_btnNewButton_11.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_11.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_11.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_11.gridx = 0; + gbc_btnNewButton_11.gridy = 6; + panel.add(btnNewButton_11, gbc_btnNewButton_11); + + JButton btnNewButton_10 = new JButton("XOR"); + btnNewButton_10.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + System.out.print("XOR"); + } + }); + btnNewButton_10.setHorizontalAlignment(SwingConstants.LEFT); + GridBagConstraints gbc_btnNewButton_10 = new GridBagConstraints(); + gbc_btnNewButton_10.fill = GridBagConstraints.HORIZONTAL; + gbc_btnNewButton_10.anchor = GridBagConstraints.WEST; + gbc_btnNewButton_10.insets = new Insets(0, 0, 5, 0); + gbc_btnNewButton_10.gridx = 0; + gbc_btnNewButton_10.gridy = 7; + panel.add(btnNewButton_10, gbc_btnNewButton_10); + } + +} From a88e110e5b76a2c07dbc74df7b9c39a8dd265a25 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Wed, 16 Oct 2013 20:08:43 -0600 Subject: [PATCH 10/24] Removed one file. --- .../graphicaluserinterace/simulator.java | 256 ------------------ 1 file changed, 256 deletions(-) delete mode 100644 src/edu/itcr/logictec/graphicaluserinterace/simulator.java diff --git a/src/edu/itcr/logictec/graphicaluserinterace/simulator.java b/src/edu/itcr/logictec/graphicaluserinterace/simulator.java deleted file mode 100644 index 291c2bd..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterace/simulator.java +++ /dev/null @@ -1,256 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterace; - -import imagedrawer.Line; -import constants.Constants; - -import java.awt.BorderLayout; -import java.awt.EventQueue; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.border.EmptyBorder; -import javax.swing.JButton; -import javax.swing.JSplitPane; -import javax.swing.JTree; -import javax.swing.JScrollPane; -import java.awt.Component; -import javax.swing.Box; -import java.awt.Dimension; -import javax.swing.JMenuBar; -import javax.swing.JMenu; -import javax.swing.ImageIcon; -import javax.swing.SwingConstants; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import java.awt.Panel; -import javax.swing.JMenuItem; -import javax.swing.JInternalFrame; - -import java.awt.Graphics; -import java.awt.GridBagLayout; -import java.awt.GridBagConstraints; -import java.awt.Insets; -import javax.swing.JLabel; -import java.awt.Canvas; -import java.awt.Color; -import java.awt.Window.Type; - - - - -public class simulator extends JFrame { - - private JPanel contentPane; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - simulator frame = new simulator(); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the frame. - */ - public simulator() { - setTitle("LogiTEC"); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setBounds(100, 100, 800, 600); - - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu mnAccesorios = new JMenu("Accesorios"); - mnAccesorios.setIcon(new ImageIcon(simulator.class.getResource( - Constants.menuGIF))); - menuBar.add(mnAccesorios); - - JButton btnAbrir = new JButton("Abrir"); - btnAbrir.setIcon(new ImageIcon(simulator.class.getResource( - Constants.directoryGIF))); - btnAbrir.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - System.out.print("Esto tiene que abrir desde un XML"); - } - }); - mnAccesorios.add(btnAbrir); - - JButton btnGuardar = new JButton("Guardar"); - btnGuardar.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Esto tiene que guardar en un XML"); - } - }); - btnGuardar.setIcon(new ImageIcon(simulator.class.getResource( - Constants.floppyGIF))); - mnAccesorios.add(btnGuardar); - - JButton btnCrearTablaDe = new JButton("Crear Tabla de Verdad"); - btnCrearTablaDe.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Tiene que mostrar una ventana con la tabla de" - + " verdad de la compuerta"); - } - }); - mnAccesorios.add(btnCrearTablaDe); - - JMenu mnAyuda = new JMenu("Ayuda"); - mnAyuda.setIcon(new ImageIcon(simulator.class.getResource( - Constants.infoGIF))); - menuBar.add(mnAyuda); - - - JButton btnDocumentacion = new JButton("Documentacion"); - btnDocumentacion.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Abre la documentacion"); - } - }); - mnAyuda.add(btnDocumentacion); - contentPane = new JPanel(); - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - contentPane.setLayout(new BorderLayout(0, 0)); - setContentPane(contentPane); - - - Panel panel = new Panel(); - contentPane.add(panel, BorderLayout.WEST); - GridBagLayout gbl_panel = new GridBagLayout(); - gbl_panel.columnWidths = new int[]{129, 0}; - gbl_panel.rowHeights = new int[]{19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - gbl_panel.columnWeights = new double[]{0.0, Double.MIN_VALUE}; - gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, Double.MIN_VALUE}; - panel.setLayout(gbl_panel); - - JLabel lblCompuertasLogicas = new JLabel("Compuertas logicas"); - GridBagConstraints gbc_lblCompuertasLogicas = new GridBagConstraints(); - gbc_lblCompuertasLogicas.fill = GridBagConstraints.BOTH; - gbc_lblCompuertasLogicas.insets = new Insets(0, 0, 5, 0); - gbc_lblCompuertasLogicas.gridx = 0; - gbc_lblCompuertasLogicas.gridy = 0; - panel.add(lblCompuertasLogicas, gbc_lblCompuertasLogicas); - - final Canvas canvas = new Canvas(); - canvas.setBackground(Color.WHITE); - canvas.setForeground(Color.WHITE); - contentPane.add(canvas, BorderLayout.CENTER); - - - JButton btnNewButton_8 = new JButton("AND"); - btnNewButton_8.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - Line linea = new Line(0,0,10,10,canvas.getGraphics()); - repaint(); - } - }); - btnNewButton_8.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_8 = new GridBagConstraints(); - gbc_btnNewButton_8.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_8.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_8.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_8.gridx = 0; - gbc_btnNewButton_8.gridy = 1; - panel.add(btnNewButton_8, gbc_btnNewButton_8); - - JButton btnNewButton_9 = new JButton("NAND"); - btnNewButton_9.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - System.out.print("NAND"); - } - }); - btnNewButton_9.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_9 = new GridBagConstraints(); - gbc_btnNewButton_9.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_9.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_9.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_9.gridx = 0; - gbc_btnNewButton_9.gridy = 2; - panel.add(btnNewButton_9, gbc_btnNewButton_9); - - JButton btnNewButton = new JButton("NOR"); - btnNewButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("NOR"); - } - }); - btnNewButton.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton = new GridBagConstraints(); - gbc_btnNewButton.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton.anchor = GridBagConstraints.WEST; - gbc_btnNewButton.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton.gridx = 0; - gbc_btnNewButton.gridy = 3; - panel.add(btnNewButton, gbc_btnNewButton); - - JButton btnNewButton_12 = new JButton("NOT"); - btnNewButton_12.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Not"); - } - }); - btnNewButton_12.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_12 = new GridBagConstraints(); - gbc_btnNewButton_12.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_12.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_12.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_12.gridx = 0; - gbc_btnNewButton_12.gridy = 4; - panel.add(btnNewButton_12, gbc_btnNewButton_12); - - JButton btnNewButton_13 = new JButton("OR"); - btnNewButton_13.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("OR"); - } - }); - btnNewButton_13.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_13 = new GridBagConstraints(); - gbc_btnNewButton_13.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_13.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_13.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_13.gridx = 0; - gbc_btnNewButton_13.gridy = 5; - panel.add(btnNewButton_13, gbc_btnNewButton_13); - - JButton btnNewButton_11 = new JButton("XNOR"); - btnNewButton_11.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("XNOR"); - } - }); - btnNewButton_11.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_11 = new GridBagConstraints(); - gbc_btnNewButton_11.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_11.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_11.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_11.gridx = 0; - gbc_btnNewButton_11.gridy = 6; - panel.add(btnNewButton_11, gbc_btnNewButton_11); - - JButton btnNewButton_10 = new JButton("XOR"); - btnNewButton_10.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("XOR"); - } - }); - btnNewButton_10.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_10 = new GridBagConstraints(); - gbc_btnNewButton_10.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_10.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_10.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_10.gridx = 0; - gbc_btnNewButton_10.gridy = 7; - panel.add(btnNewButton_10, gbc_btnNewButton_10); - } - -} From 0c5ee848c6ee58a58e464733b966bb6ebd69b37a Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Wed, 16 Oct 2013 20:31:46 -0600 Subject: [PATCH 11/24] Added a panel instead of the canvas, since canvas couldnt draw. --- .../logictec/graphicaluserinterface/simulator.java | 13 ++++++------- src/edu/itcr/logictec/imagedrawer/Line.java | 3 +++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/edu/itcr/logictec/graphicaluserinterface/simulator.java b/src/edu/itcr/logictec/graphicaluserinterface/simulator.java index a15439d..1caba87 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/simulator.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/simulator.java @@ -135,6 +135,10 @@ public void actionPerformed(ActionEvent e) { 0.0, 0.0, 0.0, Double.MIN_VALUE}; panel.setLayout(gbl_panel); + final JPanel panel_1 = new JPanel(); + panel_1.setBackground(Color.WHITE); + contentPane.add(panel_1, BorderLayout.CENTER); + JLabel lblCompuertasLogicas = new JLabel("Compuertas logicas"); GridBagConstraints gbc_lblCompuertasLogicas = new GridBagConstraints(); gbc_lblCompuertasLogicas.fill = GridBagConstraints.BOTH; @@ -143,17 +147,12 @@ public void actionPerformed(ActionEvent e) { gbc_lblCompuertasLogicas.gridy = 0; panel.add(lblCompuertasLogicas, gbc_lblCompuertasLogicas); - final Canvas canvas = new Canvas(); - canvas.setBackground(Color.WHITE); - canvas.setForeground(Color.WHITE); - contentPane.add(canvas, BorderLayout.CENTER); - JButton btnNewButton_8 = new JButton("AND"); btnNewButton_8.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - Line linea = new Line(0,0,10,10,canvas.getGraphics()); - repaint(); + Line linea = new Line(0,0,400,300,panel_1.getGraphics()); + linea.drawLine(); } }); btnNewButton_8.setHorizontalAlignment(SwingConstants.LEFT); diff --git a/src/edu/itcr/logictec/imagedrawer/Line.java b/src/edu/itcr/logictec/imagedrawer/Line.java index bab533d..8494203 100644 --- a/src/edu/itcr/logictec/imagedrawer/Line.java +++ b/src/edu/itcr/logictec/imagedrawer/Line.java @@ -1,5 +1,6 @@ package edu.itcr.logictec.imagedrawer; +import java.awt.Color; import java.awt.Graphics; @@ -19,6 +20,8 @@ public Line(int x1 , int y1 , int x2 , int y2 , Graphics g){ } public void drawLine(){ + g.setColor(Color.blue); g.drawLine(x1, y1, x2, y2); + } } From c3a303de2086a102cbd8d8131f40b888758154a3 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Mon, 21 Oct 2013 16:02:19 -0600 Subject: [PATCH 12/24] Added images for every logic gate. Class that storages constants. GUI paints images. Working on drawing lines. --- imagenescompuertas/and.png | Bin 0 -> 4164 bytes imagenescompuertas/nand.png | Bin 0 -> 4912 bytes imagenescompuertas/nor.png | Bin 0 -> 6530 bytes imagenescompuertas/not.png | Bin 0 -> 5735 bytes imagenescompuertas/or.png | Bin 0 -> 6912 bytes imagenescompuertas/xnor.png | Bin 0 -> 7035 bytes imagenescompuertas/xor.png | Bin 0 -> 6463 bytes .../itcr/logictec/constants/Constants.java | 38 ++++- .../AskNumberLogicGates.java | 80 ++++++++++ .../graphicaluserinterface/DrawLine.java | 55 +++++++ .../graphicaluserinterface/MouseLocation.java | 33 ++++ .../graphicaluserinterface/MyLabel.java | 43 ++++++ .../PintaCompuerta.java | 62 ++++++++ .../{simulator.java => Simulator.java} | 143 +++++++++++++----- src/edu/itcr/logictec/imagedrawer/Line.java | 27 ---- 15 files changed, 409 insertions(+), 72 deletions(-) create mode 100644 imagenescompuertas/and.png create mode 100644 imagenescompuertas/nand.png create mode 100644 imagenescompuertas/nor.png create mode 100644 imagenescompuertas/not.png create mode 100644 imagenescompuertas/or.png create mode 100644 imagenescompuertas/xnor.png create mode 100644 imagenescompuertas/xor.png create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/AskNumberLogicGates.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MouseLocation.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/PintaCompuerta.java rename src/edu/itcr/logictec/graphicaluserinterface/{simulator.java => Simulator.java} (69%) delete mode 100644 src/edu/itcr/logictec/imagedrawer/Line.java diff --git a/imagenescompuertas/and.png b/imagenescompuertas/and.png new file mode 100644 index 0000000000000000000000000000000000000000..7970d18611b6a2ae53d683b50ca222a1e8247bbe GIT binary patch literal 4164 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 O0000e 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 iX&{%kBRCm{E&dP6`WlJnetgFO0000e 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 literal 0 HcmV?d00001 diff --git a/imagenescompuertas/not.png b/imagenescompuertas/not.png new file mode 100644 index 0000000000000000000000000000000000000000..e74c0519e2dbc74b76a092682ae584563d0a188a GIT binary patch literal 5735 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%0AXzNr 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 literal 0 HcmV?d00001 diff --git a/imagenescompuertas/xnor.png b/imagenescompuertas/xnor.png new file mode 100644 index 0000000000000000000000000000000000000000..8f31ac3630ed6093531d47d48da152ffbd00b9c8 GIT binary patch literal 7035 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 JM*Ge`{|8}?&Taqz literal 0 HcmV?d00001 diff --git a/imagenescompuertas/xor.png b/imagenescompuertas/xor.png new file mode 100644 index 0000000000000000000000000000000000000000..b2991ccee69d402b1ea5ce6012217d608268ea94 GIT binary patch literal 6463 zcmWkz2{=^!8>J8uSwfN|Ns=vO%Q~_X;g9T%2_Hj}>_W2dG})4MKE@J~Wh@CzJ|s%)R$_-`{!9d(IJm%T(_Ks{kt<9o-27eS`&kBmaJwnc%PQ zbhagYF}WJ)A?ObOzF)RuGvNq}ufFXAI=bWBe?Rnex%vEX@R+}WiS989D>sk4BIBsI z4jek|uWRG4QItIcH=4VCtDom{=#>SjcCo?qH15;3o_z(E4D+{KM zWPP@SHk@U_)0DK24WoNijahw2xy7wN;tB7Na#Mt$wi0pHAE|_u*B?1F!|B#$_UL9$ zpY`T_s^8XgI+bvk*sP*4fGtStL#{a}U3`E^3%XH?ciu}&J5=tTO6zid>#KxR6S^yx z^U6l@-^%~oB+oMPl11(4VgUXcqYhEtSd2Tj+@;Rum0k6imtvLmmE3ZQMd8qitQ?xYqPh~hkQ8Q!6rW>y1N zc0w7VwW7L&9c%e&M-$0Q?-%`xJ#sCbhUlM%9F-GF9e!9~FGV;wP-l-l+C(-HKItqk zU@noZq^4HtSbO+AGIZ&v1<%|wq>>=Jnh-~%=Hpx9{74W|=( zqXtpki~iFA_|=`z?ND{?qLah!S%GS%YC@L;lDXKJ?&B%Xjm5+=`vwYML0=_= zIZwXny!}k^rJ{OC-s45L;*fF%lDro%{pOOqEp2T`Z|~%o7{|GytMMd) zxbkOTG}GYOvu8@GswEZ`zW48I;VELgiRq@;pu>Y3tu=S+Y~m0iKY#u_8IS0wR8ka3 zUfBAx=5jr6@Xq77#I*jof30y76BD17w>+B2ugTuQ?Ju&t3Wv64z5Z*b&oLH*ZO%8n zRA-YEsFp&QDYBGEADX|6=@;c|O01oa zf4g)TEIhq+q*|7i%l)-Y}?%H`tW z!BRMMsl8ge=xyG09~(P6R~MH^z)>YhqQyStW=Yrd^z?Pwefkt;ek-e9&&L0l9cSCb zGFhIw_=bm@HjK~i?Fm9hQ_8(2K_mdlwn(oY3utTZv_@wokQXlOOKo#6;Q>}S&EIpQ<- zhHxD$v2S`>WXhKxM@j(pbaEnkHZn6sOJ2P?<=4{O(gNTyueM&?2v!nI@p(~|;IW%8lFJ*M6 zuA@VW;&lG(oZsngnU&!7YY#NAv^|mKQ;EF*@7H!$zb+~6hZjQ01_w|4`SS-h>fO{U z%ZJqDCv?DPBI(TPg{gUYXV!Mq$}HmlSL?{h8p9mh-BjNVbgeHc@(*9b%5FJ4@4Gp_ zbbZm%>m#0x?uvQ*PrJs)PcKilU*JvTOul(vNig-9-7p=nL9eSh)2*$>3qV2um?pBD zlAwh+&lrW$i)y$Z8fx4y4mADQvr(Kk5r)j^GXuNEqm(f9bMc5MYg{iZ5-#wyB{P$I zb8}N4OWY3a(7U!Gpjl@#>l5+k3?7e{&l?P(u|Ky}lfoZH=wU|*g zZ=xIey5DY>XYSKcn%mvG(M>+o|EhqAzpu{^g>J8Cp`zz^a>Du2oMk=?X&eqfAM+>Q z-0I-0tb`G=J%@4nFy{vp;M_1iHaX_=nkf9 zO>J#UYpbh|Pb%D|zPWk(<@^0-|K(@>4l~0MNhv8;K;t4w zCMn1MX|1w|x&fBx<>S+z1uYtSu$Kec;D9vny&tw&T0)U;H=ga~v1eYCr; z4#P@Q_%R$MshO{bf4E>ji)NFNr6J+)W*J7fsYhHRMeB#<}qO<0;3k|0EVF z2(lY}%^)r!W%xn3{uN`l#MOK>#WLd=5MOY3N(~zqqcH5)l&^jhIZU1fW+<>NVdi{} z@!Hy)k;jBl85gJ|XyO}j_Y1EGKeBq}d@6--*WmLT8_A@b7g{O5>|3ilHrH>8a4IS) z#`U_|R9k~)fZoc_&j$s9Ec~y*(iVUn+Z{>r%qFRvXN)?yK*u@ojv!IUdKq}Rs;Vl@ zSZp;=4Fn7@9NaDA_NLdx9;94fikM~w8RQc();;&VyL>Ser1FWeQQzm!Tr?UDA;M{C zm2I5urD#+;nup68u+p})>V;9J$uQ%as|5`ke&Kv-@7~D>RerYmj*gFT8tCC}nGdLj z&*a?svf=O5N6H%r(OsH`UGlge3k#vaMPq5U zhH(qeV-CHGcz<{aq)qvLaF-9}@;B8rhX=2!so`ReHRsXgeTDD{9*O)NsCLkFPi0wJ z@kHFWS=L3)f_h>o1?$Vesg`5Rl}b=nSAQ?VR#Q{6{d-_p#8D|5|Gr3g0w{xl9^UCB24X=9gTe5y z#r1;U~!Ra+}jzPfzSk_693Hj^mITyQJ+}9@`yPcqn9JrsYQRR6wKAFkaqv z8Zn9NY**XQ>SY7AL@2ha7kjUAnX4QrlixB3IN9c=k{VjJY0p!UwOj^qkkuRT}WtvII%eySti?e9N;n+PT z!HhwaG6+q3siPk>?}IRDB45R7sa;`d!PO&F>z^xL3crMMrkqvZw3)POBF}-2YiPJ; zSN%-zT!vv8XaO*WzDl9tib$1eDY`nlYH)SFN~NPTSwVK66Bk1UBJU;?%kZcB@5$qKX#>Rre|?XOL>&TsNT^l9sySbAU((6n%JRvO{;+2Wx2wY3auTnx$c zB5z_H$bWI3T-9jvf-Sx;4;_xUg2Nm4%1FA}Y?E8w7rsi!N^`8$Q_P$D_U*BDk!B~A zFux8`8#uMuzNUq&w1E!3JF;u@2|=&?%*@J4c~FlI==a>IG@z2$S{Ci-VsT*PzdQhI zE4`;MRI-n4BUV{j<0*h#=xI|dH>Uq0Jy^dk=f|LlvtANpeiWaO&Kq1?ozat$mX>8Z z8r!WUk?jh`=$80z;X++JZEbKZ4*kFL=S{JGnl z1x#;{a6Cr4s=C_X;f6D!B?yu4T3);G(!%Og6FIqm&Q)H3vfBc7NAi7aiVhH3R?1MJ z#)JF!BVG7`gWxp=A%Kg^R9BR>N$9^m1zfw-FWJwd$7mZcamJPcBLAY1NAU4E+VW050R;2jVd z4aPuFUY}Z8TDoM|BzY5&ABM<;!y8s*G!^h|f0qQh77FIsm|-k7J~k#SknGxMckWGD zHF?P|EX<_BQu}8~tF$l(!0v7xWt6>fYe!pKDS0WQ4=KZ@qqxbuOe^YW)~A7fVrOR` zBa<%_4qeMJ215=$=~Z1FsLYU0cAYV*hF(qankw z6as(7W$!qCS@R0ZU)BALc@8UqjD#lYa^}$d@I!|;nu)Sg+HQkqn5Xuwa8{re{*vJQ z{QN>|3ULu8?fMVW6|VT6k^$E*bTAS3z@+R?mMDPqj?vaq4^8ZSx3(q+{u?}~SZ0x3 zwX0&@#YL}4*|=AUuAaR+JIWwJLwA42TU0zL7O&rV@ZiDi6w`=>68dHedSqnemes~& z^idw&^nWA}dAa>_({ue8AQZm`4=%*U#iQ+I4?Q4a zqhDt6SC43}$VOS7cssKS_16N|14&PRzlBwHsJa8cX zfD2h&m0hNG&d(51LBD~fa;(Mps|=2e@ZxYdzhBdL&zek#Ohryy7yt6G0EfF$KVD^d z4CW4`J{6W3sueJl^X?-szpBu)uXBI+t7P@NK|gJ8j5_U%b{_OXDIi>VFQ}@j`q${E z63(gp+D>h$@@QI7N4qtQx1HKZOuh~}&P(yiC1bLeB22YN&2NrO`@a~uBs^vKU(#CJ z7(zlqK&nQ)r{7JV9Jh8cz zRmx}DMliTFC?=#4)LBPX;qpV}tEZL%?!1v-URqi`*blK~vE+$?;AwYPC1Sh#+!$y- zu6Q*S{%ed#FagV3bMmyCCFe<2;ylIBrh}-<*@kp})-^H~gVA#oCwO4<-2h zjO93oTt9S|7vX0!#Gn737uV&P8ur@OFm`MtAS^7oh6dJJdD-Eo3S<%)N@@C{(9})} zNfE8t#;-(rpE5X%Ugk}l^;3pW;-|ERx_Y^#gsf011Ql(eI~gFS*EW~#SX5-?+x+HH z6dmwVg>eO88(32~4PvsWu9wE23JMC+2T>50_>l_Sk8>MYcg!v`3nTPu`Jal3LUMIK zJp3crMBpm0f-Uwac>zvl27R$iK;r7|#y=yYqqY#fp&G(8XcA8z-(Ruh=7X^V|KQKG}1jk8}b)FEyL20`?M5`r9P(LZ;z)@hw+rqQPk z@>I%-^r%4tf#`y{0U!d+D1}LcoCE?1fX5oL7pYADa(heKgpKumi3>kiHt>nrhA|cu zh&r26d#V1QwgS^*IFg}~pcpua_Vz(Djr|^=YV>&WGWwWRClw3c`!d7=8CTJbcHsIl z0u_Z)%Oa^1%KkJdh)8}|ezA1iYtjyL{l=qy+6IU>H}6o;A0V_{>z)gucPvHkialm- zzml{A1?qL>G$BIVgYxi*hp=~ec(}Tbrx>&|spIS1se(3Q$iHmeZ)KA1>`8-?d-pEt z^=XLfN{JqTyTXadiX3_o&*LI`q9fCcN9dnnF!xmo!27auaKK(=_*2kLkTJ_yx0rd~ zRe63&XBf%=F&3Y+W11<}7Q9QgVO?``9C<1HbEPTYh`VKOr zLTt0`(CH^sI=Qft<&Zne9Ybwagor-_LnnkQ>R)`$uRNp Date: Mon, 21 Oct 2013 18:12:18 -0600 Subject: [PATCH 13/24] Delete README --- README | 1 - 1 file changed, 1 deletion(-) delete mode 100644 README diff --git a/README b/README deleted file mode 100644 index c8f68c2..0000000 --- a/README +++ /dev/null @@ -1 +0,0 @@ -All that's missing is the fork. Heh. \ No newline at end of file From 1658780243699acdf39bcb2d053b66256c65e7be Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Mon, 21 Oct 2013 18:23:29 -0600 Subject: [PATCH 14/24] More changes --- src/edu/itcr/logictec/graphicaluserinterface/Simulator.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java b/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java index 507b168..072b0e4 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java @@ -301,9 +301,7 @@ public void actionPerformed(ActionEvent arg0) { JButton btnLinea = new JButton("Linea"); btnLinea.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { - DrawLine linedrawer = new DrawLine(); - linedrawer.setColor(Color.RED); - linedrawer.paint(panel_1.getGraphics()); + } }); btnLinea.setHorizontalAlignment(SwingConstants.LEFT); From e21f8821a4c168f45c1174d94e705559b43ed02a Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Wed, 30 Oct 2013 10:37:18 -0600 Subject: [PATCH 15/24] Lastest Stuff --- .classpath | 8 + .project | 17 + forms-1.3.0-src.zip | Bin 0 -> 158058 bytes miglayout-src.zip | Bin 0 -> 185380 bytes .../itcr/logictec/constants/Constants.java | 22 +- .../graphicaluserinterface/DibujarLineas.java | 77 ++++ .../graphicaluserinterface/DrawGate.java | 164 +++++++++ .../graphicaluserinterface/DrawLine.java | 1 + .../graphicaluserinterface/FilteredJList.java | 89 +++++ .../logictec/graphicaluserinterface/GUI.java | 277 +++++++++++++++ .../graphicaluserinterface/MyLabel.java | 41 ++- .../graphicaluserinterface/MyListModel.java | 67 ++++ .../graphicaluserinterface/MyPanel.java | 63 ++++ .../PintaCompuerta.java | 62 ---- .../graphicaluserinterface/Simulator.java | 325 ----------------- .../logictec/logicaluserinterface/LUI.java | 56 +++ .../itcr/logictec/logicgates/LogicGate.java | 78 ++++- src/edu/itcr/logictec/logicgates/Nand.java | 13 +- src/edu/itcr/logictec/logicgates/Nor.java | 15 +- src/edu/itcr/logictec/logicgates/Not.java | 17 +- src/edu/itcr/logictec/logicgates/Or.java | 14 +- src/edu/itcr/logictec/logicgates/Xnor.java | 9 +- src/edu/itcr/logictec/logicgates/Xor.java | 13 +- src/edu/itcr/logictec/save/Toxml.java | 79 +++++ .../logictec/trees/binary/BinaryNode.java | 38 +- .../startec/datastructs/ListInterface.java | 22 ++ .../datastructs/simplelist/SimpleList.java | 331 ++++++++++++++++++ .../simplelist/SimpleListNode.java | 50 +++ src/manager/Manager.java | 13 + wbp-meta/org.eclipse.wb.swing.wbp-palette.xml | 7 + 30 files changed, 1497 insertions(+), 471 deletions(-) create mode 100644 .classpath create mode 100644 .project create mode 100644 forms-1.3.0-src.zip create mode 100644 miglayout-src.zip create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/DibujarLineas.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/GUI.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MyListModel.java create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/PintaCompuerta.java delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/Simulator.java create mode 100644 src/edu/itcr/logictec/logicaluserinterface/LUI.java create mode 100644 src/edu/itcr/logictec/save/Toxml.java create mode 100644 src/edu/itcr/startec/datastructs/ListInterface.java create mode 100644 src/edu/itcr/startec/datastructs/simplelist/SimpleList.java create mode 100644 src/edu/itcr/startec/datastructs/simplelist/SimpleListNode.java create mode 100644 src/manager/Manager.java create mode 100644 wbp-meta/org.eclipse.wb.swing.wbp-palette.xml diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..dfae04e --- /dev/null +++ b/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..0ea0812 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + LogiCTec + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/forms-1.3.0-src.zip b/forms-1.3.0-src.zip new file mode 100644 index 0000000000000000000000000000000000000000..b7673afc6ef38ff4463dc595228c052b6788ff2d GIT binary patch literal 158058 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%0D0tP>euR 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 F0vJ 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¾L@9L-T!h+dqDZad%@5LgjZx$5}9aYO2 zx-?=0FLS8BU_O@sQA7MW%@>Psm@bS#z}zl1R&;X{owXH;EtRX3S9~Ke%B5GOi*8k- zS&55`MJNDQiIz>3rvKWqE*NWYEo>_bZx=+_pczxXrw*W#E;@2cuJg@uN>d6;Dxr3m zDT_=@Ryl`+n#8fb%J#|UW<=9o0W?fAVXdr`%TK?t>Ma=`X>v0r^4lu0h?k1{C*YR2 znoJi`hZdRjd%-hmDZ26}A)X(Q&9`xoVeEJ|EQ+8Zn+9NvweKzN$~ z6Z+#!95jVH010X!*xQ{5xtv&U2Ha-4dNi9n2;GUeU>~h!hwqcIt;vtZ2+6(+3gpTB zP$&#n){C}aj43my4qwKW_%Q!^oPyrLI0=v-p&f-^;C}u76BRv_#V?#a*yIcjq}~%i zr%g}Hm6(7|+Oul*Im!_z-v8uMYFHr%?OGF!s1xRBTc-a$!M(8 zJBlFLf<0y!MF^ba!5N;6F@rRacF5k?BTmGbCXDch-xpo$u(aWvK=P2IZ$1Ev9vp@H zPiaFl_9Q-n0&@;ABTOgxCoDRU>Yr00DOdFMW&u_7okpY6q18c-UJU4Q!qYXzGX@+6 zbZkq}9xd%e zwBwjsk|Dd41;hqtcI@*~o;q|%`Ekfa*V5SlMS#X2KTKZPY zPiZKZvif|-;k!nXdw+Rw0pw)Qa?#WuuG=+D>1b@Xh*JKJr0 z&}*&EJGgW|`uJ&w=RAk@hQZ%H#pI)B%bk^&;qLrY$>{Jt*ib3Ut04 zp2w6ArJBdj!!oZXD;)nAn+itt#4@HWv#M8xys6bD*?4(IxaIt^@HSYq3mX#t?i6l0lU z*Cuy97Pe(_XJwX-{%rycZm?*Ijxl)o&Ddj4sl6eq(_mWY)QV1Qtmj5}4lQrxl2RwY zaaxRff6iN5i?7KGw|v}-Lr3I`IbT@KXzk$+Yd_%K&JWXkSK1#s01m6wN( zdX(#HZA0Yu4hS5F)pt-NKE&c>5Pqxo#KtQCjmu@tRGFD za>oj$o?EnwB-^Y%XJ%@2b93h;GAg7~nu>PtF|>PGHF9KpyNp{xJsy?ILzM-(t`dFP zdVLP&rM)GM`3@v)Uks#xY(hPxZu4ch+nR36Qdv@*`T4rF4FM}93^%Bt7)vZFjj1cD zr{6t$@~4%ylr831B~p@8*_r^VBrBaYj25n_mC{vYnwOS3TuN7oX0KK`RV9;( zto!Ii79K`k83sWYEu`YXk0T-+J6 z1#7FYffkDU#z7Z?b{fq`^~?V2;~sk{iaiM!Yl#gV707BDBPz<9o|RWR$f88K;o*h*q`gi;arL=j12yO# zM3~z`=L_`ddtrv$5f+HjV!G%FS8?@MV+H8M4*oIFY=aZfsOwvYdr7Y@xSk5a0^)|O zc~I!VVe`*M2O@Bge(W-$gLqsZM91I^G9%K%@=?HJ?6snBW8B_qZMhHRzrT;F(|v1hf&{ z;JSuun;~%1{v74{JmQ1~?8v^?AqI?bBKvxTH*We6>N?nX7>&St!LW^i_qni4c%*2n z_dCNu)W*KBPP9u10Rsl!#gn`O=HAG3@4N1lqq%%f>X`K@TnHXIXmBF`0FKT+rvomA z1E)>@S=uS%D7dwwDOFW(gL9YPP1|CcTa9PC zppo+%U!td!SMKQD-pZ5Hm1nM0-JHA!Z?BCSwwpqE3{JdF=}ea3S(UZqT*nJ87qJpMb|s>J1gIkDDdk{X(hYsDy;+6GydVz%#jTIyf!CaKCrD2`Ur z9bSg^-07zfc>Qok-sMf>NG2s7yFK*gdd~J%wj~%e3$xJbmgEmJC2zuYyWc-AZEStL zKPSLr7V>TZ%Q%TN;0-}QZdlJ{)RtF)z1EAAI!Ox!==`l+@n~N1jC?Am^U<{$`Aa|7 zWpTAJMLEURQHJ3DW8kBf1WLKoB-z!9vcVXJVzQJS&DUa>G~LwbXrr<538zF_*FZcI-P9RzQI z_A!~*l2LE5S(~IJpB%`z2&0s`Sk!{&l8Y3%RyJ-|N~U?MaO&Z)<#CmnCh{ri)cP2g{Sm*XWwQ--&Xdb!99UN! zfQwqFm>2Zj`lkCO!E4w?j^+g{wdNL8O9WNzT}g0l=)TjFm$g6)5VNZ&(432|K&B6f zJr{S6P5)a+K!N#qFSV<*O;7*;`v0}s5dVLLMAg9B#pJ)JKJHJaE!IW8GNyMtd6!-; z3WZ~_q*Al7iwQ&=C)qlrlJ#EMQlY5$8EBD9@yWQSuRgynXn(oz(xs<1sWM1VT356v z9|N?-OL4W|Xe&#tbzE$egN){ZgW;4d&fZ++7E3s9<6p4)oTc$8!HrC2TM zlR%an0I>ZEk@BwGF$kAoLEMM?P_CTd+hi_VLc_WjGG4NBfge2Df!i7+Y;{+(Rp_&^~tj zzuo(*&vpJ1dkzkU!bz&!yz})a4f+*t8X$1}HihV@NL&46gw1q8Sl%VZ=im(Dy|8!N z;U511>?Kn3>`~AI6Qkwc)Vi-PFai!UCdy0q|ILP_e?i9!M)dFi!jrC@gG9|jc{S3q zS%e$s^JgP4(Ai-4qq7yIsIf%4usn@8+$g#|lJT_KriT4KaMm3Pct-(Y;|~o5;tg#r zfDX9f7vN)xpZ^<6NpP`oA(-?XfBr21jvx|)jxom;N-D9&{6yy*zq-J*Wi-I0NXFMD?V z!hN2t6!j|hgPt=}X6ESK8U{F~7L*C=pPP83T7lgaB*z-^NB@xs^|114>at!6jh3NEI1UDOFAIpbjgeJ0&y69)#03O6q% znu3;~ZQBUg{Ra0Bi~tPk7F(I9-D)cP37Iw#1mZe&a|R28Cn+!b8CZ1{SC6?=ck06& z2f%>T>K$Aco_@rPGH0+N8Nqt#uD2yjf(v{E3ty}0sWmUtde}p|oMT(`g;lsRyUhT1+TIzMnCFuXf&t`_OUJoZfVg)?tP#*qSa>o*KBNVltjXI?N5?n0x0 z`q2d_p{U2aF2t}|8CZ8#p|^yi4ssYM;`Iz;zBm#H=TvoCO!Ob%#~_AFj5pV4^;zku zcwKi(O$cMCzh*l5JY^?Gt$=Qa3`O%co7$$i^|rr75!X`s@{m)=-Vh4;5ME`D(29?5 zpRj)x^w)LG)L_=J>YM5*>*2FMmcaWQ{Rhs=)DZOgHor0UZn=MN-`#F4ae^5>+kA}N zXghAiaE8R@uyHN-c4`Rz;!|y|AsI6P5$WCYzP_Qz)AV-;oQW7fU}vsfgckVl`FC`t zmAN|eG_Qq?-+4M+bU?R)yxuU_*D4I3_G0-p_rQX5t!y5h>k^qJ;JNgzr{S`LT+Y{XCmxt0DQ5CY0gUV-_HFwMv zS36>N_`9^q^9Fq5LgHdm4H^SOu@W@tf-67@l2(>m1g`%6+*@Rca z_CG*5K;#yQ=7`wR9?k2Tb9i{qJQ^7q|6sZC2;@vIyN5kB?^A4Tbu=rdT`AMa1OwCNN`<9T`rpg$t+8 zY;ksn|AL4G^G!`{_8jTL>ZGTifl->Q5+uia44`m(!U)EFf+C8$S4a8L6I`qg#OB7~ zULN%VY=5e>tJR(f;KJdy#CpI1?!>8_@6)5NiLMDb*Hz7T{2XSk^@CtcQtW#wg+L=C zc2qSS#rGNRx(@qR4x<6s65Un}1d5x45C8wWmu9i zk7a3~qX!&ypa+d(p=M#DVN$G9(qfX*S_W9!vl3Y69EE*}))DK1xD0Jqk`fLTvsJ1; z?|IqW5=((X@yvvO%j<{HI*J~;zNXCecPJR_t4$S?%1q>ZR@VJO1w<<;AVvOlv!>)z=tJAIS;L5-BfZT zvPC{T(3v>cf37HU??8z%b>DvDPvjFkKXDzWs4<#C3?IZmgW&N8`dC>5tl~gTx4?E+eUKe^o!p zJF_4WvFNXv;8fi;c=geG`7tF{j^joH{51GRgLL0ktth}vD8qG_kKe68J^(eC&+B^} z*x6Wuw%%yys16v~0ddM3H=sXL1|_;24vE5TN+3m_KA8bG38*UEf_ufe?hejlZx--`+j*(rO?PtS8hXzwG@YR)0h@$Md6aCyFufSo3=9+(%~K zjP3;1Jpim)t52rDQ`EeQEjPVS>4B8Ei77{g#;std7!{o)t5UopeAb2IIsC~>eX6in3V5nB7ITN9 zU~z%&OroM!1FeEw_qNZ1=8j4o{KbdGhOA~Pm`K*Y-6Rw2V}{Y$-zph>tmZF8@{`2U z=76eiS>{$l+z7D-KvirdvB}ao#qB+KO?dCq8xGnwZYn6-K$J#LWg%Q~o|I}=>n=?p zNSsrmn8bQz5C!qK>7KfI%{prBoN*A9fVlPP==H{(aC~{p|9Nq1O(6$sASunHC z;kZLOc^%lQ$#W-wz)6nf&+Gn|_UqTx@7?~byyI(5`p1kk#gq`H zD1T&cT$A2$s%FMSC~>UE&>tK>L8e*Q<5|P`YBb7fRk%dSXb#oB8L{F$0A2n~d3nYk zmh=p~BMvQuLvd&MgW+$EKS*FbMd1xXp?QEl%Xruj^{wtL(yCBX9vPE}`nW5ksO;zu z)q)4;I4_Q5I8tD^vMqps$KeKpF8Ix3NzcO}#5<1+=FaNiOZzdVP#@e!k+t@jK8nDk zfePGwV$fXbHK;K(&Y_xd_5=t;cj+NrieW0%HR%%>=|i$$aW?TC(t9IL>-3a*Dy=h@ zOe@v*26XGz#tzkV%ik=!6jr_sqw7OcH3E08Az8HmuZPoQO%;vN7MOT1WoDBO#4ld! zYk=)Digv<3vd-j4h<1`9#i}!?+2Xd_=0YyEBv;qVPWv>U?}Qr#!JBDzVmH&*bF$FL zaXBMbXvUX|*dH79vl^p) z;|-#{on=gyKOEpD&B>u&1WA_lE5X1;_}?XCBvmNsGn5bdP|}cAO#HIvK$=m@D#L$g zhAB2dS%xV9tQaUf!9cOrID|UH#+JR~+c_<2+eyNxgi$ZsaFNAmC5g;R5|$Rn-+eI@ zJRrKdOxm6489uVg*13HF)-!MhlP>n-VI&551}nI3Xnqqtc;n}4vY+>qD}=#lA?u*@ z5PHv@zysQs+;@eS`X;n`ac@SD=5^2KQL&d*?T9*8-XZWDqxTEmo|H1qS-bg#+(0;cYDtuy5jyCr7UNVCrnse#%BydPAQNMxo$BuqfykoR_>llS8et8tG@$2>6_)5TZJrud73)klg z*S#>IQo0l=sM5MzKfecQ0qf`jHVs&{GVsy@bW!|69}WKn-P1ww`#c(9n3si5P+P(Q z^aw$I1c`L;$NeBE+x91JjF67*miezR#AEipQi*Z+lhG*5H@Yf zFF4{e#2qM$=H|*l%_%VVgQ|3Ft4ynTV@ejajVaq!y@kyRj>g{{P~~a^g??KOt#w|l z&0283gEbPRPC|c4LwcKQuh-=OV|SPQq3BtaFqZSFaML~^HF&HZJtYjH@mKcZR3>W zD{M>tyOw-3&iO4-=sA@Pz{F77pA6d{7l+<Lp;UmvVsS#}bHcA<5u>k7Tcsce%vVd@77&1b`f&+OWa_73&U zy1BOyqz6U6K77ENj(C#({fU$bpax}MXC9}A?q9)?T1VAf$8=kM%vsB(4= z8$rWR+IA$_cvV&5#Dl(YiPc|{Sl#-EBg8)?(|^+x4L$H@8#_jQ16K6-Odv$$2pjM5 ztMcy?*AR8cgoM+899K@4q@`X3(72f%O_ChAPKxm~Gix<7Gdm;1!^HJso59ieb03io zNhD9iPx1}J+fnjCN29*6F0&2qG=|X^?)vE(!P9B%DY zjoF+GWJa7>J7DHL;rXcj^{U5e0i}mR1I>l=YtAxhOiBrZM@?n1gDt37mpuKs=?A$S z*FO-Z0E9Pr!~THz)5ON>9jrMaIhTlvRL=H*yr0Vo<@b(TLEh~#eUML*+*{n)_QmILz|a*Mi`Ip! z$iP4N(IveKnaE7Y0X&8<6xAqB<&-*S$;*$(xf@&$XlAu8+E|jpU~qV-t3MX z6KF}mYXfx%e)&5SCyg`PWQ1u^3&Z27Uc5x;S^KX`?&+uKgk{s%r~b4C7AW5XlZr~I$Wg7j(pED1_;~y{!y|h*B7(thZq-cFFgnu-ncC923^W}^C^vV=D2*R)V ziK-k+;}K-A=i6?xE;(f*Yn3_QlnJ<2Qrw0GQdot>DY*hsqvoHa|0U(da(I9r2;dBy z*AKk7VsSoPgiF+iJG}t2*fas#i>Bb=^uoOZ`9NohX^XTTW_*U-kUfDfo{ycK%w7J; zN6hDI75yGjorDpWT`kp@BPTj$n>=iY|IBOS0@VxHd?LG*ZMHc;=c{5PU$l!)e;db5 z0FV2dReZ}wnx(Q?QZr3@TW%>EI~52#eZq`IhiA3pp|JVuS`bmWmq8FUVmp14RjF4-L!pUQ7Q?HWjxHLH%2HG%) z=R$%km6(+k%Zirdq8Ayb(14-L8K#9#mCF$vb)9m+wyqKxsV5V>4Cu#j?akhQr$9yF z(jV;3x@A@DgJF>^PMM<4M3$TU3Ym&7)PfdMd?+r65w=Wa5iW!1IBKOKUPhj8BWUr@ z+c=qLwvX*jeQ06EnuBEzri>@o2|Q&U0j1@EgsZt>=&@RMU5_UBMPzD%97i!jWHs}n z2%Bn7cR(*-`leExYuE7wX0}gNuSfi>@RdHV{WUtgPtPV%$&M|OO%Vrl2R0MLOqqDc zzrC$Xa;fY=EpK%co36!)D_(i5a}Pe)9*p!G&Gz6)1eq8>Av^65!MiEwc`TeozTQV4 z2jeGPhZWGvW+496y2ZLHkIS(t&37{W>=GStOQa#5DMyb%&5-@7sVULYbSR7p(#9|M z@P7aMKNyPmzcua8p|O%18UO&GApii;|GlPla+t zo!)Z)wh;EoekpZ40e+P`5XjvU;anCT0w^b3os_XR!HEmYjrzKRjO1-PIHvYJ|RHU$W6xm%<=)y>@5_Ts=*!#X?+`!*! zHyE`a91N%%Llc>d{#tgLcmO0fKtotC)TumS9M^x6QnEzAEKKKRepdfNjSZ(?QLPP40M}&T@5ncziC@oY*UZU_^pr*83PDFb2t}GqbQLq2ms_`*`YJ@`STdk0>(?eGdm8~7}^p7^0gc3yb~Ukx@M?a;qQ<4cAoUGIdyi^ zV*oIKL9l}vyURyXt9|IsfXEz1ZZjwV!q9>;Og57l)J$m+D{OTq!fe}*oCpk2-d{FoOsuy+Up92?jtY*D_HhY$OOy zmQ$+G@1y{yMLgF}buK~jwAtdi=KJ*weWI|izU%&VG-e-d*8W&L*ihT0L#VTw^QT>o z@Lo$8Y6b`NKct|E^cE-^_M7o=F?fpCc*&}WksFr1ZJo8j_^XT7eZV}pk zuZME#UiVKEOJqNmI3pGt9}PT>d3cyIzK(X=TCGva3QF7}Dr(h@J2slOvL=7Qmh*QW zgTNMg{zMyBZu#|uHG$0U6l=c?80-a%RanpMxLVVJ1wJ-;NqSmjBYZfd z6$tQj0KslXnZ?$8ySQDJNqz3A=4*jtI+iW+ugHmCIHHJD-fd(7LldL(XS4=eRWbGe zX`$6I@)a}m>x1TxZ~?1Hp|RV2`v%0+~a13Hn-Eheg7(&?@N@ zrJmXBS3kcPe`5s81lFE=PW_7wW0tN<2x|~M6xz#TRgm8-()KCpuGdPb03(RoJT`zxP1=a(0OM+fju=jaTiRm@D#V z+Z>Qa-|`UJ4NVJfAe zav!zB^{sqMuj$B=OOQSo0>XWg=isE5|9QmBH~Wsj7W3}7_M}FCzk_lD*jo{7;4~$p zQq(_QfM?mwtK6O@S?wne_0DJq07m)?V(`4yQhA`cTsYY6I7L5i}4`&e)UXWqK$upC-X zA+?X#Vqk2EmDU|*Bx=U5%-5tpvB4S>KJ&Y4jgyMDFuQ@Da7h3|Ifcahy}>3;+`N^h zA=Q?h7RD?^^tZAda=AsjMnLDx|1O_z^Hr>hp7rnBot^PzU#77S@59z)!3Q?z>*u65 z5SX4Sq%Xo~eqo(DQmjd5#1M5M>qG@&wm60ezv^{nF#nC7FU;4ykPwj3{5OQav}UMN zGnkg~0u6xF`r27YNIrWU&4x_KuRh#$4dt6(c?t4Zc1>KSm|-TA!-$;+tD(4pU5E)) zce&y16{k5y97UmWd*wJNl7wV&s=a2VBnO(_8E<%@v{VaX^87$p#Bnfhnf4D5fi2zN z#7^fK#?4A&)=xOzmcWnXRt+dk2n8!m6W|O*%pzIHx8z80%d%{@Gt|$|PFw^TeH4xq zVew+AMOve9BZBj*Jx@m&r~4@h#KTy6Nl?(tl##9o{EzM+1mt3C9Kha^Qr}^~g10d~ zW`-wCVQ7}u)O=a5&aiQC|8wSq2H0XiPsyo8oMrc7p%?Nz`I{iWNr*L}H*#ZtEPaku zu-Ks5(YVou`y8zdpAOK4tVb;Y{JNcdBt0cZdZM0|I!o!pvaS|yl9!RTO8Cb=I>&-l zCS?dl)-A}jZ*n@Pll>LQI&0+f+fP1_H%k|*6&x(Pzi2FKEdC}eYRuuVoV6Y)y}BxE z(T{erM=EL$R`c$nzRkLKDhs~dhgZ%{%uNT?vugQ2l#m}{SG>cI3D+Dnl7NBVxl2%Xti|Y6U-(S_yHAezoGMw76V_Oj0bLCGAsMibyyQ`Lcgj zpmaluVD%IG>4%eo(=Bc2W12LG5=v5s>< z0?zYgiI5H+a}2cGs!(a;P5`cIB$2XOB|W6Nn?;@)Hb;0IcA>xne6*WYhb(l0=Bb42 z-3q`fd7u1JouIAcUET3;lv%muj3~epUIByUv*2}m0>_1fE_1A2G+9)1tcW~v8sHZv zVGS>4-Mqz7PWzmPJOHGawpMEQ>Tr;D$C_V3Kl@2we-xe$2pB^t58wblsmmy?c8%Xd zmhf$x#Zh2g!cscY6A4q;hFJ9Se4jTN%2?nz_BQ zdoEJ>6wi7@*!5Cq!o-~==g*0z5?M{o?gkOYXXg^9XbKB(G8ucU&b_PvN)wwtIOpHD zUViO^%mJiUF*T*i+&lyvtW9yKJ+?G`oA+1N2)EqVa5Q&*;~E>*V{q~lAeEsI=n55-4u@@t4Me(=|-dmoMKsOyC0)+p=* z<6#*Us7d4P-y&7{BU$S1yG+?@DjyX=qEp2zUX^T*A-LfI;!SmwebLgM4)7LT30dsz ziIUHP>(ZiYnQlslb(#z-51FO55JO!P6^B-Z4-ncr5p@2!?;k3Ty_B9OU_v<3L`t{; z(`PZ7Q6w%lC_(Svbsq`v9?mjY>`Wp->r#je7?$GxEK}@UoBf8?!b>s}E`!7!1j{69 zZ`~Z7t`b1$8EMf>+m&I|oflgFpt`#)lZq%I&OZ>45FXuoc`9Uod7w==x24Z2?#>7y zIp!8i0KaO_h~8P`yIS{sxHfw=`QRh3xK;_dSgo^zHB}~{29oWiWQ?FDL)oQJLFba8~;TQwS zS`33Z@pl8A$DS4)Xc4{(@aI>fjVnfW$x>MeVi(}kr8GL-@=?%Mrz7Sgt|2=gQA7Em z4ogy(YApjym%NgJXQGfnU8N1yWfG1%ON&bYnw3lisw}V-2^ODO$DcOeZ^-b9OzF0^lfivC?P0p=kWW`pI^00f>CuNp_1(&aY8|jDgbuF(DPg?f7J-@uNi4efJZp%5`?KBeSxaq7D4?yFGAPOYeSuCLAI_J z7}S}qJ-4vw#sVVp~ z*zo-e*U%7c9c%zIrM509^Fpb%{g=wXi@S$puimSmxhU0bdtV&K%;ZA-qmy6OY)gZ==@| zZaB;n%akFxtsS{TrJ|iu>-iPJD|lPGWoA)#^Azu5m87Yb%bt~RY7*nc2FjlcUobng z!fGM!)Bn8#>v9gpfm* zq31k%Ispe=7>7;||32uUjxHFI`}?zAXGUS3{Pt$ZR2gRHtcVHIWOZ~SOhg=bkT}`0 z)thLn)$;3B3EntqUYos&-Uj-&X=6(7jHh|ITvH7}(Z)_}bQtv%In|TZh8uOOVLW$m z`D=kwo-9)3ATFtqccBim4W1eCwAP*I%Q`t-7|UF2Gy{W+LN|LJSxwY=n!85c0*fb} zsyMu`^9udKYnh(C8I$frtmUJ=M*Jp!Zstw+2ad@QIE94(nKV7<5!z}ZG}A29Qr{1( zp&coBpGoF8+%chznce=)RT}no37=dV|J5A`TN(Jrk3!2$#jxWFdj7(mMsn#wD0 z>yMaCd+J1!Pu8zvR$ zcav5csB@>>NW8WB$5y4tX&;~}Jd15(Uu#jnQUHIL!Rr|60_Idg0LMLoWARP6X|7sn zTy0AEemPhaNlYEd$_#^on=3H*#r{4-k(z29H^vWCa7^EyKjGaVTejf9&6b@rUqtul zVKP&9xR_e6c^>>%JdX4(_sM+P78dQ^fo*!_-?3f-gyNT6ZXsROO?hH|iN8O$9wP>7 zTYfN_ECq|4Sa3QlB{T?nCAs71-2Z{?^f8qiOZSmUA5sHZH*&^u?C9n70pr}br;7c8?^C7Gv12<~^ zLl4Q0_qw-B1%$u(2SxtKRd97Lle&n#WsdXi_fE&me!(tEF(BiI7e4l<7Vl2k2#i}% zZ!Sm768x~t+!PBHUu-4Y7DHn7{U%_^f{8=ZF-jmOfauf`e`9}3Bh0NR6k8FR#%y`ma zXLoN3Hz3Ub+EF{2F~$R#3dZZTQ3tJ}BCe_5T8|rjtx9g}xe{`%YHqm2nVnpz_A*&> zk+r4K1GBI64_>8IWz-t;c#fI0RGxsx*THWXZntWl{sirwa*NWlyW9{mFSO2Me+KVW z(vFgR8IsC7j~M@5rfBYxs>WP4nTL|>%)vfCi2!%_TNuI>H9u;bo4)d~8FxQ$=r8yu zAE=qD67L*PgB7L-p=PmSPJj?gC!T2X%GMe1oZ{@t3!$nl;#WFJeps0sUod<$kB=h9 zcDM+A=O)U_fa~2G@LnXCGpuRI)WzaYbr+xta3qe?3fGqM=N#Vqk?z?g`XAXAvWIcA zNj#gpbUm?^t)Z7PIFofu5_orI_h~HieDLK3``WDiwg}aYgRVqgiVFLX((Eds<@V=I z{2KP+pT>UyjF-VyUx>Ep2K&*C4gxaz_uSEoZRoqo_YCk7nD7+sQ0(4h9)7I#`rTm2 z4^AhI!AIsvgo(*fb%y_^uycUUW9uG%tf#Tn*lcXuXlxse?Z&o^CTWbuO`68GZ5s{0 zr}zKf_oDZ{-&yO)%&ax%H+znD=A3=@wg}evv7zY{P>04x0m=c!be>m(MMSw-H9RL0 za#+{ZP~tRf2ZPC<`gwxdT-p*8FC=3qS2%Kv5wMCseCGkcRp%N}c`rletBHHE+-yB# zXLh(EGY+~gZu0}e!N6>+Sh8&Rvs|x$on8aNCsZ+j$iIJVX)=b@njRNIEwl+{hm^@ej7W~3ygw^g#MszO4t^> z;V>jwafzlZ?Ir%Il~z-P!nj*OBU&+FT;- z0^$pg`RTvP1lVIdyhSl*&exS12rnLD9J3HmwQwMSI*(;&!+TL6L=%OzgiDPKL_%f` zt}pzd0j`BDX$r~jg95V5H6)n249*vq%PxERp={hBb36A3+we#1Fh3L$IFap}&D`EM zv$yc{hh)4OWrjis<<&#_~P ziC7TygY!K>Xog5jf{vi=!Pk+!Vutktw8*7Re}FHx+ZS1jdS8=?IVJ_~n^1Wu4nI>3 z!BJrad75y2uc2SYU15XaiLp6aJjV5&Z2u@3c>VdJ!bVrOd3zA&8h(lB;S*v3$sAiN z>Rf<7_zLJSc;_ec`X8;q+@hW=Tp^l?|%a_PJz!d(52WEAyTyM)sdi#LDmjO4! z7`i?}O5HUl5AYQ{9B*5oc{L5{)*@E(_vT6H!1V94BmLEiLE%k0;BGUm;DHQK-)?1> z_M2@4mD}KDz?V01l>it8pje;@&zG|} z$fxo+9pIO;BXy>5O7(AX$C1v;Opg(o5K7SL&DH^ zzf{6(hrff}nS%Az{ce>+{@Y^4RqsY7-|k`z{SzH_1(@Zku&%hNkt3YU{PbA6+uMl* zA9&IL1G=I*7{YoYNKt53n9!~`Q>bdgRDK=z1;hOctUGbLRhW^=*(u6v*q~Qh5(Fk~ zH44yhbEkLZ3o z2buz)o`v!yRx)$QO^D_M<$w+r!ip^rlDkv2k?fQCGAo3Gvz@0xjO~GJl zi^uV3gm!=dZrdmWcvNQ4*kuYN(ZXovkLg&10H~R};K;rE6lpM+knY)2ZAT_(=q2lq z!dTl8Y#Evgp9!TLHr|BycdZ~9Cd`Bo$HV&7RbWgD9kb~>FZ67n(|FM%KwkuPU$-7i0$c{FR$ws-4kFjNir ziDnyQ(ZC1G2IxQ+ja8DQ%Ejot8xSwMx9M#u`zGKMMMJfZArK_ce!viF$n)UTQ$}0{ z7ia8UuW%*1xMwKYri=Qeo)8S=`kNH_2{s&5!r0MJ_SQbA&e>*6x{8>PJG!o&K(hBk=WY(B+G?= zi3fBF45Oo?2w?tk zF4m~f(qhDTdxm#K(2IS?O1|*s)vHe@0=9?Oe+WJ69niMx7UjE?GEESgat$_1W2VYaJA=z9b{zguj_6eJFe{xnSm zn~I=z(zj@$2FVJN)HWhXcyV^7HcDBvY`CK?tCkdJtL?nrkEcf(l6w8Mngz5rwbbN% z7rx(i(hLMeX-<$?>L;_qM_T$c<>U$cMsnq9kC{PNH>JMkD#u!1BBa9l_B|1Bu9LoZ z!xoDq-?vKN-IqaEAE4GSFjDEK4H{%ArsDLm&X@1fjmk)zY~p9bW=JX;f}M6U2q3rZ zVGg9L$2za6g9Bt~uqxo=t9*lRtMvnaeT|QGygcj4)ESz~A003Y$|503g5eb%Kj@ZZ zOEa2Y2xkX*hJI|NAVsTt)sWzzk{EbL6gs=bM4Kt`0TgrsoYM~t$3DM@%yV6^OV5pJ zZ9vca9?pB;i5#Y$@x(JtK23qgXaBe%Q94$$vyGVWD@B$vl0aJ)I-)O$)Si_CrS6BU zFZX*(3u0&M(c0M_^X}#eqRoax*2o-4C8$z_P9x=K1}ilNL#|R^;q<=}P7Ogj93%~{ z(-|dP4w_O{jn(F;Uxx{}-(z%m)HB|;;3w&3L`XR*Qs750{i-IV*G!A)?5-i6yV}Pn zKa~h2chBAH=HMi<93;?IRISGo5RwuCDeInLJCH(x4HCE%PnZeH#yzY6v(Om(ouK!!)rwSS zcQ??QDBStTB8=o*u?-=W%<72k8UH zmWFuiE!A4B)^$pPjrVz$WV$Oo?9q;*?S%On+v|Ed)Hqx_6yV`0@B-X>1%%+n1zDQD|?m($F@NCE;$A-N)!q0>| zbXH0sOv^HVY%mwa8>heaH$q#16Uu9&+IXmDH*)DgM$;-*63%3wpy5h(xMCd_IbuZ$ zSKZKeo-bvSlxlB{U~xY$MozkJPuQ#Y^ezfVNHx%=DSbQ;%HV0@O}acDiCuHXcW)FZ z;{?J9A_8~MA7QUcEB48#H0wMK0CnKL=}mH6?GO!^L5p>@^riN4-ycamQH&eAq zhK>`Q^js<0bqQJXjkv2-*+yk?!)#{9ixwF)14(MJTMjPhCKpG= zWk$Jyg3ec+Jf@CV@tb*+F5xdnk~zaQDYfouNAQbR0rzbOv!de}Tc+3~j#4MK5nFZc z^J7?G6Ly5BK^<;q!;6=#vr~PpqhqKpptLcs=4l1oZNgvj%6OqjNxwe`?gvmX+H*ZZ z_3L{8EYEKtOAX+Lv^rSVM zY;cI<2b)~taYh7}ui$e`q&;evrU~`9%LS+YT=)FQF`551mMo`GrCqbX(W(lnJIIom zC^_NTT0#{-R|-Y8Pg~$I8m$y!f~(ImOUW!_+NF1q*r`@_zYsV)`(SG}r(?&BE+tG= zarcbm_EQqk(-kF6_88<(3Yw7$sW-eY(+;JFP@&BdhUwlG@dQYM)$%jba0`N|=|UL4 zdoNt`P5RKQ3*qBEYbtw&;uBkF`#lysB_4W8*mV{X*(NjlHrUsfNs$Dv7!C(Drr5)s za9RaIS5mY1s(9%yUSVIQOWq#aR(t9Vu*iN=3NI_Ju}Q^1QAr$(9CMg;mLNFa0xR-b z%JflBsu%U4xUt#H(3;o^_>?%`h~0-sO)rE4ss5l+Jea0wGWadP%FF(YUdCt~Gs%W| ziyxtlDymVUZi2iPyxr=}t+G?X51#xL=WJo)PpGGP;4%pw??%k;DkE3rU3HGSbsrvB zhLp#~TxmN)GWuO9Dy^b!uMm3E$XB*&{Le_Qk1#hFW<#H3WeTu|7P5+iJ{O(oL1tMm z#q%c7=U+Cku@WNb(aGSmYI#MGX8|` zM9%ZQfL<=S%QAhLEeArN3Yr1Rgc{$g)yJSUU(i1$27Ws5AQw7D`u|M~ z*g64yN|`wPd14?-?aZz~4C(n;;s=4)bC6@^)sd!(D{m=QXdOBzroF?&0UEOU(o(lR zs2n}ljqh0oWMA}Fqa_KAu8Zqxn>%xBWQybiYnmjrF|+!oH0oj#O?s%C0%}tN1jOhV z1jPMNo}|J2WaBp^C9k^j-d-1d${vgKDe_6_Be+bHd|6qUZOjK!-m=DW1yX$H-JuX| z^E&~bH~ikXjU<#fKt>cEOa((=YlOi@KHw}4I!=!N=E@^*7;4N%IIXm$bo#kW(L_)( zZUQbyMbNpqOsUlDR3+}cJPTd9sLf=7zwc+KT%#TVd=M?wxFN#7b;pjJUX`EoUK457B`kc+(B1BV;^}TSzCro5g z{P&s+M3T?+XJdrlWqt=G_o*gUf9V9ASX|f*JhLFIQ05boeqghN>x-hP|HQ!W{l1#io|*zR-8R$5ub#h+b7J zfaj(LQ53}nN2vDZIUe#tHd&>1iEP37M%uE~Tntr9J&zs5=6bKIFv5mtlQ5=sMc!WH zDAH#Vp}FW0ggVbnEFw~K4{}kXISd|q{^rmjIJ*%9b_d@aeN>Ern##|}LM&{D=KbDq zM6$P}PF1N~q+#UUlo%JJE*5AI(X+e`-Bt#z6VR6d5&-rvZB$*u@}8czodTTJU2Ys< zL9+_?HMqeEA85h8#?-F~5ZO2ApPJWz>xIDA1e_=PYanJtVBGIc_GtD$Snkj!lLQ2~ zv^6Ao3yr(c=w7bGQHWLAwYK3f4n~D8pJD)Ad1Qzjz4Qj0g(2ijLAjjRm*>i6X`^5o zbIt`ExMnD##F@L-D^&;Gnxq7bT-@IXs(R_~JK0alkoLdaON+b+un+>xuEV zSL|G#42-pTc)8iTL?VmPmu1=v|4Q7;koy5 z8xItB*nSRQQ{k-do{=y8PJ=$|cpSXUEBh(r@enjXab)f~J*^@tb0h1-V-=t2G*9M$ zB+<=!F0zimm*oH=rz5(04ziIQYs)=ADN!W`_Vy6Hs?d7%(Gk~>eSS>OoIGQ1VbLvk zJ^=DdRLTngT)1`r#9x-+XfM?TW2%cSNT(8OF9OPt3SNb!P~YnkRPQU}Bw)x{XS{Kr=K(pQ0c{;?DA}LsQyImhP6pI`4N+70C>YQV64b7eFE4-2Se*Y3=bwAK> z%W1#fhq<9&{$#FTFx{OyQ@VGltYh>?%R@_F`%FpkeykvE`jP3tenCMol?TDXtQ4-j zXQBtm`#$ZWn>1nO;8mUi{@tcIRIPPpC|Xtb4rn{JPbR3WDnC?kv?IC;RW0tkxLCjB zKsT~>MEKJeWHIO%f;)D3@&@cWMLoMkz=sw^+2HqO-FX(FuaMw{iWZ7 zw>-WNiPco#jG}HPZFRDA;b3@cuGCZGMfRyav9~38oLSW&`MpM>>b_K;B#|qCx&yz} z^~tBclXN+kfS|xeH?d```+^TQvp`e^^+mR8WE*8gcY@G+PO_4T6cPS3DZPOe;jl^V zLYO$~%X1#}p&0p-l}U(m>nl^~9-9w>b(sz(CQ3!s_pa@knjm&5;((^?UA9HD2l}hQ5%;Q4^{60d7(x5)yd7nA6k8^yoVnQ`zr`7^{ zbi12@Zi4-Gq(7iB2=K&b*m8>dxUh)Px_Lju5Z&=`3Ajba?IDtfG@A|MKW@)2W^W*{ z&Nro4THd{IP+_Dwt~t}~c#7fUj;R9AuAa(VTMtp*1x29Hs_P0Hq3ukA__Bau3LzS! zLdr-pm*seY-%mN)=V?+e{ki$d7{+tFH!zQBuh&LF{cBYM6M|4DhxOIXV`v(Zb9%{;UOlSeg z_>)a1Sdn7INK{B!&8tlnXpI09fUJC~D5EV6oPIHkpBx0%a2@XPB$G@X80lI_hk7*x zA+iF9;ihx})H^>WnE=*Bw{B`Q2K=P!U3bgSC*=(_;GF zCXaA-L1ci^GxbivcyOdc$JUO*jTU<8+d{AeoYX)%NsNSAD;_JHEhc^s4l$R8a7^ek zH{sM&q&|^^8G(#S&2s0vqBt{E3oIR4|6$1Geg?ln#Qg&%i{6nOlb~evU?DO~R!rCx zxVGX3Q?a!$&E1?So4aAZ-aRaQ9J|W&(!Y#|sXTYLU_97%6%hvw0^04wnC)J&!dRw)8CjL=?sH2eTp{1C(wKQ^(st^VGpk&u~VhXYMUcEYdia-+?g7t+9-CU^V$v z3=GzeU`woD)u{IVZ+<|)(LxYWoJ@NazQclLVL#Q@cye9Jt<-E8o7Y1>%@;uCGLwQ#@_e%Ic67qJ zt$0>qgU~v!d+PWuv~@j(v^huvoUZmIx!=u5@$FnKVE7t3mqE*ro+fWf@>ss*Adt*p z^OpQV%zilHmI;xqoCEDv6r-evq*vBm9pZp#;un^Kvd z(ySog^gdWK>XWKKv_r(Ca$URCvP^Ule5ybtyU;FOGN|DQR>ssRtTHCOA*ypbn%q8B zsWt08NxWJ}rvycO7EQyi*& zJ~6Ae$i`#RO^jUhn%5F9eQ%9FgvnL>(i_oaCa%w);;u_r0>Y*hgGlp%LmU*ANSP}VcXD;ReZ zTIEFzy_)WSB8lysN7V1^YU%bib?#H{;t6z17~1KwO-i!pGOhX$c8#&%?ky722_iDc zDfJP$i5LJe?uZEJcq30Ib@;iVh2Kt&byf_^GGF_X3F4cj%AI^f{`{?{%>0ii%6mcE zR47%5uV1dUU~pkg352k2$7Y=uv?-cdKtG9!$tu_+5Z-L5hlrR*+oUGH<*3N3!?UzTkP$E&KW|5Y@P^sBliR2&DAQsERI z`NdE)&jb#@r7qEuBh*23X=J1ZDoNBTQ5UcRA&J*8?UK-Sc=HxjUnR72h0q_DPlEID zaV?FqCz}qfinkfu+3#oOEYt%#2|wiXU?S`=M3yVly7%LMpF5OWo%3dHj_{V^=UHL+y-d zf8{uh{JLtD=x1!hY-=yZ^9Gj^_<*KYHXNLTwSz<2_>jR2f4su36(NhwgAjGp|4G{+FIbA3&{&93lu`Go}0BZsc zIfjdYbxhsU^QctLwCGLIE! z8;>80<-fyERj_prZaL6)29oXxI?DJSJm{>-XWj5>SwqhG@lJEupK3U>MRCQw_Nwup^DJb?DdapOS ziupbDi#a84vVg=0WrwES(H2a#)RmBLASKjYP9Hqy2tcJ*%}<{$qza_7+k-5w9&ycn!71h(g36YHs6b73cIn3T z2)lU8{khhl(k;>&QpNHi05G>6axr68!x2@ePx08OJ{kqwu%aVWuYO- z4?5X=Zx{zL+F&r%@g9a+y*C&2EriVIZm)10V)jg&k`|MuAHh_rK8IUR(GC^gbAf#8 zO(7)y)XDiWP{k<~uP=PNCz0UOMJPw&H4{`v`{s+fP+csA@}AP^8myzl4IG1DNVAnguW`NgFdQ z*dVA$N=mO|k1pzgd9{Yw5x0Ua|B8?ZL5BTyF|={KJ-5f?{KP zeFH&T@NhRpq*pVn(P_iS%bwEb@C>7ql1+5^Si;f0N09JLO2;z;_YEbYcy($Bk&HY> zN)XBrxJ95P21A_{zMjDlg=JSbkb%F|SaGm6#Lg&7#!R)nYHNe33SL)F&AT`A4dN1u**8E;LN}p5?z)u6 zL{bWdlhW}StVMC&snPLjCwzA9*Rv?m0;RjKk~+P$Z7oyE#lCDA4L`-TSgd7}s92uu z5X`7}UivoaK5IH>46-u~tHz@*gzq(zhDyL!Igs&~%VzVXB$fKfyl{_xqQ5W4n$` zCWV_pf6$b@tAG?enJ8wE8aP-C1vyApiK?279FaiDO_;z#7d}Ldj;6*wJP!8)`j|ZO z!sk1LW1rA#y@#)?LvZFX|EzOP*y1AYg@4GAdr`SPVuv0El7rX`oh&wgDsanm*UCdF z7f3v$b$79rKf2am{&>rpf~)KDIT##fUp&<41@=cQ3dOMA*RIOM#gj|ofwVAfN7*fZ zEpNSN-Rzl_V?FfBOa{0b(6gZy9Rv+aOM`AhNoN zV8CkWLYJkGKUeA=Pm?NvIX;8$TEjfmS^4qO$#dU@>zXbOmTZK$QOOtLuPq6L2X+|> zG{k8&`)P6GZgIjDpNHAKB8ex>?PdiSRsqx>#M#rDlU_zg~MvV7TIhx`Aq#nsH7-#CebQb=2=s`z1ml9Ka zvvpNecHkKXn5G6?2bz1$+XYh0_DtaEi7t2N&3!e z&a7NFMW9qc5z<#HaSU1WhYQ2d(Ewo=`xhuAj0z=)Sk~Rao9z+;$469ShDQwF6NT9O zYU0K-G_dB&=|agxXz6ne?dH5(H0~>(Zp8<9qhnkvf9h!!6o)OE{TlY)!619Wl!{`C z@FNk7iYtU(-^PaO9d_Ze$TdQu!0NYrVsZ3!MhN)P=2h2O+|HC%1MdNoLJE_Bi90s-W1bJ1hBlKA)=WYq5@J#jCUAk`}smuJpo}?AaQM_wA|-6v)yKkyIEi zuu_oUy*X6$sf8i(Sm8}FG@-0-d>p|!J(c6+RBWpjag<1gx9M38$ct*1->(%DVxH8? z1kn<#_vSr@h13hOtrSza=c}NPz=w~}2ZnM{j z=vgOOWPL_1@r^Bv6ivWqU?vIBC9#R&A1&CpbNriSCQ^Lt@pjqhPOU-l<3Y;7!728x z&-p?Qql9|pSiWRp

4n!4na`_w(WT$&uPQMvG!6%BX-(C|@SaWpc~!{wzUX2*D%ugP6yK(`ZLfkEfJxVePoAOnl0*QpH}W;_2&q3LYQkC#1_@D z%h=(%454a6)KD7L>ajdCt`li5R!!BpOWTh^d&zSY?t7Hue*PP7s-E+#cvx?;{7=#a zcAaUztgwF0UWgkqzfojLRWn@!znk25VW(}ZdMp+u|D3kOq^MRf!&=11(rCnKx@1Ky zb0fx6JhF^BI%Y3;cP9sR*RUoI$?dT|NRON*>j=1y z5gdCo4=fq`w4nu@X759t?-rMMvGrfX6xj88X|LyvIx?IB!etBmj_h2gctkdWcH)C@ z{JsooT=h^!gLOuZayB9UD0T(8Fce$J>fZfnZ`tAF?593%Pym@Ugq4D5Q*ua8Wspc8 zkA!+n95WHp^Z+e%3|c(qsm;Iso)s*Jd{*wL(&i4z70W|snc*B+=ZSEyUhezez5#xP zIYaH6ng%h{=bkRu-sBpsXt(s$B?Ze$wISE$ zeXDkNsyH>BiTaQX@0K8f*59>{d;ECfs|F#6^h&+#u1kl!2P(MZqmWAXOM_W z)h4FR6bse-545>mX!Rpmf>sN%6!V!qV4<{AIPgd^(4ZY%7}7)bBdw0ZUapllA@0PK zi1dq$uuW@LleYHux8HUr6RtC66LpairX?9v5GIjF#fj}B@RNW~;G`B+$Jok0 zAE$d&u&yKdV0DM3e?`;9Ea+Q{LB|U3>NU-d=d_e?ccKM1s&ckn+Ru+lU9b_ycB8M~ zLO(h53S*u?H7TDLO<`&vho5eUeh4?=Z1#y#wZM%M+&YK%a6;~b=TuGYblxbZ;n%fJ zD?vZBF;94x>;#oOZX)Z%DTpu)VPBxCbwg_oAP9CiHkSQp)C{8+(a+0+hFx|7tt`cV zPmO}~qPMn2jjc{(8$_w6`{1>BwP%*3-Ze_t6IC41a}TlC-kSZ+t?JupkJlpfq;HCw zVFG>#%q3V>a0C0YJV$nH{zXPH)bD5ivpmQ+*QRoEdTG8IaY%WZw^N&1BFd&FqX3Nd08EWkUJ5ckNw4qmFuB7huf^Ys z^3alp<1$qM;-B_3EeWjyh zcA1Y*0m7z6(k$qac0KHUWN)FN*-sdh)mceQQt|@L(K5l zp$kmX?FAuNw_d8i$S7w>JYf*&iHTO`Jk@BS7w` zT5#oOK;jr?kEtA39R_bJ13cU)5B5ZC+*6Y zY@R#0eVVvVVPNb#cDO}0!m#*(8b4eFfSi6W=v@a5$m^i0NzPE0R;i%MlkTaOd;cNU zMw3~$-k&8}>LUxBe@c3M zS`5<$-Okq)ie&-43!<@FjdAK0y0G$>JL*kj@&FIS9g&74;-$)?VNa)Myw5QVIl20zUGjNJj8nWu1aR^$@$o*0_P;U!FLi|3Sdk3!Gqp}j1 zop*R8)$wDPJqbNJ$V=^%oI_e2*XTdz<*Hb~to*1+kB|f4WvaJMq<(WHh||nT=Hspi znyM6`owbT4qs2@CZik%rD*c*N=8UPz!iUTW&uaEHf9zwRZ$rfkzIUd5p$AQTBR?jZ zjgkG{3m*%fV}g+OTL4arT>H`dYD?}Fi%~)()2GG{H=4vB(_R(Wl*<$~@h_{3IBZqN ztXUM|YFq%Sm<@-g?@9pEOxtmQo69gQHVAJMD6{%E^(WrFs3qfHAP9@lOu6 zxfdsV+D;oZjY{Uk3~SrHNOC%WaZ6??wVUawO4m<2bUqVH=$NK>FGP)Uh<8yle)4X3 zj~X~TY3!@`^kx3CdzS0VOs)9t-DIsDbdW7Cp*^kNn|3?x-;BA;iX;_${8Tx?)aqGO zkKvw8Zjul^RTOz!wD2OkSwJvo(6_JNh^2}dF2zoyaK7AdoH13lXjsO2&C~i-Ev+$U z`O&M}w2O!FVGL_B>V7w00#m*6OUgv~TaL2Kx89x0Lx-aU5L)Y8rmp%okHvK<-mygq zksqvQEs3C_y#)zE&op~|@Ytij;cGfoj514wW(^f&Y7@%)$C6*5MBW?%9YIJsUYO|C zKWnd{h^@VYFK20~Rh-#oMsbUbSImOmSM34}+Rn^uc+qFXEMAtUW^ zY}pAqoU4sF1Wam1Rd^{=2hZ}i?n|{4+khEP5#juR`(Ob3^5+kgpSEJn9htn$KwB|z zg#Z1a@(*@mNkBWXMG2&5nZhT;0v`@RDWVFwnNkaRvtxMco%v}t*@Ck0$o5X%D9i=GvDg)gsKZ|1^Tj8rBM?;> zbH#18hc`VN#6+~6_v64Cls|&VbGBLTm-UKg_I9uaM)%$1+%8{GW&9{&KlXVT$AcoZd5D;&rkK;ozD|JGJYc9 z{;pBQ;V2eo7SwOZJ)l%5QQYAo#!o=0rBz_dZUn92qJcpNyA;M`N=;|P#vU7!29qS5 z7_f&`h@4ZH7JBk*K->;OV6tnZF&W{}ck)`}Y9 z*-Z}`#KTXVqIUsf8@I+9mcbZ!k0td&rc=}Tc4G#|K1G~8c$_STC+iFamJUZt@cT)a z6(mbGgb}}S;gF-7c`L?OLpk24Wnoi8f;3D;j#_QkD#O=BBY*l0$!2h<%Gpj6XC}0x zbH4?}FJ0EFPEklGEGzUMjZ7V%JNe#Cn?SO!K(QMWklP2u;T;X)*MB7Fv=Al&JR|AW{P4jUK@Qi{!DtT~ z?J2v=2^69#_h}__*b_x&$e5w67;eRVNMQ!gy&HkHUM`xKBmH+iOZ?D}gSg&U?LLa( zGZ9y7^$orr4j#lQG%D{O&GfwA-uTrkaW|120N6rw%Mdyn!hT!J=!-^zh6npjV?Us;;Or){mw-KIa=)2U-Ni*X@I zQ!LTVs#@t>sOFK^K6~46$*asOt&DBSzoLan?xZ8U9-u8%gKxJ`lt`Hnk4h$2rmDoj zU7Ku4#1k09mOskWb6*1tbZ)d=uvf%hDmZz$uDOf1-EO(bK9mX%sYa((?ltx^F-NVn zh^;?90Hi-_PR9W9e(;VT-F@gkaUy~1;tiW5US+|gbeuAOf4Z5he@X;Oc&<|W95>0BzL*CB!!ChpLPdCL`yh%U2vs&UgNKzmuubJ)L4{+R> zt@#$WC4TQjf2*@blZHEX$9HFYLxqXQwQwyzs0r-yb0#+%ld)m1T~ zedofs?4LeB3m8}bzz5CV@4dD%xGdoX;$8|@10AL;o>CuJp2Qz6&9J|Np~Zi;QPMCj zzIc5gRG$BsWNw#%p}3BQX_2ZQGSK^h{+64)1-nkm`(Bd}hbNa{eQwAYEd_x4749vj zp9Pmp%>t{ZINnIGp6l=`PMK>ae^Q}8 z1@P>@*<=OfB*jFP-_y&A{XqZ$5do^b-*fytLj3pQ=YuPOSGFcje|jbe$WKN2-U zk@hR&|D4DEx%B^D9H_q&Kz<^I{|WKu%7FQ;`gTI^6fvMdK#qadgk=8(fPfVGKmQ8& ztvrPdtgQ_VjI2a}h5K8eu|H(`Kcr!Ns*)}chszHF^0O8Fo(la{fi3fI_4^xA!a_tr zQrW`B+1kL#&fynm5r`8vCD&zYfE`fI3@{Ml--*Cuq5luue}?|HU;iJ4{8?~$>C`G( zQXn7#N}wQwf8n)8{2R~dA87_=Ts&f9*i{c;ARwQB|Ns5L0mB3}n%DK(0A(H2!NnvF`ml7r1Egv+{o-p4Ia4=`$vtP$GeV;248|;QvKZ>Z4zX z{~25ag?~Z)d};F3*hq8W@<}GJzW*v*)Z@RQgzTJcjg^6+(tjcT>^Y)oH9m{LS{Y*j z{hM&?Fra_$-v1F!_*daR+Gq0&^F=*U0Y8^+*#Ga7>GxMH^p|<}uc&`o>G|^z^s@j( zr74refvZK9y?+OH@c%pb_qgy11`dw@aqaPE@XzABRRFt=0Jd}=V3Gb@jru(m`pa4U z5Ad&BgZ>QuDRGe92j^3uHYAe$dy^;r@NZxd3mf6T2DAS&wE&EtZ&?6DW*Dg7Gvq-* z2!59pcmxi`{{Kc5cd+=i|0n=eo{$I#%q7sfxwRF@--cklxqpL6iioN>Sy=zlkoJMR z2aaRi9AGcc1rD0De-SS3>|c4d!Y0<%;s*8#4t6dU#{W`Fws~SsKs^D%0#s~Ne<6EZ z{u^25Hy!=Ea{EQ#PGD&Uq0GQn;eddA07l{btFF|(`QO-oEQ6nF?Ip7#z7>e9YW{mq zmqP;km(C>fYiDu-<>xyWGZh>G4sAWye;ln|p&%_?@_0xSeWUAv z;*B`|y}7Hf{2NmNsKia}9Bf2PObwi^og9BD%AfrR;e_ym9I)PtfE(-n+K-gv{|&5U z;s_j*{zr@d3I2P??cZy^(EmW?-@v~H;Qn(z`ltA-e^8mU{}=U-XsmxG{!^%cKZpw- zej)x-;DA2^|H+5ZAHcY(B6i+RX9?TqyS+ z;D6uR@@L#X84Ub^qpSNz+`pL*{2BbS5dJ>F_Xl|P>%W8lu>c@}P5;Ou= Jz_AMC{{iF3z lineas = new ArrayList(); + + public DibujarLineas() { + addMouseListener(new MouseAdapter() { + + public void mousePressed(MouseEvent e) { // cuando se presiona el mouse + inicioArrastre = new Point(e.getX(), e.getY()); + finArrastre = inicioArrastre; + } + + public void mouseReleased(MouseEvent e) { // cuando se deja de presionar el mouse + Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, e.getX(), e.getY()); + lineas.add(linea); + inicioArrastre = null; + finArrastre = null; + } + }); + addMouseMotionListener(new MouseMotionAdapter() { + + public void mouseDragged(MouseEvent e) { // cuando se esta arrastrando el mouse + finArrastre = new Point(e.getX(), e.getY()); + repaint(); + } + }); + } + + public void paint(Graphics g) { + Graphics2D g2 = (Graphics2D) g; + g2.setColor(Color.RED); + for (Shape linea : lineas) { // dibuja todos las elipses + g2.draw(linea); + } + if (inicioArrastre != null && finArrastre != null) { // se esta arrastrando el raton? + Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); + g2.draw(linea); + } + } + + private Line2D.Float crearLinea(int x1, int y1, int x2, int y2) { + return new Line2D.Float(x1, y1, x2, y2); + } + + public static void main(String[] a3d) { + JFrame ventana = new JFrame("Dibujar Lineas"); + ventana.setSize(400, 300); + ventana.setLocationRelativeTo(null); + ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + ventana.add(new DibujarLineas()); + ventana.setVisible(true); + ventana.repaint(); + } +} \ No newline at end of file diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java new file mode 100644 index 0000000..cbc38e0 --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -0,0 +1,164 @@ +package edu.itcr.logictec.graphicaluserinterface; + + + +import java.awt.Color; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import javax.imageio.ImageIO; +import javax.swing.ImageIcon; +import javax.swing.JComponent; +import javax.swing.JTextField; +import edu.itcr.logictec.constants.Constants; +import edu.itcr.logictec.logicgates.And; +import edu.itcr.logictec.logicgates.LogicGate; +import edu.itcr.logictec.logicgates.Nand; +import edu.itcr.logictec.logicgates.Nor; +import edu.itcr.logictec.logicgates.Not; +import edu.itcr.logictec.logicgates.Or; +import edu.itcr.logictec.logicgates.Xnor; +import edu.itcr.logictec.logicgates.Xor; + +public class DrawGate{ + private int _x; + private int _y; + private int _height; + private String _gateKind; + private JComponent panel_1; + private int i = 0; + private MyLabel[] labelList; + private MyLabel[] temp; + private Component[] components ; + + + public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ + this._x = px; + this._y = py; + this._height = ph; + this._gateKind = ptc; + this.panel_1 = pPanel_1; + components = new Component[10]; + labelList = new MyLabel[10]; + temp = new MyLabel[10]; + + } + + /** + * Paint the logic gate with its inputs and outputs. + * @throws IOException + * @author Zyoruk + */ + public void paint() throws IOException{ + BufferedImage image; + + if (_gateKind == "AND"){ + image = ImageIO.read(new File(Constants.andImage)); + + }else if (_gateKind == "NAND"){ + image = ImageIO.read(new File(Constants.nandImage)); + + }else if (_gateKind == "XOR"){ + image = ImageIO.read(new File(Constants.xorImage)); + + }else if (_gateKind == "XNOR"){ + image = ImageIO.read(new File(Constants.xnorImage)); + + }else if (_gateKind == "OR"){ + image = ImageIO.read(new File(Constants.orImage)); + + }else if (_gateKind == "NOR"){ + image = ImageIO.read(new File(Constants.norImage)); + + }else{ + image = ImageIO.read(new File(Constants.notImage)); + + + } + + MyLabel picLabel = new MyLabel(new ImageIcon(image)); + labelList[i] = picLabel; + i++; + + JTextField input1 = new JTextField(); + picLabel.add(input1); + input1.setBounds(0, 0, 20, 20); + + JTextField input2 = new JTextField(); + picLabel.add(input2); + input2.setBounds(0,50, 20, 20); + + JTextField output = new JTextField(); + picLabel.add(output); + output.setBounds(80,50, 20, 20); + + panel_1.add(picLabel); + picLabel.setBounds(_x,_y,_height,_height); + + + //Creates a temporal list of components + for(int i = 0 ; i < panel_1.getComponentCount();i++){ + components[i] = panel_1.getComponent(i); + } + + } + + + + /** + * Undo the last change made. + * @author Zyoruk + */ + public void unDo(){ + if (panel_1.getComponentCount()!=0){ + panel_1.remove(panel_1.getComponentCount() - 1); + panel_1.repaint(); + if(i != 0){ + i--; + } + } + } + + /** + * Redo the last change. + * @author Zyoruk + */ + public void reDo(){ + if (i < components.length){ + panel_1.add(components[i]); + panel_1.repaint(); + i++; + } + } + + public String getGateKind(){ + return this._gateKind; + } + + public void connect(Color color){ + for (int i = 0; i < labelList.length ; i++){ + if( temp.length == 2 ){ + Graphics g = panel_1.getGraphics(); + g.setColor(color); + g.drawLine(temp[0].getX(),temp[0].getY(),temp[1].getX(),temp[1].getY()); + }else{ + System.out.print(false); + } + } + } + + public MyLabel[] getClikedOnes(){ + return this.temp; + } + + public void setClickedOnes(){ + for (int i = 0; i < labelList.length ; i++){ + if (labelList[i].getIfClicked() == true){ + temp[i] = (labelList[i]); + } + } + } +} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java index 015e719..94c85e3 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java @@ -50,6 +50,7 @@ public void setColor(Color pcolor){ this.c = pcolor; } public void paint(Graphics g){ + g.drawLine(_x, _y, _x2, _y2); } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java b/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java new file mode 100644 index 0000000..30ca0cf --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java @@ -0,0 +1,89 @@ +package edu.itcr.logictec.graphicaluserinterface; + +import java.awt.BorderLayout; +import java.util.ArrayList; + +import javax.swing.AbstractListModel; +import javax.swing.JFrame; +import javax.swing.JList; +import javax.swing.JScrollPane; +import javax.swing.JTextField; +import javax.swing.ListModel; +import javax.swing.ScrollPaneConstants; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; + +public class FilteredJList extends JList { + private FilterField filterField; + private int DEFAULT_FIELD_WIDTH = 10; + + public FilteredJList() { + super(); + setModel (new FilterModel()); + filterField = new FilterField (DEFAULT_FIELD_WIDTH); + } + + public void setModel (ListModel m) { + if (! (m instanceof FilterModel)) + throw new IllegalArgumentException(); + super.setModel(m); + } + + public void addItem (Object o) { + ((FilterModel) getModel()).addElement(o); + } + + public JTextField getFilterField() { + return filterField; + } + + class FilterModel extends AbstractListModel { + ArrayList items; + ArrayList filterItems; + public FilterModel() { + super(); + items = new ArrayList(); + filterItems = new ArrayList(); + } + public Object getElementAt (int index) { + if (index < filterItems.size()) + return filterItems.get (index); + else + return null; + } + public int getSize() { + return filterItems.size(); + } + public void addElement (Object o) { + items.add (o); + refilter(); + + } + private void refilter() { + filterItems.clear(); + String term = getFilterField().getText(); + for (int i=0; i _indices = new ArrayList(); + + public MyListModel(ListModel source) { + if (source == null) + throw new IllegalArgumentException("Source is null"); + _source = source; + _source.addListDataListener(new ListDataListener() { + public void intervalRemoved(ListDataEvent e) { + doFilter(); + } + + public void intervalAdded(ListDataEvent e) { + doFilter(); + } + + public void contentsChanged(ListDataEvent e) { + doFilter(); + } + }); + } + + public void setFilter(Filter f) { + _filter = f; + doFilter(); + } + + private void doFilter() { + _indices.clear(); + + Filter f = _filter; + if (f != null) { + int count = _source.getSize(); + for (int i = 0; i < count; i++) { + Object element = _source.getElementAt(i); + if (f.accept(element)) { + _indices.add(i); + } + } + fireContentsChanged(this, 0, getSize() - 1); + } + } + + public int getSize() { + return (_filter != null) ? _indices.size() : _source.getSize(); + } + + public Object getElementAt(int index) { + return (_filter != null) ? _source.getElementAt(_indices.get(index)) : _source.getElementAt(index); + } +} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java new file mode 100644 index 0000000..2ec443d --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java @@ -0,0 +1,63 @@ +package edu.itcr.logictec.graphicaluserinterface; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Shape; +import java.awt.event.MouseAdapter; +import java.awt.event.MouseEvent; +import java.awt.event.MouseMotionAdapter; +import java.awt.geom.Line2D; +import java.util.ArrayList; + +import javax.swing.JPanel; + +public class MyPanel extends JPanel{ + + private Point inicioArrastre; + private Point finArrastre; + private ArrayList lineas = new ArrayList(); + + public MyPanel(){ + addMouseListener(new MouseAdapter() { + + public void mousePressed(MouseEvent e) { // cuando se presiona el mouse + inicioArrastre = new Point(e.getX(), e.getY()); + finArrastre = inicioArrastre; + } + + public void mouseReleased(MouseEvent e) { // cuando se deja de presionar el mouse + Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, e.getX(), e.getY()); + lineas.add(linea); + inicioArrastre = null; + finArrastre = null; + } + }); + addMouseMotionListener(new MouseMotionAdapter() { + + public void mouseDragged(MouseEvent e) { // cuando se esta arrastrando el mouse + finArrastre = new Point(e.getX(), e.getY()); + repaint(); + } + }); + } + + private Line2D.Float crearLinea(int x1, int y1, int x2, int y2) { + return new Line2D.Float(x1, y1, x2, y2); + } + + public void paint(Graphics g, Color color) { + Graphics2D g2 = (Graphics2D) g; + g2.setColor(color); + for (Shape linea : lineas) { // dibuja todos las elipses + g2.draw(linea); + } + if (inicioArrastre != null && finArrastre != null) { // se esta arrastrando el raton? + Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); + g2.draw(linea); + } + } + + +} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/PintaCompuerta.java b/src/edu/itcr/logictec/graphicaluserinterface/PintaCompuerta.java deleted file mode 100644 index 00520bb..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/PintaCompuerta.java +++ /dev/null @@ -1,62 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - - - -import java.awt.image.BufferedImage; -import java.io.File; -import java.io.IOException; - -import javax.imageio.ImageIO; -import javax.swing.ImageIcon; -import javax.swing.JPanel; - -import edu.itcr.logictec.constants.Constants; - -public class PintaCompuerta{ - private int _x; - private int _y; - private int _height; - private String _tipoCompuerta; - private JPanel panel_1; - public PintaCompuerta(int px,int py,int ph,String ptc,JPanel pPanel_1){ - this._x = px; - this._y = py; - this._height = ph; - this._tipoCompuerta = ptc; - this.panel_1 = pPanel_1; - } - public void pintar() throws IOException{ - BufferedImage image; - - if (_tipoCompuerta == "AND"){ - image = ImageIO.read(new File(Constants.andImage)); - }else if (_tipoCompuerta == "NAND"){ - image = ImageIO.read(new File(Constants.nandImage)); - - - }else if (_tipoCompuerta == "XOR"){ - image = ImageIO.read(new File(Constants.xorImage)); - - - }else if (_tipoCompuerta == "XNOR"){ - image = ImageIO.read(new File(Constants.xnorImage)); - - - }else if (_tipoCompuerta == "OR"){ - image = ImageIO.read(new File(Constants.orImage)); - - - }else if (_tipoCompuerta == "NOR"){ - image = ImageIO.read(new File(Constants.norImage)); - - - }else{ - image = ImageIO.read(new File(Constants.notImage)); - - } - - MyLabel picLabel = new MyLabel(new ImageIcon(image)); - panel_1.add(picLabel); - picLabel.setBounds(_x,_y,_height,_height); - } -} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java b/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java deleted file mode 100644 index 072b0e4..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/Simulator.java +++ /dev/null @@ -1,325 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - - - -import java.awt.BorderLayout; -import java.awt.EventQueue; - -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.border.EmptyBorder; -import javax.swing.JButton; -import javax.swing.JMenuBar; -import javax.swing.JMenu; -import javax.swing.ImageIcon; -import javax.swing.SwingConstants; -import java.awt.event.ActionListener; -import java.awt.event.ActionEvent; -import java.awt.Panel; - -import java.awt.GridBagLayout; -import java.awt.GridBagConstraints; -import java.awt.Insets; -import javax.swing.JLabel; - -import edu.itcr.logictec.constants.Constants; - -import java.awt.Color; -import java.io.IOException; -import javax.swing.JTextField; - - - - -public class Simulator extends JFrame { - - /** - * - */ - private static final long serialVersionUID = 1L; - private JPanel contentPane; - private JTextField textMouseCoords; - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - Simulator frame = new Simulator(); - frame.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the frame. - */ - public Simulator() { - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - setBounds(100, 100, 800, 600); - - JMenuBar menuBar = new JMenuBar(); - setJMenuBar(menuBar); - - JMenu mnAccesorios = new JMenu("Accesorios"); - mnAccesorios.setIcon(new ImageIcon(Simulator.class.getResource( - Constants.menuGIF))); - menuBar.add(mnAccesorios); - - JButton btnAbrir = new JButton("Abrir"); - btnAbrir.setIcon(new ImageIcon(Simulator.class.getResource( - Constants.directoryGIF))); - btnAbrir.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - System.out.print("Esto tiene que abrir desde un XML"); - } - }); - mnAccesorios.add(btnAbrir); - - JButton btnGuardar = new JButton("Guardar"); - btnGuardar.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Esto tiene que guardar en un XML"); - } - }); - btnGuardar.setIcon(new ImageIcon(Simulator.class.getResource( - Constants.floppyGIF))); - mnAccesorios.add(btnGuardar); - - JButton btnCrearTablaDe = new JButton("Crear Tabla de Verdad"); - btnCrearTablaDe.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Tiene que mostrar una ventana con la tabla de" - + " verdad de la compuerta"); - } - }); - mnAccesorios.add(btnCrearTablaDe); - - JMenu mnAyuda = new JMenu("Ayuda"); - mnAyuda.setIcon(new ImageIcon(Simulator.class.getResource( - Constants.infoGIF))); - menuBar.add(mnAyuda); - - - JButton btnDocumentacion = new JButton("Documentacion"); - btnDocumentacion.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Abre la documentacion"); - } - }); - mnAyuda.add(btnDocumentacion); - contentPane = new JPanel(); - contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); - contentPane.setLayout(new BorderLayout(0, 0)); - setContentPane(contentPane); - - - Panel panel = new Panel(); - contentPane.add(panel, BorderLayout.WEST); - GridBagLayout gbl_panel = new GridBagLayout(); - gbl_panel.columnWidths = new int[]{129, 0}; - gbl_panel.rowHeights = new int[]{19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - gbl_panel.columnWeights = new double[]{1.0, Double.MIN_VALUE}; - gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, Double.MIN_VALUE}; - panel.setLayout(gbl_panel); - - final JPanel panel_1 = new JPanel(); - panel_1.setBackground(Color.WHITE); - contentPane.add(panel_1, BorderLayout.CENTER); - - JLabel lblCompuertasLogicas = new JLabel("Compuertas logicas"); - GridBagConstraints gbc_lblCompuertasLogicas = new GridBagConstraints(); - gbc_lblCompuertasLogicas.fill = GridBagConstraints.BOTH; - gbc_lblCompuertasLogicas.insets = new Insets(0, 0, 5, 0); - gbc_lblCompuertasLogicas.gridx = 0; - gbc_lblCompuertasLogicas.gridy = 0; - panel.add(lblCompuertasLogicas, gbc_lblCompuertasLogicas); - - - JButton btnNewButton_8 = new JButton("AND"); - btnNewButton_8.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(0,0,100,"AND", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton_8.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_8 = new GridBagConstraints(); - gbc_btnNewButton_8.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_8.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_8.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_8.gridx = 0; - gbc_btnNewButton_8.gridy = 1; - panel.add(btnNewButton_8, gbc_btnNewButton_8); - - JButton btnNewButton_9 = new JButton("NAND"); - btnNewButton_9.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(110,0,100,"NAND", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton_9.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_9 = new GridBagConstraints(); - gbc_btnNewButton_9.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_9.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_9.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_9.gridx = 0; - gbc_btnNewButton_9.gridy = 2; - panel.add(btnNewButton_9, gbc_btnNewButton_9); - - JButton btnNewButton = new JButton("NOR"); - btnNewButton.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(220,0,100,"NOR", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton = new GridBagConstraints(); - gbc_btnNewButton.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton.anchor = GridBagConstraints.WEST; - gbc_btnNewButton.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton.gridx = 0; - gbc_btnNewButton.gridy = 3; - panel.add(btnNewButton, gbc_btnNewButton); - - JButton btnNewButton_12 = new JButton("NOT"); - btnNewButton_12.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(340,0,100,"NOT", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton_12.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_12 = new GridBagConstraints(); - gbc_btnNewButton_12.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_12.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_12.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_12.gridx = 0; - gbc_btnNewButton_12.gridy = 4; - panel.add(btnNewButton_12, gbc_btnNewButton_12); - - JButton btnNewButton_13 = new JButton("OR"); - btnNewButton_13.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(0,110,100,"OR", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - - btnNewButton_13.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_13 = new GridBagConstraints(); - gbc_btnNewButton_13.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_13.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_13.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_13.gridx = 0; - gbc_btnNewButton_13.gridy = 5; - panel.add(btnNewButton_13, gbc_btnNewButton_13); - - JButton btnNewButton_11 = new JButton("XNOR"); - btnNewButton_11.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(110,110,100,"XNOR", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton_11.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_11 = new GridBagConstraints(); - gbc_btnNewButton_11.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_11.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_11.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_11.gridx = 0; - gbc_btnNewButton_11.gridy = 6; - panel.add(btnNewButton_11, gbc_btnNewButton_11); - - JButton btnNewButton_10 = new JButton("XOR"); - btnNewButton_10.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - PintaCompuerta pintaComp = new PintaCompuerta(220,110,100,"XOR", - panel_1); - try { - pintaComp.pintar(); - } catch (IOException e) { - e.printStackTrace(); - } - } - }); - - btnNewButton_10.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnNewButton_10 = new GridBagConstraints(); - gbc_btnNewButton_10.fill = GridBagConstraints.HORIZONTAL; - gbc_btnNewButton_10.anchor = GridBagConstraints.WEST; - gbc_btnNewButton_10.insets = new Insets(0, 0, 5, 0); - gbc_btnNewButton_10.gridx = 0; - gbc_btnNewButton_10.gridy = 7; - panel.add(btnNewButton_10, gbc_btnNewButton_10); - MouseLocation mousecoords = new MouseLocation(); - - JButton btnLinea = new JButton("Linea"); - btnLinea.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - - } - }); - btnLinea.setHorizontalAlignment(SwingConstants.LEFT); - GridBagConstraints gbc_btnLinea = new GridBagConstraints(); - gbc_btnLinea.anchor = GridBagConstraints.WEST; - gbc_btnLinea.fill = GridBagConstraints.HORIZONTAL; - gbc_btnLinea.insets = new Insets(0, 0, 5, 0); - gbc_btnLinea.gridx = 0; - gbc_btnLinea.gridy = 8; - panel.add(btnLinea, gbc_btnLinea); - - textMouseCoords = new JTextField(); - GridBagConstraints gbc_textMouseCoords = new GridBagConstraints(); - gbc_textMouseCoords.fill = GridBagConstraints.HORIZONTAL; - gbc_textMouseCoords.gridx = 0; - gbc_textMouseCoords.gridy = 9; - textMouseCoords.setText(mousecoords.getMouseLocation()); - panel.add(textMouseCoords, gbc_textMouseCoords); - textMouseCoords.setColumns(10); - } -} diff --git a/src/edu/itcr/logictec/logicaluserinterface/LUI.java b/src/edu/itcr/logictec/logicaluserinterface/LUI.java new file mode 100644 index 0000000..397f209 --- /dev/null +++ b/src/edu/itcr/logictec/logicaluserinterface/LUI.java @@ -0,0 +1,56 @@ +package edu.itcr.logictec.logicaluserinterface; + +import edu.itcr.logictec.logicgates.And; +import edu.itcr.logictec.logicgates.LogicGate; +import edu.itcr.logictec.logicgates.Nand; +import edu.itcr.logictec.logicgates.Nor; +import edu.itcr.logictec.logicgates.Not; +import edu.itcr.logictec.logicgates.Or; +import edu.itcr.logictec.logicgates.Xnor; +import edu.itcr.logictec.logicgates.Xor; + +public class LUI { + + private String _gateKind; + + /** + * @param args + */ + public LUI(){ + + } + + public LogicGate createLogicGates(){ + + if (_gateKind == "AND"){ + LogicGate AND = new And(); + return AND; + + }else if (_gateKind == "NAND"){ + LogicGate NAND = new Nand(); + return NAND; + + }else if (_gateKind == "XOR"){ + LogicGate XOR = new Xor(); + return XOR; + + }else if (_gateKind == "XNOR"){ + LogicGate XNOR = new Xnor(); + return XNOR; + + }else if (_gateKind == "OR"){ + LogicGate OR = new Or(); + return OR; + + }else if (_gateKind == "NOR"){ + LogicGate NOR = new Nor(); + return NOR; + + }else{ + LogicGate NOT = new Not(); + return NOT; + + } + } + +} diff --git a/src/edu/itcr/logictec/logicgates/LogicGate.java b/src/edu/itcr/logictec/logicgates/LogicGate.java index 37ba964..b23290c 100644 --- a/src/edu/itcr/logictec/logicgates/LogicGate.java +++ b/src/edu/itcr/logictec/logicgates/LogicGate.java @@ -24,12 +24,15 @@ package edu.itcr.logictec.logicgates; import edu.itcr.logictec.trees.binary.BinaryNode; +import edu.itcr.startec.datastructs.simplelist.SimpleList; public class LogicGate{ protected BinaryNode root; + public SimpleList list; public LogicGate(){ this.root = null; + this.list = new SimpleList(); } public LogicGate(BinaryNode pnodeA, BinaryNode pnodeB){ @@ -37,7 +40,11 @@ public LogicGate(BinaryNode pnodeA, BinaryNode pnodeB){ this.root.setLeft(pnodeA); this.root.setRight(pnodeB); } - + + /* + * Sets logicgate's first entrance. Sets the left node of a tree which has + * two leafs. + */ public void setInA(K pdata){ if (pdata == null){ return; @@ -52,6 +59,10 @@ public void setInA(K pdata){ } } + /* + * Sets logicgate's second entrance. Sets the left node of a tree which has + * two leafs. + */ public void setInB(K pdata){ if (pdata == null){ return; @@ -62,22 +73,68 @@ public void setInB(K pdata){ } this.root.setRight(pdata); setRoot(); - } - - } - - public BinaryNode getRoot(){ - return this.root; + } } + /* + * Returns the exit of the logic gate + */ public K getExit(){ return this.root.getData(); } + /* + * Goes through the tree made by one exit and returns it as an array. + */ + public int[] printGate(){ + preorden(); + int[] array = new int[list.length()]; + for(int i = 0 ; i < list.length() ; i++){ + array[i] = (Integer) list.getRootData(); + list.delete(); + } + return array; + } + + /* + * How to goes through the tree made by an exit. + */ + public void preorden (){ + //System.out.println(this.root.getData()); + list.append(this.root.getData()); + if (this.root.getLeft() != null){ + preorden_extended(this.root.getLeft()); + } + if (this.root.getRight() != null){ + preorden_extended(this.root.getRight()); + } + } + + /* + * Extended method for going though the exit. + */ + private void preorden_extended(BinaryNode pnode){ + System.out.println(pnode.getData()); + list.append(pnode.getData()); + if (pnode.getLeft() != null){ + preorden_extended(this.root.getLeft()); + } + if (pnode.getRight() != null){ + preorden_extended(this.root.getRight()); + } + } + + /* + * Common method for all logic gates. Each one implements its own version + * and the an different output. + */ protected void setRoot(){ System.out.println("Nothing here :p"); } + /* + * Sets the output node of a logic gate as input A of another logic gate. + */ public void connectGatesA(LogicGate pgate){ if(pgate.root == null){ return; @@ -86,11 +143,14 @@ public void connectGatesA(LogicGate pgate){ BinaryNode node = new BinaryNode(); this.root = node; } - this.root.setLeft(pgate.getRoot()); + this.root.setLeft(pgate.root); setRoot(); } } + /* + * Sets the output node of a logic gate as input B of another logic gate. + */ public void connectGatesB(LogicGate pgate){ if(pgate.root == null){ return; @@ -99,7 +159,7 @@ public void connectGatesB(LogicGate pgate){ BinaryNode node = new BinaryNode(); this.root = node; } - this.root.setRight(pgate.getRoot()); + this.root.setRight(pgate.root); setRoot(); } } diff --git a/src/edu/itcr/logictec/logicgates/Nand.java b/src/edu/itcr/logictec/logicgates/Nand.java index f1b5cc3..0153781 100644 --- a/src/edu/itcr/logictec/logicgates/Nand.java +++ b/src/edu/itcr/logictec/logicgates/Nand.java @@ -6,16 +6,19 @@ public Nand(){ super(); } + /* + * Sets the output of the logic gate as a Nand gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - this.getRoot().setData(this.getRoot().getLeft().getData() * - this.getRoot().getRight().getData()); - if(this.getRoot().getData() == 0){ - this.getRoot().setData(1); + this.root.setData(this.root.getLeft().getData() * + this.root.getRight().getData()); + if(this.root.getData() == 0){ + this.root.setData(1); } else{ - this.getRoot().setData(0); + this.root.setData(0); } } } diff --git a/src/edu/itcr/logictec/logicgates/Nor.java b/src/edu/itcr/logictec/logicgates/Nor.java index e78c1d5..fe5577f 100644 --- a/src/edu/itcr/logictec/logicgates/Nor.java +++ b/src/edu/itcr/logictec/logicgates/Nor.java @@ -6,17 +6,20 @@ public Nor(){ super(); } + /* + * Sets the output of the logic gate as a Not gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - this.getRoot().setData(this.getRoot().getLeft().getData() + - this.getRoot().getRight().getData()); - if (this.getRoot().getData() >= 1){ - this.getRoot().setData(0); + this.root.setData(this.root.getLeft().getData() + + this.root.getRight().getData()); + if (this.root.getData() >= 1){ + this.root.setData(0); } - if(this.getRoot().getData() == 0){ - this.getRoot().setData(1); + if(this.root.getData() == 0){ + this.root.setData(1); } } } diff --git a/src/edu/itcr/logictec/logicgates/Not.java b/src/edu/itcr/logictec/logicgates/Not.java index 479f732..2d7b064 100644 --- a/src/edu/itcr/logictec/logicgates/Not.java +++ b/src/edu/itcr/logictec/logicgates/Not.java @@ -8,6 +8,12 @@ public Not(){ super(); } + //*****************************************************************// + /* + * As a NOT only has one input, the method to set up the inputs are + * rewritten setting both inputs equally. + */ + public void setInA(int pdata){ if (this.root == null){ BinaryNode node = new BinaryNode(); @@ -27,15 +33,20 @@ public void setInB(int pdata){ this.root.setLeft(pdata); setRoot(); } + + //*****************************************************************// + /* + * Sets the output of the logic gate as a Not gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - if(this.getRoot().getData() == 0){ - this.getRoot().setData(1); + if(this.root.getData() == 0){ + this.root.setData(1); } else{ - this.getRoot().setData(0); + this.root.setData(0); } } } diff --git a/src/edu/itcr/logictec/logicgates/Or.java b/src/edu/itcr/logictec/logicgates/Or.java index a0ec7a5..4024e7f 100644 --- a/src/edu/itcr/logictec/logicgates/Or.java +++ b/src/edu/itcr/logictec/logicgates/Or.java @@ -6,17 +6,17 @@ public Or(){ super(); } + /* + * Sets the output of the logic gate as a Or gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - this.getRoot().setData(this.getRoot().getLeft().getData() + - this.getRoot().getRight().getData()); - //System.out.println("***"); - //System.out.println(this.getRoot().getData()); - //System.out.println("***"); - if (this.getRoot().getData() > 1){ - this.getRoot().setData(1); + this.root.setData(this.root.getLeft().getData() + + this.root.getRight().getData()); + if (this.root.getData() > 1){ + this.root.setData(1); } } } diff --git a/src/edu/itcr/logictec/logicgates/Xnor.java b/src/edu/itcr/logictec/logicgates/Xnor.java index 68a9dc9..b01dd05 100644 --- a/src/edu/itcr/logictec/logicgates/Xnor.java +++ b/src/edu/itcr/logictec/logicgates/Xnor.java @@ -6,14 +6,17 @@ public Xnor(){ super(); } + /* + * Sets the output of the logic gate as a Xnor gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - if(this.getRoot().getLeft().getData() == this.getRoot().getRight().getData()){ - this.getRoot().setData(1); + if(this.root.getLeft().getData() == this.root.getRight().getData()){ + this.root.setData(1); } else{ - this.getRoot().setData(0); + this.root.setData(0); } } } diff --git a/src/edu/itcr/logictec/logicgates/Xor.java b/src/edu/itcr/logictec/logicgates/Xor.java index e46c663..dc49e02 100644 --- a/src/edu/itcr/logictec/logicgates/Xor.java +++ b/src/edu/itcr/logictec/logicgates/Xor.java @@ -6,18 +6,17 @@ public Xor(){ super(); } + /* + * Sets the output of the logic gate as a Xor gate would. + */ protected void setRoot(){ if(this.root.getRight() == null || this.root.getLeft() == null){ return; } else{ - //System.out.println("*************"); - //System.out.println(this.getRoot().getLeft().getData()); - //System.out.println(this.getRoot().getRight().getData()); - //System.out.println("*************"); - if(this.getRoot().getLeft().getData() == this.getRoot().getRight().getData()){ - this.getRoot().setData(0); + if(this.root.getLeft().getData() == this.root.getRight().getData()){ + this.root.setData(0); } else{ - this.getRoot().setData(1); + this.root.setData(1); } } } diff --git a/src/edu/itcr/logictec/save/Toxml.java b/src/edu/itcr/logictec/save/Toxml.java new file mode 100644 index 0000000..b2a32fc --- /dev/null +++ b/src/edu/itcr/logictec/save/Toxml.java @@ -0,0 +1,79 @@ +package edu.itcr.logictec.save; + +/* + * Librerias de entrada/salida, parseadors de xml, estructuradores. + */ + + +import java.io.File; +import java.io.IOException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public class Toxml { + int exits; + + public Toxml(){ + this.exits = 0; + } + + public void save(int[] parray) throws IOException { + + try { + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + + // root elements + Document doc = docBuilder.newDocument(); + Element rootElement = doc.createElement("Component"); + doc.appendChild(rootElement); + + // Tree of one exit + Element tree = doc.createElement("ExitTree"); + rootElement.appendChild(tree); + + // number of exit on component + Attr attr = doc.createAttribute("exit"); + attr.setValue(Integer.toString(exits)); + tree.setAttributeNode(attr); + + // Creates node on a loop for the nodes in an array send as + // parameter. + for (int i = 0 ; i < parray.length; i++){ + Element node = doc.createElement("node"); + node.appendChild(doc.createTextNode(Integer.toString(parray[i]))); + tree.appendChild(node); + } + + + // write the content into xml file + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + DOMSource source = new DOMSource(doc); + StreamResult result = new StreamResult(new File("NewComponent.xml")); + //System.out.println(source); + + transformer.transform(source, result); + + System.out.println("File saved!"); + this.exits++; + + } catch (ParserConfigurationException pce) { + pce.printStackTrace(); + } catch (TransformerException tfe) { + tfe.printStackTrace(); + } + } +} diff --git a/src/edu/itcr/logictec/trees/binary/BinaryNode.java b/src/edu/itcr/logictec/trees/binary/BinaryNode.java index fd61d2a..715f419 100644 --- a/src/edu/itcr/logictec/trees/binary/BinaryNode.java +++ b/src/edu/itcr/logictec/trees/binary/BinaryNode.java @@ -39,6 +39,12 @@ public BinaryNode(K pdata) { this.right = null; } + //*********************************************************// + /* + * Regular setters and getters + */ + //*********************************************************// + public K getData(){ return this.data; } @@ -65,39 +71,11 @@ public void setLeft(BinaryNode pk){ } public void setRight(K pk){ - BinaryNode left = new BinaryNode(pk); - this.right = left; + BinaryNode right = new BinaryNode(pk); + this.right = right; } public void setRight(BinaryNode pk){ this.right = pk; } - - /* Recorridos */ - void preorden (BinaryNode node){ - if(node == null){ - return; - } - System.out.println(data); - left.preorden(node.left); - right.preorden(node.right); - } - - void inorden(BinaryNode node){ - if(node == null){ - return; - } - left.inorden(node.left); - System.out.println(data); - right.inorden(node.right); - } - - void postorden(BinaryNode node){ - if(node == null){ - return; - } - left.postorden(node.left); - right.postorden(node.right); - System.out.println(data); - } } diff --git a/src/edu/itcr/startec/datastructs/ListInterface.java b/src/edu/itcr/startec/datastructs/ListInterface.java new file mode 100644 index 0000000..595a2cc --- /dev/null +++ b/src/edu/itcr/startec/datastructs/ListInterface.java @@ -0,0 +1,22 @@ +package edu.itcr.startec.datastructs; + +/** + * Methods that every single list has to implement. + * @author zyoruk, jeukel + * + * @param + */ +public interface ListInterface { + public int length(); + public boolean isEmpty(); + public boolean append(K pk); + public boolean delete(K pk); + public boolean delete(); + public boolean exists(K pk); + public boolean insert(int pos, K pk); + public boolean insert(K pk); + public boolean clear(); + public boolean cut(); + public K getRootData(); + public String describe(); +} \ No newline at end of file diff --git a/src/edu/itcr/startec/datastructs/simplelist/SimpleList.java b/src/edu/itcr/startec/datastructs/simplelist/SimpleList.java new file mode 100644 index 0000000..621ba82 --- /dev/null +++ b/src/edu/itcr/startec/datastructs/simplelist/SimpleList.java @@ -0,0 +1,331 @@ +package edu.itcr.startec.datastructs.simplelist; + +import java.util.Iterator; + +import edu.itcr.startec.datastructs.ListInterface; + +/** + * In charge of managing the reading of the list. + * @author zyoruk, jeukel + * + * @param + */ +class SimpleListIterator implements Iterator { + + SimpleList list; + SimpleListNode current; + + /** + * Constructor + * @param list + */ + public SimpleListIterator(SimpleList list) { + this.list = list; + this.current = null; + } + + /** + * Checks if the node has next. + * @return true if has next. + */ + @Override + public boolean hasNext() { + + if(this.current == null) { + if(this.list.isEmpty()) { + return false; + } + this.current = this.list.head; + return true; + } + + this.current = this.current.getNext(); + return this.current != null; + } + + /** + * @return the element of the next node. + */ + @Override + public K next() { + if(this.current == null) { + return null; + } + return this.current.getElem(); + } + + @Override + public void remove() { + throw new UnsupportedOperationException(); + } +} + +/** + * + * @author zyoruk,jeukel + * + * @param + */ + +public class SimpleList implements ListInterface, Iterable { + + protected int length; + protected SimpleListNode head; + protected SimpleListNode tail; + + /** + * Constructor + */ + public SimpleList() { + this.length = 0; + this.head = null; + this.tail = null; + } + + /** + * Checks if the list is empty + * @return boolean. + */ + @Override + public boolean isEmpty() { + return this.head == null; + } + + /** + * Adds at the end. + */ + @Override + public boolean append(K pk) { + + SimpleListNode node = new SimpleListNode(pk); + + if(isEmpty()) { + this.head = node; + } else { + this.tail.setNext(node); + } + this.tail = node; + this.length += 1; + return true; + } + + public boolean append(SimpleListNode pk) { + + if(isEmpty()) { + this.head = pk; + } else { + this.tail.setNext(pk); + } + this.tail = pk; + this.length += 1; + return true; + } + + /* + * Deletes the element + */ + @Override + public boolean delete(K pk) { + + if(isEmpty()) { + return false; + } + + // Search node + SimpleListNode previous = null; + SimpleListNode current = this.head; + while(current != null) { + if(current.getElem().equals(pk)) { + break; + } + previous = current; + current = current.getNext(); + } + + // If not found + if(current == null) { + return false; + } + + // Found, check head + if(current == this.head) { + this.head = current.getNext(); + } + // Found, check tail + if(current == this.tail) { + this.tail = previous; + } + + // Remove node + if(previous != null) { + previous.setNext(current.getNext()); + } + current.setNext(null); + current = null; + this.length -= 1; + return true; + } + + /** + * @return size of the list + */ + @Override + public int length() { + return this.length; + } + + /** + * Checks if the element is in the list + * @param pk element to search + */ + + @Override + public boolean exists(K pk) { + for(K ck : this) { + if(ck.equals(pk)) { + return true; + } + } + return false; + } + + /** + * Inserts at some position + * @param pos where to add + * @param pk what to add. + */ + @Override + public boolean insert(int pos, K pk) { + + SimpleListNode node = new SimpleListNode(pk); + + // Check valid position + if((pos < 0) || (pos > this.length)) { + return false; + } + + // Search position + SimpleListNode previous = null; + SimpleListNode current = this.head; + for(int i = 0; i != pos; i++) { + previous = current; + current = current.getNext(); + } + + // Insert node + node.setNext(current); + if(previous != null) { + previous.setNext(node); + } + + // Check head + if(current == this.head) { + this.head = node; + } + // Check tail + if(previous == this.tail) { + this.tail = node; + } + + this.length += 1; + return true; + } + + /** + * Inserts at the beginning of the list. + */ + @Override + public boolean insert(K pk) { + SimpleListNode node = new SimpleListNode(pk); + + // Insert node + node.setNext(this.head); + + // Check head + this.head = node; + + this.length += 1; + return true; + } + + /** + * Empties the list. + */ + @Override + public boolean clear() { + SimpleListNode temp = null; + while(this.head != null) { + temp = this.head.getNext(); + this.head.setNext(null); + this.head = temp; + } + this.tail = null; + this.length = 0; + return true; + } + + /** + * calls the iterator + */ + @Override + public Iterator iterator() { + return new SimpleListIterator(this); + } + + /** + * Describes the list + * @return Description + */ + public String describe() { + String string = ("It was null after all"); + if (this.head != null){ + StringBuilder result = new StringBuilder(); + + result.append("List: "); + for(K k : this) { + result.append(String.format("%s ", k.toString())); + } + result.append("\n"); + + result.append(String.format("Length: %d\n", this.length)); + result.append( + String.format("Head: %s\n", this.head.getElem().toString()) + ); + result.append( + String.format("Tail: %s\n", this.tail.getElem().toString()) + ); + + return result.toString(); + }else{ + System.out.println("It was null after all"); + } + return string; + } + + /** + * Deletes the first node. + */ + @Override + public boolean delete() { + //Set tmp list + SimpleListNode node = this.head.getNext(); + + //Destroy + this.head = null; + + //Set new list + this.head = node; + return true; + } + + @Override + public boolean cut() { + return false; + } + + @Override + public K getRootData() { + return this.head.getElem(); + } +} + diff --git a/src/edu/itcr/startec/datastructs/simplelist/SimpleListNode.java b/src/edu/itcr/startec/datastructs/simplelist/SimpleListNode.java new file mode 100644 index 0000000..55fb582 --- /dev/null +++ b/src/edu/itcr/startec/datastructs/simplelist/SimpleListNode.java @@ -0,0 +1,50 @@ +package edu.itcr.startec.datastructs.simplelist; + +class SimpleListNode { + + protected K elem; + protected SimpleListNode next; + + /** + * Constructor + * @param elem What the node contains + */ + public SimpleListNode(K elem) { + this.elem = elem; + this.next = null; + } + + /** + * Constructor with the element and the next one. + * @param elem First element + * @param next Next element + */ + public SimpleListNode(K elem, SimpleListNode next) { + this.elem = elem; + this.next = next; + } + + /** + * Sets the element next to the current one + * @param next + */ + public void setNext(SimpleListNode next) { + this.next = next; + } + + /** + * gets the value of the next node + * @return next value + */ + public SimpleListNode getNext() { + return this.next; + } + + /** + * gets the current value + * @return Node value + */ + public K getElem() { + return this.elem; + } +} diff --git a/src/manager/Manager.java b/src/manager/Manager.java new file mode 100644 index 0000000..f60c881 --- /dev/null +++ b/src/manager/Manager.java @@ -0,0 +1,13 @@ +package manager; + +import edu.itcr.logictec.graphicaluserinterface.GUI; +import edu.itcr.logictec.logicaluserinterface.LUI; + +public class Manager { + + public static void main(String[] args) { + GUI ourGLogicTEC = new GUI(); + LUI ourLLogicTEC = new LUI(); + } +} + diff --git a/wbp-meta/org.eclipse.wb.swing.wbp-palette.xml b/wbp-meta/org.eclipse.wb.swing.wbp-palette.xml new file mode 100644 index 0000000..362ff5f --- /dev/null +++ b/wbp-meta/org.eclipse.wb.swing.wbp-palette.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file From bcfa6f13c4c3b7818ecd29c0bffe319c18071b1e Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Fri, 1 Nov 2013 21:07:17 -0600 Subject: [PATCH 16/24] removed "DibujarLineas" , removed " MouseLocation". they were never used. --- .../graphicaluserinterface/DibujarLineas.java | 77 ------------------- .../graphicaluserinterface/MouseLocation.java | 33 -------- .../graphicaluserinterface/MyLabel.java | 2 - 3 files changed, 112 deletions(-) delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/DibujarLineas.java delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MouseLocation.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DibujarLineas.java b/src/edu/itcr/logictec/graphicaluserinterface/DibujarLineas.java deleted file mode 100644 index feca1e2..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/DibujarLineas.java +++ /dev/null @@ -1,77 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseMotionAdapter; -import java.awt.geom.Line2D; -import java.util.ArrayList; -import javax.swing.JComponent; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; - -/** - * Clase DibujarLineas - * @author Daniel Alvarez (a3dany) - */ -public class DibujarLineas extends JComponent { - - private Point inicioArrastre; - private Point finArrastre; - private ArrayList lineas = new ArrayList(); - - public DibujarLineas() { - addMouseListener(new MouseAdapter() { - - public void mousePressed(MouseEvent e) { // cuando se presiona el mouse - inicioArrastre = new Point(e.getX(), e.getY()); - finArrastre = inicioArrastre; - } - - public void mouseReleased(MouseEvent e) { // cuando se deja de presionar el mouse - Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, e.getX(), e.getY()); - lineas.add(linea); - inicioArrastre = null; - finArrastre = null; - } - }); - addMouseMotionListener(new MouseMotionAdapter() { - - public void mouseDragged(MouseEvent e) { // cuando se esta arrastrando el mouse - finArrastre = new Point(e.getX(), e.getY()); - repaint(); - } - }); - } - - public void paint(Graphics g) { - Graphics2D g2 = (Graphics2D) g; - g2.setColor(Color.RED); - for (Shape linea : lineas) { // dibuja todos las elipses - g2.draw(linea); - } - if (inicioArrastre != null && finArrastre != null) { // se esta arrastrando el raton? - Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); - g2.draw(linea); - } - } - - private Line2D.Float crearLinea(int x1, int y1, int x2, int y2) { - return new Line2D.Float(x1, y1, x2, y2); - } - - public static void main(String[] a3d) { - JFrame ventana = new JFrame("Dibujar Lineas"); - ventana.setSize(400, 300); - ventana.setLocationRelativeTo(null); - ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - ventana.add(new DibujarLineas()); - ventana.setVisible(true); - ventana.repaint(); - } -} \ No newline at end of file diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MouseLocation.java b/src/edu/itcr/logictec/graphicaluserinterface/MouseLocation.java deleted file mode 100644 index d866584..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/MouseLocation.java +++ /dev/null @@ -1,33 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - -import java.awt.MouseInfo; -import java.awt.Point; - -public class MouseLocation { - private int x; - private int y; - private Point cursor; - - public MouseLocation(){ - cursor = MouseInfo.getPointerInfo().getLocation(); - } - - public String getMouseLocation(){ - x = cursor.x; - y = cursor.y; - StringBuilder result = new StringBuilder(); - result.append('x'); - result.append(String.format("%s ", x)); - result.append('y'); - result.append(String.format("%s", y)); - return result.toString(); - } - - public int getX(){ - return cursor.x; - } - - public int getY(){ - return cursor.y; - } -} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java index 3f398c0..8b53beb 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java @@ -2,8 +2,6 @@ -import java.awt.Color; -import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; From 7831dd3f0e7975a843a5a712128cca407399ddfb Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Fri, 1 Nov 2013 21:09:46 -0600 Subject: [PATCH 17/24] removed "MyPanel". we were not using it. --- .../graphicaluserinterface/MyPanel.java | 63 ------------------- 1 file changed, 63 deletions(-) delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java deleted file mode 100644 index 2ec443d..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java +++ /dev/null @@ -1,63 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Shape; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseMotionAdapter; -import java.awt.geom.Line2D; -import java.util.ArrayList; - -import javax.swing.JPanel; - -public class MyPanel extends JPanel{ - - private Point inicioArrastre; - private Point finArrastre; - private ArrayList lineas = new ArrayList(); - - public MyPanel(){ - addMouseListener(new MouseAdapter() { - - public void mousePressed(MouseEvent e) { // cuando se presiona el mouse - inicioArrastre = new Point(e.getX(), e.getY()); - finArrastre = inicioArrastre; - } - - public void mouseReleased(MouseEvent e) { // cuando se deja de presionar el mouse - Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, e.getX(), e.getY()); - lineas.add(linea); - inicioArrastre = null; - finArrastre = null; - } - }); - addMouseMotionListener(new MouseMotionAdapter() { - - public void mouseDragged(MouseEvent e) { // cuando se esta arrastrando el mouse - finArrastre = new Point(e.getX(), e.getY()); - repaint(); - } - }); - } - - private Line2D.Float crearLinea(int x1, int y1, int x2, int y2) { - return new Line2D.Float(x1, y1, x2, y2); - } - - public void paint(Graphics g, Color color) { - Graphics2D g2 = (Graphics2D) g; - g2.setColor(color); - for (Shape linea : lineas) { // dibuja todos las elipses - g2.draw(linea); - } - if (inicioArrastre != null && finArrastre != null) { // se esta arrastrando el raton? - Shape linea = crearLinea(inicioArrastre.x, inicioArrastre.y, finArrastre.x, finArrastre.y); - g2.draw(linea); - } - } - - -} From 225153bca021df35794dfc0c8d5740d5de06ce28 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Fri, 1 Nov 2013 21:13:10 -0600 Subject: [PATCH 18/24] Removed the code inside the toggleButton "ConnectTo" --- src/edu/itcr/logictec/graphicaluserinterface/GUI.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index 43b337c..ae7917c 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -261,12 +261,6 @@ public void actionPerformed(ActionEvent e) { final JToggleButton btnConnectTo = new JToggleButton("Connect to"); btnConnectTo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - if(btnConnectTo.isSelected()){ - if (drawGate.getClikedOnes().length==2){ - btnConnectTo.setSelected(false); - } - drawGate.connect(Color.BLACK); - } } }); btnConnectTo.setHorizontalAlignment(SwingConstants.LEFT); From 00bbd4d5f48accbbb7a0d91f68b48b04bde1d9f5 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Sat, 2 Nov 2013 18:27:57 -0600 Subject: [PATCH 19/24] Removed manager, GUI is the real manager. LUI now implements redo , undo. Added a validation for a null pointer at reDo method. --- .../graphicaluserinterface/DrawGate.java | 104 +++++++++--------- .../logictec/graphicaluserinterface/GUI.java | 12 +- .../logictec/logicaluserinterface/LUI.java | 53 ++++++++- src/manager/Manager.java | 13 --- 4 files changed, 108 insertions(+), 74 deletions(-) delete mode 100644 src/manager/Manager.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index cbc38e0..001d302 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -34,7 +34,7 @@ public class DrawGate{ private MyLabel[] temp; private Component[] components ; - + public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ this._x = px; this._y = py; @@ -44,9 +44,9 @@ public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ components = new Component[10]; labelList = new MyLabel[10]; temp = new MyLabel[10]; - + } - + /** * Paint the logic gate with its inputs and outputs. * @throws IOException @@ -54,35 +54,35 @@ public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ */ public void paint() throws IOException{ BufferedImage image; - + if (_gateKind == "AND"){ image = ImageIO.read(new File(Constants.andImage)); - + }else if (_gateKind == "NAND"){ image = ImageIO.read(new File(Constants.nandImage)); - + }else if (_gateKind == "XOR"){ image = ImageIO.read(new File(Constants.xorImage)); - + }else if (_gateKind == "XNOR"){ image = ImageIO.read(new File(Constants.xnorImage)); - + }else if (_gateKind == "OR"){ image = ImageIO.read(new File(Constants.orImage)); - + }else if (_gateKind == "NOR"){ image = ImageIO.read(new File(Constants.norImage)); - + }else{ image = ImageIO.read(new File(Constants.notImage)); - + } - + MyLabel picLabel = new MyLabel(new ImageIcon(image)); labelList[i] = picLabel; i++; - + JTextField input1 = new JTextField(); picLabel.add(input1); input1.setBounds(0, 0, 20, 20); @@ -94,71 +94,73 @@ public void paint() throws IOException{ JTextField output = new JTextField(); picLabel.add(output); output.setBounds(80,50, 20, 20); - + panel_1.add(picLabel); picLabel.setBounds(_x,_y,_height,_height); - - + + //Creates a temporal list of components for(int i = 0 ; i < panel_1.getComponentCount();i++){ components[i] = panel_1.getComponent(i); } - + } - - - + + + /** * Undo the last change made. * @author Zyoruk */ public void unDo(){ if (panel_1.getComponentCount()!=0){ - panel_1.remove(panel_1.getComponentCount() - 1); - panel_1.repaint(); - if(i != 0){ - i--; - } + panel_1.remove(panel_1.getComponentCount() - 1); + panel_1.repaint(); + if(i != 0){ + i--; + } } } - + /** * Redo the last change. * @author Zyoruk */ public void reDo(){ if (i < components.length){ + if (components[i] !=null){ panel_1.add(components[i]); panel_1.repaint(); i++; + } } } - + public String getGateKind(){ return this._gateKind; } - - public void connect(Color color){ - for (int i = 0; i < labelList.length ; i++){ - if( temp.length == 2 ){ - Graphics g = panel_1.getGraphics(); - g.setColor(color); - g.drawLine(temp[0].getX(),temp[0].getY(),temp[1].getX(),temp[1].getY()); - }else{ - System.out.print(false); - } - } - } - - public MyLabel[] getClikedOnes(){ - return this.temp; - } - - public void setClickedOnes(){ - for (int i = 0; i < labelList.length ; i++){ - if (labelList[i].getIfClicked() == true){ - temp[i] = (labelList[i]); - } - } - } + + public void connect(Color color){ + for (int i = 0; i < labelList.length ; i++){ + if( temp.length == 2 ){ + Graphics g = panel_1.getGraphics(); + g.setColor(color); + g.drawLine(temp[0].getX(),temp[0].getY(),temp[1].getX(),temp[1].getY()); + }else{ + System.out.print(false); + } + } + } + + public MyLabel[] getClikedOnes(){ + return this.temp; + } + + public void setClickedOnes(){ + for (int i = 0; i < labelList.length ; i++){ + if (labelList[i].getIfClicked() == true){ + temp[i] = (labelList[i]); + } + } + } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index ae7917c..5114ffe 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -19,21 +19,18 @@ import java.awt.event.ActionEvent; import java.awt.Panel; -import java.awt.Graphics; + import java.awt.GridBagLayout; import java.awt.GridBagConstraints; import java.awt.Insets; import javax.swing.JLabel; import edu.itcr.logictec.constants.Constants; +import edu.itcr.logictec.logicaluserinterface.LUI; import java.awt.Color; import java.io.IOException; -import java.util.ArrayList; - -import javax.swing.JList; import net.miginfocom.swing.MigLayout; -import javax.swing.JTextField; import javax.swing.JScrollPane; import javax.swing.ListSelectionModel; @@ -52,6 +49,7 @@ public class GUI extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; private DrawGate drawGate; + private LUI createGates; private JPanel panel_1; private int listIndex; private String[] gateStrings; @@ -146,6 +144,7 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { drawGate.unDo(); + createGates.undo(); } }); menuBar.add(btnUndo1); @@ -155,6 +154,7 @@ public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) { drawGate.reDo(); + createGates.redo(); } }); menuBar.add(btnRedo1); @@ -248,6 +248,8 @@ public void actionPerformed(ActionEvent e) { if (gateStrings[i] == list.getSelectedValue()){ drawGate = new DrawGate(220,110,100,(String) list.getSelectedValue(), panel_1); + createGates = new LUI ((String)list.getSelectedValue()); + createGates.createLogicGates(); try { drawGate.paint(); } catch (IOException pe) { diff --git a/src/edu/itcr/logictec/logicaluserinterface/LUI.java b/src/edu/itcr/logictec/logicaluserinterface/LUI.java index 397f209..7bfb2b6 100644 --- a/src/edu/itcr/logictec/logicaluserinterface/LUI.java +++ b/src/edu/itcr/logictec/logicaluserinterface/LUI.java @@ -12,45 +12,88 @@ public class LUI { private String _gateKind; - + private LogicGate[] myLogicGateList; + private LogicGate[] myTemporalLogicGateList; + private int i ; + /** * @param args */ - public LUI(){ - + public LUI(String pLG){ + _gateKind = pLG; + myLogicGateList = new LogicGate[10]; + myTemporalLogicGateList = new LogicGate[10]; + i = 0 ; } public LogicGate createLogicGates(){ if (_gateKind == "AND"){ LogicGate AND = new And(); + myLogicGateList [i] = AND; + i++; return AND; }else if (_gateKind == "NAND"){ LogicGate NAND = new Nand(); + myLogicGateList [i] = NAND; + i++; return NAND; }else if (_gateKind == "XOR"){ LogicGate XOR = new Xor(); + myLogicGateList [i] = XOR; + i++; return XOR; }else if (_gateKind == "XNOR"){ LogicGate XNOR = new Xnor(); + myLogicGateList [i] = XNOR; + i++; return XNOR; }else if (_gateKind == "OR"){ LogicGate OR = new Or(); + myLogicGateList [i] = OR; + i++; return OR; }else if (_gateKind == "NOR"){ LogicGate NOR = new Nor(); + myLogicGateList [i] = NOR; + i++; return NOR; }else{ LogicGate NOT = new Not(); - return NOT; - + myLogicGateList [i] = NOT; + i++; + return NOT; + } + } + + public void undo(){ + if (this.myLogicGateList.length!=0){ + this.myLogicGateList[i] = null; + if(i != 0){ + i--; + } + } + } + + public void redo(){ + this.myTemporalLogicGateList = buildTemporalList(); + if (i < this.myLogicGateList.length){ + this.myLogicGateList[i] = this.myTemporalLogicGateList[i]; + i++; } } + + private LogicGate[] buildTemporalList(){ + for (int i = 0; i Date: Sun, 3 Nov 2013 13:24:03 -0600 Subject: [PATCH 20/24] It draw lines now !! --- .../graphicaluserinterface/DrawGate.java | 103 +++++++++++------- .../logictec/graphicaluserinterface/GUI.java | 50 ++++++--- .../graphicaluserinterface/MyLabel.java | 15 ++- .../graphicaluserinterface/MyPanel.java | 44 ++++++++ 4 files changed, 154 insertions(+), 58 deletions(-) create mode 100644 src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index 001d302..70d73ce 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -28,23 +28,32 @@ public class DrawGate{ private int _y; private int _height; private String _gateKind; - private JComponent panel_1; + private MyPanel panel_1; private int i = 0; - private MyLabel[] labelList; - private MyLabel[] temp; + private MyLabel[] clickedOnes; private Component[] components ; + private MyLabel[] labelList; + private JTextField input1; + private JTextField input2; + private JTextField output; - - public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ + public DrawGate(){ + components = new Component[10]; + clickedOnes = new MyLabel[2]; + } + + public DrawGate(int px,int py,int ph,String ptc,MyPanel pPanel_1, MyLabel[] pLabelList){ this._x = px; this._y = py; this._height = ph; this._gateKind = ptc; this.panel_1 = pPanel_1; components = new Component[10]; - labelList = new MyLabel[10]; - temp = new MyLabel[10]; - + this.labelList = pLabelList; + clickedOnes = new MyLabel[2]; + input1 = new JTextField(); + input2 = new JTextField(); + output = new JTextField(); } /** @@ -52,7 +61,7 @@ public DrawGate(int px,int py,int ph,String ptc,JComponent pPanel_1){ * @throws IOException * @author Zyoruk */ - public void paint() throws IOException{ + public MyLabel paint() throws IOException{ BufferedImage image; if (_gateKind == "AND"){ @@ -75,23 +84,19 @@ public void paint() throws IOException{ }else{ image = ImageIO.read(new File(Constants.notImage)); - - } - MyLabel picLabel = new MyLabel(new ImageIcon(image)); + MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1); labelList[i] = picLabel; i++; - JTextField input1 = new JTextField(); + picLabel.add(input1); input1.setBounds(0, 0, 20, 20); - - JTextField input2 = new JTextField(); + picLabel.add(input2); input2.setBounds(0,50, 20, 20); - - JTextField output = new JTextField(); + picLabel.add(output); output.setBounds(80,50, 20, 20); @@ -99,15 +104,25 @@ public void paint() throws IOException{ picLabel.setBounds(_x,_y,_height,_height); + if(getInA()!= null && getInB()!= null ){ + setInA(getInA()); + setInB(getInB()); + setInA(getInA()); + setInB(getInB()); + } //Creates a temporal list of components for(int i = 0 ; i < panel_1.getComponentCount();i++){ - components[i] = panel_1.getComponent(i); + if(i != 9){ + components[i] = panel_1.getComponent(i); + }else{ + break; + } } - + + return picLabel; + } - - - + /** * Undo the last change made. * @author Zyoruk @@ -140,27 +155,35 @@ public String getGateKind(){ return this._gateKind; } - public void connect(Color color){ - for (int i = 0; i < labelList.length ; i++){ - if( temp.length == 2 ){ - Graphics g = panel_1.getGraphics(); - g.setColor(color); - g.drawLine(temp[0].getX(),temp[0].getY(),temp[1].getX(),temp[1].getY()); - }else{ - System.out.print(false); - } - } + public MyLabel[] getListOfLabels(){ + return this.labelList; } - public MyLabel[] getClikedOnes(){ - return this.temp; + public String getInA(){ + if (this.input1 != null){ + return this.input1.getText(); + }else{ + return ""; + } } - - public void setClickedOnes(){ - for (int i = 0; i < labelList.length ; i++){ - if (labelList[i].getIfClicked() == true){ - temp[i] = (labelList[i]); - } + + public String getInB(){ + if (this.input2 != null){ + return this.input2.getText(); + }else{ + return ""; } } + + public void setInA(String pInput1){ + this.input1.setText(pInput1); + } + + public void setInB(String pInput2){ + this.input2.setText(pInput2); + } + + public void setOut(String pOut){ + this.output.setText(pOut); + } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index 5114ffe..b355d2f 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -27,6 +27,7 @@ import edu.itcr.logictec.constants.Constants; import edu.itcr.logictec.logicaluserinterface.LUI; +import edu.itcr.logictec.logicgates.LogicGate; import java.awt.Color; import java.io.IOException; @@ -50,10 +51,13 @@ public class GUI extends JFrame { private JPanel contentPane; private DrawGate drawGate; private LUI createGates; - private JPanel panel_1; + private MyPanel panel_1; private int listIndex; private String[] gateStrings; private FilteredJList list; + private MyLabel[] labelList = new MyLabel[10]; + private int J = 0; + private LogicGate logicgate; /** @@ -76,9 +80,10 @@ public void run() { /** * Creates the frame and all of its components + * @throws IOException */ - public GUI() { - + public GUI() throws IOException { + drawGate = new DrawGate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 800, 600); @@ -181,7 +186,7 @@ public void actionPerformed(ActionEvent e) { panel.setLayout(gbl_panel); - panel_1 = new JPanel(); + panel_1 = new MyPanel(); panel_1.setBackground(Color.WHITE); contentPane.add(panel_1, BorderLayout.CENTER); @@ -246,28 +251,43 @@ public void actionPerformed(ActionEvent e) { for (int i = 0 ; i < gateStrings.length; i++) if (gateStrings[i] == list.getSelectedValue()){ - drawGate = new DrawGate(220,110,100,(String) list.getSelectedValue(), - panel_1); - createGates = new LUI ((String)list.getSelectedValue()); - createGates.createLogicGates(); - try { - drawGate.paint(); - } catch (IOException pe) { - pe.printStackTrace(); - } + if (J != 10){ + drawGate = new DrawGate(220,110,100,(String) list.getSelectedValue(), + panel_1, labelList); + createGates = new LUI ((String)list.getSelectedValue()); + logicgate = createGates.createLogicGates(); + try { + drawGate.paint(); + } catch (IOException pe) { + pe.printStackTrace(); + } + J++; + }else{ + break; + } } } }); + + panel2.add(btnDraw, "cell 0 2,growx"); final JToggleButton btnConnectTo = new JToggleButton("Connect to"); btnConnectTo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { + if(drawGate.getListOfLabels()[0] == null){ + btnConnectTo.setSelected(false); + }else{ + if (panel_1.getClikedOnes()[0] != null && panel_1.getClikedOnes()[1] != null){ + panel_1.connect(Color.RED); + }else{ + + } + } } }); + btnConnectTo.setHorizontalAlignment(SwingConstants.LEFT); panel2.add(btnConnectTo, "cell 0 3"); - - } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java index 8b53beb..bba6c39 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java @@ -12,21 +12,26 @@ public class MyLabel extends JLabel implements MouseMotionListener, MouseListener { private boolean amIClicked; + private MyPanel panel_1; public MyLabel(){ super(); } - public MyLabel(int px , int py , int pheight){ + public MyLabel(int px , int py , int pheight, MyPanel pPanel_1){ super.setBounds(px, py, pheight, pheight); addMouseMotionListener(this); + addMouseListener(this); + amIClicked = false; + panel_1 = pPanel_1; } - public MyLabel(ImageIcon pimageIcon) { + public MyLabel(ImageIcon pimageIcon, MyPanel pPanel_1) { super(pimageIcon); addMouseMotionListener(this); addMouseListener(this); amIClicked = false; + panel_1 = pPanel_1; } @Override @@ -47,7 +52,7 @@ public void mouseMoved(MouseEvent pmme) { @Override public void mouseClicked(MouseEvent arg0) { amIClicked = true; - + panel_1.setClickedOne(this); } @Override @@ -77,4 +82,8 @@ public void mouseReleased(MouseEvent arg0) { public boolean getIfClicked(){ return amIClicked; } + + public void setIfClicked(boolean true_false){ + this.amIClicked = true_false; + } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java new file mode 100644 index 0000000..f8469fc --- /dev/null +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java @@ -0,0 +1,44 @@ +package edu.itcr.logictec.graphicaluserinterface; + +import java.awt.Color; +import java.awt.Graphics; + +import javax.swing.JPanel; + +public class MyPanel extends JPanel { + + private MyLabel[] clickedOnes; + + public MyPanel(){ + super(); + clickedOnes = new MyLabel[2]; + } + + public void setClickedOne(MyLabel label){ + + if(clickedOnes[0] == null){ + clickedOnes[0] = label; + System.out.println(true); + }else if (clickedOnes[1] == null && clickedOnes[0] != null){ + clickedOnes[1] = label; + }else{ + clickedOnes[0].setIfClicked(false); + clickedOnes[0] = clickedOnes[1]; + clickedOnes[1] = label; + } + + } + + public MyLabel[] getClikedOnes(){ + return this.clickedOnes; + } + + public void connect(Color color){ + if (clickedOnes[0] !=null && clickedOnes[1] !=null){ + Graphics g = this.getGraphics(); + g.setColor(color); + g.drawLine(clickedOnes[0].getX() + 100,clickedOnes[0].getY() + 50, + clickedOnes[1].getX(),clickedOnes[1].getY()); + } + } +} From 411460ac332a4e43a0e620c19a956993e437d8b7 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Sun, 3 Nov 2013 18:21:25 -0600 Subject: [PATCH 21/24] Changed the way the logic gate was setting its root. It was crashing the program. This now creates graphical and logical gates. In addition, it already draws lines. However, thee is still missing the logical implementation of the connection of two gates. MyPanel is now the one storing the lists of labels instead of MyLabel. Everytime we created a new Label, a new list of labels was being created, so we couldnt draw lines between existing labels. --- .../graphicaluserinterface/DrawGate.java | 38 ++++------- .../logictec/graphicaluserinterface/GUI.java | 68 +++++++++++++++---- .../graphicaluserinterface/MyLabel.java | 27 +++++--- .../graphicaluserinterface/MyPanel.java | 25 ++++++- src/edu/itcr/logictec/logicgates/Not.java | 12 ++-- 5 files changed, 113 insertions(+), 57 deletions(-) diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index 70d73ce..408db74 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -86,30 +86,26 @@ public MyLabel paint() throws IOException{ image = ImageIO.read(new File(Constants.notImage)); } - MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1); + MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1, _gateKind); labelList[i] = picLabel; i++; + if(_gateKind != "NOT"){ + picLabel.add(input1); + input1.setBounds(0, 0, 20, 20); + input1.setText("0"); + } - picLabel.add(input1); - input1.setBounds(0, 0, 20, 20); - picLabel.add(input2); input2.setBounds(0,50, 20, 20); + input2.setText("0"); picLabel.add(output); output.setBounds(80,50, 20, 20); panel_1.add(picLabel); picLabel.setBounds(_x,_y,_height,_height); - - - if(getInA()!= null && getInB()!= null ){ - setInA(getInA()); - setInB(getInB()); - setInA(getInA()); - setInB(getInB()); - } + //Creates a temporal list of components for(int i = 0 ; i < panel_1.getComponentCount();i++){ if(i != 9){ @@ -159,20 +155,14 @@ public MyLabel[] getListOfLabels(){ return this.labelList; } - public String getInA(){ - if (this.input1 != null){ - return this.input1.getText(); - }else{ - return ""; - } + public int getInA(){ + int temp = Integer.parseInt(this.input1.getText()); + return temp; } - public String getInB(){ - if (this.input2 != null){ - return this.input2.getText(); - }else{ - return ""; - } + public int getInB(){ + int temp = Integer.parseInt(this.input2.getText()); + return temp; } public void setInA(String pInput1){ diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index b355d2f..b060853 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -220,8 +220,8 @@ public void actionPerformed(ActionEvent arg0) { JPanel panel2 = new JPanel(); contentPane.add(panel2, BorderLayout.EAST); - panel2.setLayout( - new MigLayout("", "[70px,grow][]", "[40px][][][][][grow][grow]")); + panel2.setLayout(new MigLayout("", "[70px,grow][]", + "[40px][][][][][][grow][grow]")); gateStrings = new String[]{"AND","NAND","XOR","XNOR","OR","NOR","NOT"}; @@ -251,13 +251,29 @@ public void actionPerformed(ActionEvent e) { for (int i = 0 ; i < gateStrings.length; i++) if (gateStrings[i] == list.getSelectedValue()){ + if (J != 10){ - drawGate = new DrawGate(220,110,100,(String) list.getSelectedValue(), - panel_1, labelList); - createGates = new LUI ((String)list.getSelectedValue()); + + drawGate = new DrawGate(220,110,100, + (String) list.getSelectedValue(),panel_1, + labelList); + + createGates = + new LUI ((String)list.getSelectedValue()); + logicgate = createGates.createLogicGates(); + try { drawGate.paint(); + if(drawGate.getGateKind()!= "NOT"){ + logicgate.setInA(drawGate.getInA()); + logicgate.setInB(drawGate.getInB()); + drawGate.setOut(Integer.toString((int)logicgate.getExit())); + }else{ + logicgate.setInA(drawGate.getInB()); + logicgate.setInB(drawGate.getInB()); + drawGate.setOut(Integer.toString((int)logicgate.getExit())); + } } catch (IOException pe) { pe.printStackTrace(); } @@ -272,22 +288,46 @@ public void actionPerformed(ActionEvent e) { panel2.add(btnDraw, "cell 0 2,growx"); - final JToggleButton btnConnectTo = new JToggleButton("Connect to"); - btnConnectTo.addActionListener(new ActionListener() { + final JToggleButton btnConnectOIA = new JToggleButton("Connect OIA"); + btnConnectOIA.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(drawGate.getListOfLabels()[0] == null){ - btnConnectTo.setSelected(false); + btnConnectOIA.setSelected(false); + }else{ - if (panel_1.getClikedOnes()[0] != null && panel_1.getClikedOnes()[1] != null){ - panel_1.connect(Color.RED); - }else{ + if (panel_1.getClikedOnes()[0] != + null && panel_1.getClikedOnes()[1] != null){ + panel_1.connectOIA(Color.RED); + btnConnectOIA.setSelected(false); + panel_1.clearClickedOnes(); } } } - }); + }); + btnConnectOIA.setHorizontalAlignment(SwingConstants.LEFT); + panel2.add(btnConnectOIA, "cell 0 3"); - btnConnectTo.setHorizontalAlignment(SwingConstants.LEFT); - panel2.add(btnConnectTo, "cell 0 3"); + final JToggleButton btnConnectOIB = new JToggleButton("Connect OIB"); + btnConnectOIB.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + if(drawGate.getListOfLabels()[0] == null){ + btnConnectOIB.setSelected(false); + + }else{ + if (panel_1.getClikedOnes()[0] != + null && panel_1.getClikedOnes()[1] != null){ + + panel_1.connectOIB(Color.RED); + + btnConnectOIB.setSelected(false); + panel_1.clearClickedOnes(); + } + } + } + }); + btnConnectOIB.setHorizontalAlignment(SwingConstants.LEFT); + panel2.add(btnConnectOIB, "cell 0 4"); } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java index bba6c39..5bdc45e 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyLabel.java @@ -13,6 +13,7 @@ public class MyLabel extends JLabel implements MouseMotionListener, MouseListene private boolean amIClicked; private MyPanel panel_1; + private String gatekind; public MyLabel(){ super(); @@ -26,12 +27,13 @@ public MyLabel(int px , int py , int pheight, MyPanel pPanel_1){ panel_1 = pPanel_1; } - public MyLabel(ImageIcon pimageIcon, MyPanel pPanel_1) { + public MyLabel(ImageIcon pimageIcon, MyPanel pPanel_1, String pGateKind) { super(pimageIcon); addMouseMotionListener(this); addMouseListener(this); amIClicked = false; panel_1 = pPanel_1; + gatekind = pGateKind; } @Override @@ -44,6 +46,21 @@ public void mouseDragged(MouseEvent pmme) { ); } + public boolean getIfClicked(){ + return amIClicked; + } + + public void setIfClicked(boolean true_false){ + this.amIClicked = true_false; + } + + public String getGatekind(){ + return this.gatekind; + } + + public void setGateKind(String pGK){ + this.gatekind = pGK; + } @Override public void mouseMoved(MouseEvent pmme) { // TODO Auto-generated method stub @@ -78,12 +95,4 @@ public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } - - public boolean getIfClicked(){ - return amIClicked; - } - - public void setIfClicked(boolean true_false){ - this.amIClicked = true_false; - } } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java index f8469fc..97ace01 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/MyPanel.java @@ -33,12 +33,33 @@ public MyLabel[] getClikedOnes(){ return this.clickedOnes; } - public void connect(Color color){ + public void connectOIA(Color color){ + if (clickedOnes[1].getGatekind() == "NOT"){ + Graphics g = this.getGraphics(); + g.setColor(color); + g.drawLine(clickedOnes[0].getX() + 100,clickedOnes[0].getY() + 50, + clickedOnes[1].getX(),clickedOnes[1].getY()+50); + }else{ + if (clickedOnes[0] !=null && clickedOnes[1] !=null){ + Graphics g = this.getGraphics(); + g.setColor(color); + g.drawLine(clickedOnes[0].getX() + 100,clickedOnes[0].getY() + 50, + clickedOnes[1].getX(),clickedOnes[1].getY()); + } + } + } + + public void connectOIB(Color color){ if (clickedOnes[0] !=null && clickedOnes[1] !=null){ Graphics g = this.getGraphics(); g.setColor(color); g.drawLine(clickedOnes[0].getX() + 100,clickedOnes[0].getY() + 50, - clickedOnes[1].getX(),clickedOnes[1].getY()); + clickedOnes[1].getX(),clickedOnes[1].getY()+50); } } + + public void clearClickedOnes(){ + clickedOnes[0] = null; + clickedOnes[1] = null; + } } diff --git a/src/edu/itcr/logictec/logicgates/Not.java b/src/edu/itcr/logictec/logicgates/Not.java index 2d7b064..63fb43e 100644 --- a/src/edu/itcr/logictec/logicgates/Not.java +++ b/src/edu/itcr/logictec/logicgates/Not.java @@ -40,14 +40,10 @@ public void setInB(int pdata){ * Sets the output of the logic gate as a Not gate would. */ protected void setRoot(){ - if(this.root.getRight() == null || this.root.getLeft() == null){ - return; - } else{ - if(this.root.getData() == 0){ - this.root.setData(1); - } else{ - this.root.setData(0); - } + if(this.root.getLeft().getData() == 0){ + this.root.setData(1); + }else{ + this.root.setData(0); } } } From 4c205f69072708b86e8e703cf7ae5fecf1c18e61 Mon Sep 17 00:00:00 2001 From: Zyoruk Date: Sun, 3 Nov 2013 21:53:02 -0600 Subject: [PATCH 22/24] Joining Logic with Graphics through a GUI class. --- .../AskNumberLogicGates.java | 80 ------- .../graphicaluserinterface/DrawGate.java | 39 +++- .../logictec/graphicaluserinterface/GUI.java | 217 +++++++++--------- .../graphicaluserinterface/MyLabel.java | 7 +- .../logictec/logicaluserinterface/LUI.java | 5 + 5 files changed, 160 insertions(+), 188 deletions(-) delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/AskNumberLogicGates.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/AskNumberLogicGates.java b/src/edu/itcr/logictec/graphicaluserinterface/AskNumberLogicGates.java deleted file mode 100644 index 4f5c1b5..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/AskNumberLogicGates.java +++ /dev/null @@ -1,80 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - -import java.awt.EventQueue; - -import javax.swing.JDialog; -import javax.swing.JTextPane; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.SystemColor; -import javax.swing.UIManager; -import javax.swing.JTextField; -import javax.swing.JLabel; -import javax.swing.JInternalFrame; -import javax.swing.JRadioButtonMenuItem; -import javax.swing.JDesktopPane; -import javax.swing.ButtonGroup; -import javax.swing.JMenu; -import java.awt.TextField; -import javax.swing.JButton; - -public class AskNumberLogicGates extends JDialog { - private final ButtonGroup buttonGroup = new ButtonGroup(); - private final ButtonGroup buttonGroup_1 = new ButtonGroup(); - - /** - * Launch the application. - */ - public static void main(String[] args) { - EventQueue.invokeLater(new Runnable() { - public void run() { - try { - AskNumberLogicGates dialog = new AskNumberLogicGates(); - dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); - dialog.setVisible(true); - } catch (Exception e) { - e.printStackTrace(); - } - } - }); - } - - /** - * Create the dialog. - */ - public AskNumberLogicGates() { - setResizable(false); - setTitle("LogiCTec - Asking number of logic gates"); - setBounds(100, 100, 450, 300); - - JTextPane txtpnEnterNumber = new JTextPane(); - txtpnEnterNumber.setForeground(Color.BLACK); - txtpnEnterNumber.setBackground(UIManager.getColor("Button.background")); - txtpnEnterNumber.setEditable(false); - txtpnEnterNumber.setText("Greetings user.\nPlease, enter the number of gates you are going to use :"); - getContentPane().add(txtpnEnterNumber, BorderLayout.NORTH); - - JDesktopPane desktopPane = new JDesktopPane(); - desktopPane.setBackground(UIManager.getColor("Button.background")); - getContentPane().add(desktopPane, BorderLayout.CENTER); - - TextField textNumbers = new TextField(); - textNumbers.setBounds(200, 33, 96, 19); - desktopPane.add(textNumbers); - - JLabel lblNumberOfGates = new JLabel("Number of gates:"); - lblNumberOfGates.setBounds(61, -72, 123, 232); - desktopPane.add(lblNumberOfGates); - - JButton btnCancel = new JButton("Cancel"); - btnCancel.setBackground(UIManager.getColor("Button.disabledToolBarBorderBackground")); - btnCancel.setBounds(102, 195, 117, 25); - desktopPane.add(btnCancel); - - JButton btnOK = new JButton("OK"); - btnOK.setBackground(UIManager.getColor("Button.disabledText")); - btnOK.setBounds(231, 195, 117, 25); - desktopPane.add(btnOK); - - } -} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index 408db74..942e1de 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -1,6 +1,9 @@ package edu.itcr.logictec.graphicaluserinterface; - +/** + * Class on charge of drawing the respective gate with its image. + * It creates a MyLabel. + */ import java.awt.Color; import java.awt.Component; @@ -89,7 +92,11 @@ public MyLabel paint() throws IOException{ MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1, _gateKind); labelList[i] = picLabel; i++; - + + /* + * We create 3 textfields for every new gate. + * The "Not" gate has only one input, then we dont add to it a textfield + */ if(_gateKind != "NOT"){ picLabel.add(input1); input1.setBounds(0, 0, 20, 20); @@ -147,32 +154,60 @@ public void reDo(){ } } + /** + * return the kind of gate that has been created + * @return _gateKind which is a String. + */ public String getGateKind(){ return this._gateKind; } + /** + * Gets the list of MyLabels created + * @return lalbelList + */ public MyLabel[] getListOfLabels(){ return this.labelList; } + /** + * Gets the value of the input 1 as an Integer. + * @return temp + */ public int getInA(){ int temp = Integer.parseInt(this.input1.getText()); return temp; } + /** + * Gets the value of the input 2 as an Integer. + * @return temp + */ public int getInB(){ int temp = Integer.parseInt(this.input2.getText()); return temp; } + /** + * Sets the value of the Input1 + * @param pInput1 + */ public void setInA(String pInput1){ this.input1.setText(pInput1); } + /** + * Sets the value of the Input2 + * @param pInput2 + */ public void setInB(String pInput2){ this.input2.setText(pInput2); } + /** + * sets the value ofr the output of the gate + * @param pOut + */ public void setOut(String pOut){ this.output.setText(pOut); } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index b060853..81b55fc 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -58,15 +58,16 @@ public class GUI extends JFrame { private MyLabel[] labelList = new MyLabel[10]; private int J = 0; private LogicGate logicgate; - + private LogicGate[] logicgatelist; + /** - * Launch the application. + * Launches the application. */ public static void main(String[] args) { - + EventQueue.invokeLater(new Runnable() { - + public void run() { try { GUI frame = new GUI(); @@ -83,113 +84,111 @@ public void run() { * @throws IOException */ public GUI() throws IOException { + // we are gonna use these objects drawGate = new DrawGate(); - setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - + logicgatelist = new LogicGate[2]; + + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 800, 600); - + + // menu at the top of the frame JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); - + + // menu inside the top menu JMenu mnAccesories = new JMenu("Accesories"); mnAccesories.setIcon(new ImageIcon(GUI.class.getResource( - Constants.menuGIF))); + Constants.menuGIF))); menuBar.add(mnAccesories); - - JButton btnImport = new JButton("Import"); - + + // button that will let us import a component + JButton btnImport = new JButton("Import"); btnImport.setIcon(new ImageIcon(GUI.class.getResource( - Constants.directoryGIF))); + Constants.directoryGIF))); btnImport.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.out.print("Esto tiene que abrir desde un XML"); } }); - + mnAccesories.add(btnImport); - + + // button that will let us save our current component JButton btnSave = new JButton("Save"); btnSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.print("Esto tiene que guardar en un XML"); } }); - + btnSave.setIcon(new ImageIcon(GUI.class.getResource( - Constants.floppyGIF))); + Constants.floppyGIF))); mnAccesories.add(btnSave); - - JButton btnCreateTable = new JButton("CreateTable"); - btnCreateTable.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent e) { - System.out.print("Tiene que mostrar una ventana con la tabla de" - + " verdad de la compuerta"); - } - }); - - mnAccesories.add(btnCreateTable); - + + // menu inside the top menu JMenu mnHelp = new JMenu("Help"); mnHelp.setIcon(new ImageIcon(GUI.class.getResource( - Constants.infoGIF))); + Constants.infoGIF))); menuBar.add(mnHelp); - - + + // button that will open a document JButton btnDoc = new JButton("Information"); btnDoc.addActionListener(new ActionListener() { - + public void actionPerformed(ActionEvent e) { System.out.print("Abre la documentacion"); } }); mnHelp.add(btnDoc); - + + // button that will undo changes JButton btnUndo1 = new JButton("Undo"); btnUndo1.addActionListener(new ActionListener() { - + public void actionPerformed(ActionEvent e) { drawGate.unDo(); createGates.undo(); } }); menuBar.add(btnUndo1); - + + // button that will redo removals JButton btnRedo1 = new JButton("Redo"); btnRedo1.addActionListener(new ActionListener() { - + public void actionPerformed(ActionEvent e) { drawGate.reDo(); createGates.redo(); } }); menuBar.add(btnRedo1); - - + + contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.setLayout(new BorderLayout(0, 0)); setContentPane(contentPane); - + Panel panel = new Panel(); contentPane.add(panel, BorderLayout.EAST); - + GridBagLayout gbl_panel = new GridBagLayout(); - + gbl_panel.columnWidths = new int[]{129, 0}; - + gbl_panel.rowHeights = new int[]{19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - + gbl_panel.columnWeights = new double[]{1.0, Double.MIN_VALUE}; - + gbl_panel.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, - 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; - + 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE}; + panel.setLayout(gbl_panel); - + panel_1 = new MyPanel(); panel_1.setBackground(Color.WHITE); contentPane.add(panel_1, BorderLayout.CENTER); - + JLabel lblLogicGates = new JLabel("Compuertas logicas"); GridBagConstraints gbc_lblLogicGates = new GridBagConstraints(); gbc_lblLogicGates.fill = GridBagConstraints.BOTH; @@ -197,82 +196,64 @@ public void actionPerformed(ActionEvent e) { gbc_lblLogicGates.gridx = 0; gbc_lblLogicGates.gridy = 0; panel.add(lblLogicGates, gbc_lblLogicGates); - - JToggleButton btnDrawLine = new JToggleButton("DrawLine"); - btnDrawLine.addActionListener(new ActionListener() { - public void actionPerformed(ActionEvent arg0) { - } - }); - - - btnDrawLine.setHorizontalAlignment(SwingConstants.LEFT); - - GridBagConstraints gbc_btnDrawLine = new GridBagConstraints(); - gbc_btnDrawLine.anchor = GridBagConstraints.WEST; - gbc_btnDrawLine.fill = GridBagConstraints.HORIZONTAL; - gbc_btnDrawLine.insets = new Insets(0, 0, 5, 0); - gbc_btnDrawLine.gridx = 0; - gbc_btnDrawLine.gridy = 8; - - panel.add(btnDrawLine, gbc_btnDrawLine); - - JPanel panel2 = new JPanel(); contentPane.add(panel2, BorderLayout.EAST); panel2.setLayout(new MigLayout("", "[70px,grow][]", - "[40px][][][][][][grow][grow]")); - + "[40px][][][][][][grow][grow]")); + gateStrings = new String[]{"AND","NAND","XOR","XNOR","OR","NOR","NOT"}; - + list= new FilteredJList(); list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - for (int i=0; i Date: Mon, 4 Nov 2013 13:10:36 -0600 Subject: [PATCH 23/24] Created methods for certain stuff. Having the issue that when we create a new gate, it changes all the exisiting gate outputs. --- .../graphicaluserinterface/DrawGate.java | 38 +-- .../graphicaluserinterface/DrawLine.java | 56 ---- .../graphicaluserinterface/FilteredJList.java | 12 +- .../logictec/graphicaluserinterface/GUI.java | 241 +++++++++++------- .../graphicaluserinterface/MyLabel.java | 19 +- .../graphicaluserinterface/MyListModel.java | 1 + .../graphicaluserinterface/MyPanel.java | 43 +--- .../logictec/logicaluserinterface/LUI.java | 3 + 8 files changed, 193 insertions(+), 220 deletions(-) delete mode 100644 src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index 942e1de..82c777f 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -5,26 +5,14 @@ * It creates a MyLabel. */ -import java.awt.Color; import java.awt.Component; -import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; -import java.util.ArrayList; import javax.imageio.ImageIO; import javax.swing.ImageIcon; -import javax.swing.JComponent; import javax.swing.JTextField; import edu.itcr.logictec.constants.Constants; -import edu.itcr.logictec.logicgates.And; -import edu.itcr.logictec.logicgates.LogicGate; -import edu.itcr.logictec.logicgates.Nand; -import edu.itcr.logictec.logicgates.Nor; -import edu.itcr.logictec.logicgates.Not; -import edu.itcr.logictec.logicgates.Or; -import edu.itcr.logictec.logicgates.Xnor; -import edu.itcr.logictec.logicgates.Xor; public class DrawGate{ private int _x; @@ -33,30 +21,29 @@ public class DrawGate{ private String _gateKind; private MyPanel panel_1; private int i = 0; - private MyLabel[] clickedOnes; private Component[] components ; private MyLabel[] labelList; private JTextField input1; private JTextField input2; private JTextField output; + private GUI theGUI; public DrawGate(){ components = new Component[10]; - clickedOnes = new MyLabel[2]; } - public DrawGate(int px,int py,int ph,String ptc,MyPanel pPanel_1, MyLabel[] pLabelList){ - this._x = px; - this._y = py; - this._height = ph; - this._gateKind = ptc; - this.panel_1 = pPanel_1; + public DrawGate(int px,int py,int ph,String ptc,MyPanel pPanel_1, MyLabel[] pLabelList, GUI pGUI){ + _x = px; + _y = py; + _height = ph; + _gateKind = ptc; + panel_1 = pPanel_1; components = new Component[10]; - this.labelList = pLabelList; - clickedOnes = new MyLabel[2]; + labelList = pLabelList; input1 = new JTextField(); input2 = new JTextField(); output = new JTextField(); + theGUI = pGUI; } /** @@ -89,9 +76,7 @@ public MyLabel paint() throws IOException{ image = ImageIO.read(new File(Constants.notImage)); } - MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1, _gateKind); - labelList[i] = picLabel; - i++; + MyLabel picLabel = new MyLabel(new ImageIcon(image), panel_1, _gateKind, theGUI); /* * We create 3 textfields for every new gate. @@ -122,8 +107,7 @@ public MyLabel paint() throws IOException{ } } - return picLabel; - + return picLabel; } /** diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java deleted file mode 100644 index 94c85e3..0000000 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawLine.java +++ /dev/null @@ -1,56 +0,0 @@ -package edu.itcr.logictec.graphicaluserinterface; - -import java.awt.Color; -import java.awt.Graphics; -import java.awt.Point; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseMotionAdapter; - -import javax.swing.JPanel; - -public class DrawLine extends JPanel { - - private int _x; - private int _y; - private int _x2; - private int _y2; - private Color c; - private Point _startsDragging; - private Point _stopsDragging; - - public DrawLine(){ - super(); - addMouseListener(new MouseAdapter() { - - public void mousePressed(MouseEvent e) { // cuando se presiona el mouse - _startsDragging = new Point(e.getX(), e.getY()); - _stopsDragging = _startsDragging; - repaint(); - } - - public void mouseReleased(MouseEvent e) { // cuando se deja de presionar el mouse - _x = _startsDragging.x; - _y = _startsDragging.y; - _x2 = e.getX(); - _y2 = e.getY(); - _startsDragging = null; - _stopsDragging = null; - } - }); - addMouseMotionListener(new MouseMotionAdapter() { - - public void mouseDragged(MouseEvent e) { // cuando se esta arrastrando el mouse - _stopsDragging = new Point(e.getX(), e.getY()); - } - }); - System.out.println(_x); - } - public void setColor(Color pcolor){ - this.c = pcolor; - } - public void paint(Graphics g){ - - g.drawLine(_x, _y, _x2, _y2); - } -} diff --git a/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java b/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java index 30ca0cf..f193719 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/FilteredJList.java @@ -1,18 +1,15 @@ package edu.itcr.logictec.graphicaluserinterface; -import java.awt.BorderLayout; import java.util.ArrayList; import javax.swing.AbstractListModel; -import javax.swing.JFrame; import javax.swing.JList; -import javax.swing.JScrollPane; import javax.swing.JTextField; import javax.swing.ListModel; -import javax.swing.ScrollPaneConstants; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; +@SuppressWarnings({ "serial", "rawtypes" }) public class FilteredJList extends JList { private FilterField filterField; private int DEFAULT_FIELD_WIDTH = 10; @@ -23,7 +20,8 @@ public FilteredJList() { filterField = new FilterField (DEFAULT_FIELD_WIDTH); } - public void setModel (ListModel m) { + @SuppressWarnings("unchecked") + public void setModel (ListModel m) { if (! (m instanceof FilterModel)) throw new IllegalArgumentException(); super.setModel(m); @@ -54,12 +52,14 @@ public Object getElementAt (int index) { public int getSize() { return filterItems.size(); } + @SuppressWarnings("unchecked") public void addElement (Object o) { items.add (o); refilter(); } - private void refilter() { + @SuppressWarnings("unchecked") + private void refilter() { filterItems.clear(); String term = getFilterField().getText(); for (int i=0; i Date: Mon, 4 Nov 2013 22:18:31 -0600 Subject: [PATCH 24/24] Made some changes. Now it saves into a XML. Changed the way gates were stored. Gates now set their output according to their entries and kind of gate. --- NewComponent.xml | 1 + .../itcr/logictec/constants/Constants.java | 2 + .../graphicaluserinterface/DrawGate.java | 8 +- .../logictec/graphicaluserinterface/GUI.java | 74 +++++++++++-------- .../logictec/logicaluserinterface/LUI.java | 56 ++++++-------- .../itcr/logictec/logicgates/LogicGate.java | 1 + src/edu/itcr/logictec/save/Toxml.java | 4 +- 7 files changed, 78 insertions(+), 68 deletions(-) create mode 100644 NewComponent.xml diff --git a/NewComponent.xml b/NewComponent.xml new file mode 100644 index 0000000..26c9adf --- /dev/null +++ b/NewComponent.xml @@ -0,0 +1 @@ +100 \ No newline at end of file diff --git a/src/edu/itcr/logictec/constants/Constants.java b/src/edu/itcr/logictec/constants/Constants.java index 289edeb..7ea666b 100644 --- a/src/edu/itcr/logictec/constants/Constants.java +++ b/src/edu/itcr/logictec/constants/Constants.java @@ -35,4 +35,6 @@ public class Constants { public static final String xorImage = "imagenescompuertas/xor.png"; + public static final String fileXML = "NewComponent.xml"; + } diff --git a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java index 82c777f..045dadb 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/DrawGate.java @@ -131,9 +131,9 @@ public void unDo(){ public void reDo(){ if (i < components.length){ if (components[i] !=null){ - panel_1.add(components[i]); - panel_1.repaint(); - i++; + panel_1.add(components[i]); + panel_1.repaint(); + i++; } } } @@ -189,7 +189,7 @@ public void setInB(String pInput2){ } /** - * sets the value ofr the output of the gate + * sets the value for the output of the gate * @param pOut */ public void setOut(String pOut){ diff --git a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java index b5bdc3f..670ebe7 100644 --- a/src/edu/itcr/logictec/graphicaluserinterface/GUI.java +++ b/src/edu/itcr/logictec/graphicaluserinterface/GUI.java @@ -28,6 +28,7 @@ import edu.itcr.logictec.constants.Constants; import edu.itcr.logictec.logicaluserinterface.LUI; import edu.itcr.logictec.logicgates.LogicGate; +import edu.itcr.logictec.save.Toxml; import java.awt.Color; import java.io.IOException; @@ -63,11 +64,13 @@ public class GUI extends JFrame { //variables for logical part @SuppressWarnings("rawtypes") + private LogicGate[] lgClickedOnes; + @SuppressWarnings("rawtypes") private LogicGate[] logicgatelist; private LUI createGates; - @SuppressWarnings("rawtypes") private LogicGate logicgate; + private static GUI frame; @@ -96,8 +99,9 @@ public void run() { public GUI() throws IOException { // we are gonna use these objects drawGate = new DrawGate(); - logicgatelist = new LogicGate[2]; + lgClickedOnes = new LogicGate[2]; gatelist = new DrawGate[10]; + logicgatelist = new LogicGate[10]; clickedOnes = new MyLabel[2]; setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); @@ -130,7 +134,7 @@ public void actionPerformed(ActionEvent arg0) { JButton btnSave = new JButton("Save"); btnSave.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - System.out.print("Esto tiene que guardar en un XML"); + save(); } }); @@ -158,7 +162,7 @@ public void actionPerformed(ActionEvent e) { btnUndo1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { drawGate.unDo(); - createGates.undo(); + J = createGates.undo(logicgatelist, J); } }); menuBar.add(btnUndo1); @@ -168,7 +172,7 @@ public void actionPerformed(ActionEvent e) { btnRedo1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { drawGate.reDo(); - createGates.redo(); + J = createGates.redo(logicgatelist, J); } }); menuBar.add(btnRedo1); @@ -293,25 +297,24 @@ public void actionPerformed(ActionEvent e) { //Checks the entries of the gates and set the exit. @SuppressWarnings("unchecked") public void check(){ + for(int i = 0 ;i < gatelist.length; i ++){ + System.out.println(gatelist[i]); if (gatelist[i] == null){ break; } - if(gatelist[i].getGateKind()!= "NOT"){ - gatelist[i].setInA(Integer.toString(gatelist[i].getInA())); - gatelist[i].setInB(Integer.toString(gatelist[i].getInB())); - logicgate.setInA(gatelist[i].getInA()); - logicgate.setInB(gatelist[i].getInB()); + if(gatelist[i].getGateKind()!= "NOT"){ + logicgatelist[i].setInA(gatelist[i].getInA()); + logicgatelist[i].setInB(gatelist[i].getInB()); + gatelist[i].setOut(Integer.toString( - (int)logicgate.getExit())); - }else{ - gatelist[i].setInA(Integer.toString(gatelist[i].getInA())); - gatelist[i].setInB(Integer.toString(gatelist[i].getInB())); - logicgate.setInA(gatelist[i].getInB()); - logicgate.setInB(gatelist[i].getInB()); + (int)logicgatelist[i].getExit())); + }else{ + logicgatelist[i].setInA(gatelist[i].getInB()); + logicgatelist[i].setInB(gatelist[i].getInB()); gatelist[i].setOut(Integer.toString( - (int)logicgate.getExit())); - repaint(); + (int)logicgatelist[i].getExit())); + } } } @@ -324,15 +327,15 @@ public void connectOIA(){ createGates = new LUI (getClickedOnes()[0].getGatekind()); - logicgate = createGates.createLogicGates(); - logicgatelist[0] = logicgate; + logicgate = createGates.createLogicGates(logicgatelist, J); + lgClickedOnes[0] = logicgate; createGates = new LUI (getClickedOnes()[1].getGatekind()); - logicgate = createGates.createLogicGates(); - logicgatelist[1] = logicgate; - logicgatelist[0].connectGatesA(logicgatelist[1]); + logicgate = createGates.createLogicGates(logicgatelist, J); + lgClickedOnes[1] = logicgate; + lgClickedOnes[0].connectGatesA(lgClickedOnes[1]); clearClickedOnes(); } @@ -343,15 +346,15 @@ public void connectOIB(){ createGates = new LUI (getClickedOnes()[0].getGatekind()); - logicgate = createGates.createLogicGates(); - logicgatelist[0] = logicgate; + logicgate = createGates.createLogicGates(logicgatelist, J); + lgClickedOnes[0] = logicgate; createGates = new LUI (getClickedOnes()[1].getGatekind()); - logicgate = createGates.createLogicGates(); - logicgatelist[1] = logicgate; + logicgate = createGates.createLogicGates(logicgatelist, J); + lgClickedOnes[1] = logicgate; - logicgatelist[0].connectGatesB(logicgatelist[1]); + lgClickedOnes[0].connectGatesB(lgClickedOnes[1]); clearClickedOnes(); } @@ -392,7 +395,8 @@ public void createGate(){ createGates = new LUI ((String)list.getSelectedValue()); - logicgate = createGates.createLogicGates(); + logicgate = createGates.createLogicGates(logicgatelist, J); + logicgatelist[J] = logicgate; try { drawGate.paint(); @@ -402,4 +406,16 @@ public void createGate(){ } } + public void save(){ + Toxml xml = new Toxml(); + for (int i = 0; i createLogicGates(){ + public LogicGate createLogicGates(LogicGate[] pArray, int J){ if (_gateKind == "AND"){ LogicGate AND = new And(); - myLogicGateList [i] = AND; - i++; + pArray[J] = AND; return AND; }else if (_gateKind == "NAND"){ LogicGate NAND = new Nand(); - myLogicGateList [i] = NAND; - i++; + pArray[J] = NAND; return NAND; }else if (_gateKind == "XOR"){ LogicGate XOR = new Xor(); - myLogicGateList [i] = XOR; - i++; + pArray[J] = XOR; return XOR; }else if (_gateKind == "XNOR"){ LogicGate XNOR = new Xnor(); - myLogicGateList [i] = XNOR; - i++; + pArray[J] = XNOR; return XNOR; }else if (_gateKind == "OR"){ LogicGate OR = new Or(); - myLogicGateList [i] = OR; - i++; + pArray[J] = OR; return OR; }else if (_gateKind == "NOR"){ LogicGate NOR = new Nor(); - myLogicGateList [i] = NOR; - i++; + pArray[J] = NOR; return NOR; }else{ LogicGate NOT = new Not(); - myLogicGateList [i] = NOT; - i++; + pArray[J] = NOT; return NOT; } } - public void undo(){ - if (this.myLogicGateList.length!=0){ - this.myLogicGateList[i] = null; - if(i != 0){ - i--; - } + public int undo(LogicGate[] pArray, int J){ + if (pArray[0] != null){ + pArray[J] = null; + J--; } + return J; } - public void redo(){ - this.myTemporalLogicGateList = buildTemporalList(); - if (i < this.myLogicGateList.length){ - this.myLogicGateList[i] = this.myTemporalLogicGateList[i]; - i++; + public int redo(LogicGate[] pArray, int J){ + this.myTemporalLogicGateList = buildTemporalList(pArray); + if (J < pArray.length){ + pArray[J] = this.myTemporalLogicGateList[J]; + J++; } + return J; } @SuppressWarnings("rawtypes") - private LogicGate[] buildTemporalList(){ - for (int i = 0; i