diff --git a/biblioteca.vpp b/biblioteca.vpp index a756ad3..8f6e6ea 100644 Binary files a/biblioteca.vpp and b/biblioteca.vpp differ diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java index 215fb0e..ff52387 100644 --- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java +++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java @@ -16,8 +16,9 @@ import xyz.danielcortes.controllers.categoria.CategoriaSearchController; import xyz.danielcortes.controllers.categoria.CategoriaUpdateController; import xyz.danielcortes.controllers.categoria.CategoriaViewController; import xyz.danielcortes.controllers.editorial.EditorialCreateController; -import xyz.danielcortes.controllers.editorial.EditorialListController; +import xyz.danielcortes.controllers.editorial.EditorialSearchController; import xyz.danielcortes.controllers.editorial.EditorialUpdateController; +import xyz.danielcortes.controllers.editorial.EditorialViewController; import xyz.danielcortes.controllers.idioma.IdiomaCreateController; import xyz.danielcortes.controllers.idioma.IdiomaListController; import xyz.danielcortes.controllers.idioma.IdiomaUpdateController; @@ -35,8 +36,9 @@ import xyz.danielcortes.views.categoria.CategoriaSearchPanel; import xyz.danielcortes.views.categoria.CategoriaUpdatePanel; import xyz.danielcortes.views.categoria.CategoriaViewPanel; import xyz.danielcortes.views.editorial.EditorialCreatePanel; -import xyz.danielcortes.views.editorial.EditorialListPanel; +import xyz.danielcortes.views.editorial.EditorialSearchPanel; import xyz.danielcortes.views.editorial.EditorialUpdatePanel; +import xyz.danielcortes.views.editorial.EditorialViewPanel; import xyz.danielcortes.views.idioma.IdiomaCreatePanel; import xyz.danielcortes.views.idioma.IdiomaListPanel; import xyz.danielcortes.views.idioma.IdiomaUpdatePanel; @@ -80,13 +82,14 @@ public class LaunchController { this.controllers.put(PanelName.CATEGORIA_UPDATE, new CategoriaUpdateController(new CategoriaUpdatePanel(), this)); this.controllers.put(PanelName.CATEGORIA_VIEW, new CategoriaViewController(new CategoriaViewPanel(), this)); - this.controllers.put(PanelName.EDITORIAL_SEARCH, new EditorialListController(new EditorialListPanel(), this)); + this.controllers.put(PanelName.EDITORIAL_VIEW, new EditorialViewController(new EditorialViewPanel(), this)); + this.controllers.put(PanelName.EDITORIAL_SEARCH, new EditorialSearchController(new EditorialSearchPanel(), this)); this.controllers.put(PanelName.EDITORIAL_CREATE, new EditorialCreateController(new EditorialCreatePanel(), this)); this.controllers.put(PanelName.EDITORIAL_UPDATE, new EditorialUpdateController(new EditorialUpdatePanel(), this)); + for (PanelName name : this.controllers.keySet()) { BaseController controller = this.controllers.get(name); - controller.show(); this.frame.addCard(controller.getView().getContentPane(), name); } diff --git a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialListController.java b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialListController.java deleted file mode 100644 index f5cc6f9..0000000 --- a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialListController.java +++ /dev/null @@ -1,41 +0,0 @@ -package xyz.danielcortes.controllers.editorial; - -import java.util.List; -import xyz.danielcortes.controllers.BaseController; -import xyz.danielcortes.controllers.LaunchController; -import xyz.danielcortes.framework.BaseTableModel; -import xyz.danielcortes.models.Editorial; -import xyz.danielcortes.repository.EditorialRepository; -import xyz.danielcortes.views.BasePanel; -import xyz.danielcortes.views.editorial.EditorialListPanel; - -public class EditorialListController extends BaseController { - private EditorialListPanel view; - private EditorialRepository editorialRepository; - - public EditorialListController(EditorialListPanel view, LaunchController parent) { - super(parent); - this.view = view; - this.editorialRepository = new EditorialRepository(); - this.loadEditorialTable(); - } - - @Override - public void show() { - this.reload(); - } - - public void reload() { - this.loadEditorialTable(); - } - - private void loadEditorialTable(){ - List editoriales = this.editorialRepository.getAll(); - BaseTableModel model = this.view.getEditorialModel(); - model.setRows(editoriales); - } - - public BasePanel getView() { - return view; - } -} diff --git a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialSearchController.java b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialSearchController.java new file mode 100644 index 0000000..e2ec420 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialSearchController.java @@ -0,0 +1,117 @@ +package xyz.danielcortes.controllers.editorial; + +import java.util.List; +import javax.swing.JOptionPane; +import xyz.danielcortes.controllers.BaseController; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Editorial; +import xyz.danielcortes.repository.EditorialRepository; +import xyz.danielcortes.views.BasePanel; +import xyz.danielcortes.views.editorial.EditorialSearchPanel; + +public class EditorialSearchController extends BaseController { + private EditorialSearchPanel view; + private EditorialRepository editorialRepository; + private EditorialValidator validator; + + public EditorialSearchController(EditorialSearchPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.editorialRepository = new EditorialRepository(); + this.validator = new EditorialValidator(this.editorialRepository); + this.loadEditorialTable(); + this.setupListeners(); + } + @Override + public void show() { + this.reload(); + } + + public void reload() { + this.loadEditorialTable(); + } + + private void setupListeners(){ + this.view.getBuscarButton().addActionListener(e -> search()); + this.view.getBuscarField().addActionListener(e -> search()); + this.view.getEliminarButton().addActionListener(e -> delete()); + this.view.getEditarButton().addActionListener(e -> edit()); + this.view.getVerButton().addActionListener(e -> view()); + } + + private void view() { + Editorial editorial = this.getSelectedEditorial(); + if(editorial != null) { + EditorialViewController controller = (EditorialViewController) this.getParentController().getCard(PanelName.EDITORIAL_VIEW); + controller.setEditorial(editorial); + this.getParentController().showCard(PanelName.EDITORIAL_VIEW); + } + } + + private void edit() { + Editorial editorial = this.getSelectedEditorial(); + if(editorial != null) { + EditorialUpdateController controller = (EditorialUpdateController) this.getParentController().getCard(PanelName.EDITORIAL_UPDATE); + controller.setEditorial(editorial); + this.getParentController().showCard(PanelName.EDITORIAL_UPDATE); + } + } + + private void delete() { + Editorial editorial = this.getSelectedEditorial(); + if (editorial == null) + return; + if(!this.validator.isDeleteable(editorial)) + return; + + int option = JOptionPane.showConfirmDialog( + null, + "¿Estas seguro de que deseas eliminar la editorial?", + "Confirmacion", + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE + ); + if (option == JOptionPane.NO_OPTION) + return; + + this.editorialRepository.delete(editorial); + this.reload(); + } + + private void search() { + String term = this.view.getBuscarField().getText(); + List editoriales = this.editorialRepository.search(term); + this.loadEditorialTable(editoriales); + } + + private void loadEditorialTable(List editoriales){ + BaseTableModel model = this.view.getEditorialModel(); + model.setRows(editoriales); + } + + private void loadEditorialTable(){ + List editoriales = this.editorialRepository.getAll(); + loadEditorialTable(editoriales); + } + + private Editorial getSelectedEditorial() { + int selectedRow = this.view.getEditorialTable().getSelectedRow(); + if (selectedRow == -1) { + JOptionPane.showMessageDialog( + null, + "No hay editorial seleccionada", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return null; + } + + return this.view.getEditorialModel().getRow(selectedRow); + } + + public BasePanel getView() { + return view; + } +} diff --git a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialUpdateController.java b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialUpdateController.java index fc3c26d..3936756 100644 --- a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialUpdateController.java +++ b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialUpdateController.java @@ -1,9 +1,8 @@ package xyz.danielcortes.controllers.editorial; -import java.util.List; -import javax.swing.JComboBox; import xyz.danielcortes.controllers.BaseController; import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.PanelName; import xyz.danielcortes.models.Editorial; import xyz.danielcortes.repository.EditorialRepository; import xyz.danielcortes.views.BasePanel; @@ -14,6 +13,7 @@ public class EditorialUpdateController extends BaseController { private EditorialUpdatePanel view; private EditorialRepository editorialRepository; private EditorialValidator validator; + private Editorial editorial; public EditorialUpdateController(EditorialUpdatePanel view, LaunchController parent) { super(parent); @@ -25,50 +25,35 @@ public class EditorialUpdateController extends BaseController { @Override public void show() { - this.reload(); - this.view.getEditorialCombo().requestFocus(); + if(this.editorial == null) + return; + + this.view.getNombreField().setText(this.editorial.getNombre()); + this.view.getNombreField().requestFocus(); + } + + public void setEditorial(Editorial editorial) { + this.editorial = editorial; } private void setupListeners() { - this.view.getEditorialCombo().addActionListener(e -> { - Editorial selected = (Editorial) this.view.getEditorialCombo().getSelectedItem(); - if (selected != null) - this.view.getNombreField().setText(selected.getNombre()); - }); this.view.getNombreField().addActionListener(e -> this.update()); this.view.getActualizarButton().addActionListener(e -> this.update()); } private void update() { - Editorial original = (Editorial) this.view.getEditorialCombo().getSelectedItem(); - if (!this.validator.validateOriginal(original)) + if (!this.validator.validateOriginal(this.editorial)) return; String nombre = this.view.getNombreField().getText(); if (!this.validator.validateNombre(nombre)) return; - assert original != null; - original.setNombre(nombre); - this.editorialRepository.update(original); + assert this.editorial != null; + this.editorial.setNombre(nombre); + this.editorialRepository.update(this.editorial); - this.view.getNombreField().setText(""); - this.loadEditorialCombo(); - this.view.getNombreField().requestFocus(); - } - - - public void reload() { - this.loadEditorialCombo(); - } - - private void loadEditorialCombo() { - List editoriales = this.editorialRepository.getAll(); - JComboBox combobox = this.view.getEditorialCombo(); - combobox.removeAllItems(); - for(Editorial editorial: editoriales) { - combobox.addItem(editorial); - } + this.getParentController().showCard(PanelName.EDITORIAL_SEARCH); } public BasePanel getView() { diff --git a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialValidator.java b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialValidator.java index 03f73b4..15003b1 100644 --- a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialValidator.java +++ b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialValidator.java @@ -44,4 +44,17 @@ public class EditorialValidator { return true; } + public boolean isDeleteable(Editorial editorial){ + if(editorial.getLibros().size() > 0){ + JOptionPane.showMessageDialog( + null, + "No se puede eliminar la editorial ya que tiene libros asociados", + "Error", + JOptionPane.ERROR_MESSAGE + ); + return false; + } + return true; + } + } diff --git a/src/main/java/xyz/danielcortes/controllers/editorial/EditorialViewController.java b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialViewController.java new file mode 100644 index 0000000..4de4776 --- /dev/null +++ b/src/main/java/xyz/danielcortes/controllers/editorial/EditorialViewController.java @@ -0,0 +1,46 @@ +package xyz.danielcortes.controllers.editorial; + +import xyz.danielcortes.controllers.BaseController; +import xyz.danielcortes.controllers.LaunchController; +import xyz.danielcortes.framework.PanelName; +import xyz.danielcortes.models.Editorial; +import xyz.danielcortes.views.BasePanel; +import xyz.danielcortes.views.editorial.EditorialViewPanel; + +public class EditorialViewController extends BaseController { + private Editorial editorial; + private EditorialViewPanel view; + + public EditorialViewController(EditorialViewPanel view, LaunchController parent) { + super(parent); + this.view = view; + this.setupListeners(); + } + + @Override + public void show() { + this.fillEditorial(); + } + + public void setEditorial(Editorial editorial){ + this.editorial = editorial; + } + + private void setupListeners(){ + this.view.getVolverButton().addActionListener(e -> { + this.getParentController().showCard(PanelName.EDITORIAL_SEARCH); + }); + } + + private void fillEditorial() { + if(editorial == null) + return; + + this.view.getNombreField().setText(this.editorial.getNombre()); + } + + @Override + public BasePanel getView() { + return this.view; + } +} diff --git a/src/main/java/xyz/danielcortes/framework/PanelName.java b/src/main/java/xyz/danielcortes/framework/PanelName.java index 4d91d79..07bc962 100644 --- a/src/main/java/xyz/danielcortes/framework/PanelName.java +++ b/src/main/java/xyz/danielcortes/framework/PanelName.java @@ -6,22 +6,20 @@ public enum PanelName { LIBRO_SEARCH, LIBRO_CREATE, LIBRO_UPDATE, - LIBRO_DELETE, IDIOMA_SEARCH, IDIOMA_CREATE, IDIOMA_UPDATE, - IDIOMA_DELETE, CATEGORIA_VIEW, CATEGORIA_SEARCH, CATEGORIA_CREATE, CATEGORIA_UPDATE, + EDITORIAL_VIEW, EDITORIAL_SEARCH, EDITORIAL_CREATE, EDITORIAL_UPDATE, - EDITORIAL_DELETE, AUTOR_VIEW, AUTOR_SEARCH, diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.java b/src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.java deleted file mode 100644 index 44ffdb7..0000000 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.java +++ /dev/null @@ -1,97 +0,0 @@ -package xyz.danielcortes.views.editorial; - -import com.intellij.uiDesigner.core.GridConstraints; -import com.intellij.uiDesigner.core.GridLayoutManager; -import com.intellij.uiDesigner.core.Spacer; -import java.awt.Dimension; -import java.awt.Insets; -import javax.swing.DefaultComboBoxModel; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JLabel; -import javax.swing.JPanel; -import xyz.danielcortes.models.Editorial; -import xyz.danielcortes.views.BasePanel; - -public class EditorialDeletePanel extends BasePanel { - - private JPanel contentPane; - private JComboBox editorialCombo; - private DefaultComboBoxModel editorialModel; - private JButton eliminarButton; - - public JPanel getContentPane() { - return contentPane; - } - - public JComboBox getEditorialCombo() { - return editorialCombo; - } - - public DefaultComboBoxModel getEditorialModel() { - return editorialModel; - } - - public JButton getEliminarButton() { - return eliminarButton; - } - - private void createUIComponents() { - this.editorialModel = new DefaultComboBoxModel<>(); - this.editorialCombo = new JComboBox<>(this.editorialModel); - } - - { -// GUI initializer generated by IntelliJ IDEA GUI Designer -// >>> IMPORTANT!! <<< -// DO NOT EDIT OR ADD ANY CODE HERE! - $$$setupUI$$$(); - } - - /** - * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR - * call it in your code! - * - * @noinspection ALL - */ - private void $$$setupUI$$$() { - createUIComponents(); - contentPane = new JPanel(); - contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); - contentPane.add(editorialCombo, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); - final JLabel label1 = new JLabel(); - label1.setText("Editorial:"); - contentPane.add(label1, - new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, - false)); - eliminarButton = new JButton(); - eliminarButton.setText("Eliminar"); - contentPane.add(eliminarButton, - new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); - final Spacer spacer1 = new Spacer(); - contentPane.add(spacer1, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, - false)); - final Spacer spacer2 = new Spacer(); - contentPane.add(spacer2, new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); - final Spacer spacer3 = new Spacer(); - contentPane.add(spacer3, new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); - } - - /** - * @noinspection ALL - */ - public JComponent $$$getRootComponent$$$() { - return contentPane; - } -} diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.form b/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.form deleted file mode 100644 index 76a0d95..0000000 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.form +++ /dev/null @@ -1,28 +0,0 @@ - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.java b/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.java deleted file mode 100644 index bea8778..0000000 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialListPanel.java +++ /dev/null @@ -1,87 +0,0 @@ -package xyz.danielcortes.views.editorial; - -import com.intellij.uiDesigner.core.GridConstraints; -import com.intellij.uiDesigner.core.GridLayoutManager; -import java.awt.Dimension; -import java.awt.Insets; -import javax.swing.JComponent; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import xyz.danielcortes.framework.BaseTableModel; -import xyz.danielcortes.models.Editorial; -import xyz.danielcortes.views.BasePanel; - -public class EditorialListPanel extends BasePanel { - - private JPanel contentPane; - private JTable editorialTable; - private BaseTableModel editorialModel; - - public JPanel getContentPane() { - return contentPane; - } - - public JTable getEditorialTable() { - return editorialTable; - } - - public BaseTableModel getEditorialModel() { - return editorialModel; - } - - - private void createUIComponents() { - this.createEditorialTable(); - } - - - private void createEditorialTable() { - // @formatter:off - this.editorialModel = new BaseTableModel<>( - new String[]{"Nombre", "Nº Libros"}, - (row, rowIndex, colIndex) -> { - switch(colIndex) { - case 0: return row.get(rowIndex).getNombre(); - case 1: return row.get(rowIndex).getLibros().size(); - default: return null; - } - } - ); - this.editorialTable = new JTable(this.editorialModel); - // @formatter:on - } - - { -// GUI initializer generated by IntelliJ IDEA GUI Designer -// >>> IMPORTANT!! <<< -// DO NOT EDIT OR ADD ANY CODE HERE! - $$$setupUI$$$(); - } - - /** - * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR - * call it in your code! - * - * @noinspection ALL - */ - private void $$$setupUI$$$() { - createUIComponents(); - contentPane = new JPanel(); - contentPane.setLayout(new GridLayoutManager(1, 1, new Insets(20, 20, 20, 20), -1, -1)); - final JScrollPane scrollPane1 = new JScrollPane(); - contentPane.add(scrollPane1, - new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, - new Dimension(400, -1), null, 0, false)); - scrollPane1.setViewportView(editorialTable); - } - - /** - * @noinspection ALL - */ - public JComponent $$$getRootComponent$$$() { - return contentPane; - } -} diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.form b/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.form new file mode 100644 index 0000000..0b1a672 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.form @@ -0,0 +1,96 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.java b/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.java new file mode 100644 index 0000000..c50d70f --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialSearchPanel.java @@ -0,0 +1,144 @@ +package xyz.danielcortes.views.editorial; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JTable; +import javax.swing.JTextField; +import xyz.danielcortes.framework.BaseTableModel; +import xyz.danielcortes.models.Editorial; +import xyz.danielcortes.views.BasePanel; + +public class EditorialSearchPanel extends BasePanel { + + private JPanel contentPane; + private JTable editorialTable; + private JButton buscarButton; + private JTextField buscarField; + private JButton verButton; + private JButton editarButton; + private JButton eliminarButton; + private BaseTableModel editorialModel; + + public JPanel getContentPane() { + return contentPane; + } + + public JTable getEditorialTable() { + return editorialTable; + } + + public BaseTableModel getEditorialModel() { + return editorialModel; + } + + public JButton getBuscarButton() { + return buscarButton; + } + + public JTextField getBuscarField() { + return buscarField; + } + + public JButton getVerButton() { + return verButton; + } + + public JButton getEditarButton() { + return editarButton; + } + + public JButton getEliminarButton() { + return eliminarButton; + } + + private void createUIComponents() { + this.createEditorialTable(); + } + + private void createEditorialTable() { + // @formatter:off + this.editorialModel = new BaseTableModel<>( + new String[]{"Nombre", "Nº Libros"}, + (row, rowIndex, colIndex) -> { + switch(colIndex) { + case 0: return row.get(rowIndex).getNombre(); + case 1: return row.get(rowIndex).getLibros().size(); + default: return null; + } + } + ); + this.editorialTable = new JTable(this.editorialModel); + // @formatter:on + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + createUIComponents(); + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(3, 1, new Insets(20, 20, 20, 20), -1, -1)); + final JScrollPane scrollPane1 = new JScrollPane(); + contentPane.add(scrollPane1, new GridConstraints(1, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_WANT_GROW, null, new Dimension(400, -1), null, 0, false)); + scrollPane1.setViewportView(editorialTable); + final JPanel panel1 = new JPanel(); + panel1.setLayout(new GridLayoutManager(1, 2, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel1, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + buscarButton = new JButton(); + buscarButton.setText("Buscar"); + panel1.add(buscarButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + buscarField = new JTextField(); + panel1.add(buscarField, + new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), null, 0, false)); + final JPanel panel2 = new JPanel(); + panel2.setLayout(new GridLayoutManager(1, 3, new Insets(0, 0, 0, 0), -1, -1)); + contentPane.add(panel2, new GridConstraints(2, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_BOTH, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, null, null, null, 0, false)); + verButton = new JButton(); + verButton.setText("Ver"); + panel2.add(verButton, new GridConstraints(0, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + editarButton = new JButton(); + editarButton.setText("Editar"); + panel2.add(editarButton, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + eliminarButton = new JButton(); + eliminarButton.setText("Eliminar"); + panel2.add(eliminarButton, new GridConstraints(0, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } + +} diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.form b/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.form index f4c2189..8c60ed7 100644 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.form +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.form @@ -1,38 +1,14 @@
- + - + - - - - - - - - - - - - - - - - - - - - - - - - @@ -40,24 +16,32 @@ + + + + + + + + - + - + - + - + diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.java b/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.java index 63b9fe9..356a9e0 100644 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.java +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialUpdatePanel.java @@ -5,22 +5,17 @@ import com.intellij.uiDesigner.core.GridLayoutManager; import com.intellij.uiDesigner.core.Spacer; import java.awt.Dimension; import java.awt.Insets; -import javax.swing.DefaultComboBoxModel; import javax.swing.JButton; -import javax.swing.JComboBox; import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; -import xyz.danielcortes.models.Editorial; import xyz.danielcortes.views.BasePanel; public class EditorialUpdatePanel extends BasePanel { private JPanel contentPane; private JTextField nombreField; - private JComboBox editorialCombo; - private DefaultComboBoxModel editorialModel; private JButton actualizarButton; public JPanel getContentPane() { @@ -30,24 +25,10 @@ public class EditorialUpdatePanel extends BasePanel { public JTextField getNombreField() { return nombreField; } - - public JComboBox getEditorialCombo() { - return editorialCombo; - } - - public DefaultComboBoxModel getEditorialModel() { - return editorialModel; - } - public JButton getActualizarButton() { return actualizarButton; } - private void createUIComponents() { - this.editorialModel = new DefaultComboBoxModel<>(); - this.editorialCombo = new JComboBox<>(this.editorialModel); - } - { // GUI initializer generated by IntelliJ IDEA GUI Designer // >>> IMPORTANT!! <<< @@ -56,52 +37,37 @@ public class EditorialUpdatePanel extends BasePanel { } /** - * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR - * call it in your code! + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! * * @noinspection ALL */ private void $$$setupUI$$$() { - createUIComponents(); contentPane = new JPanel(); - contentPane.setLayout(new GridLayoutManager(6, 3, new Insets(20, 20, 20, 20), -1, -1)); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); nombreField = new JTextField(); - contentPane.add(nombreField, new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_WEST, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + contentPane.add(nombreField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); final JLabel label1 = new JLabel(); label1.setText("Nombre:"); - contentPane.add(label1, - new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, - false)); - final JLabel label2 = new JLabel(); - label2.setText("Editorial:"); - contentPane.add(label2, - new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_FIXED, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, - false)); - contentPane.add(editorialCombo, new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); final Spacer spacer1 = new Spacer(); - contentPane.add(spacer1, new GridConstraints(5, 1, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, null, null, 0, - false)); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); final Spacer spacer2 = new Spacer(); - contentPane.add(spacer2, new GridConstraints(5, 2, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); final Spacer spacer3 = new Spacer(); - contentPane.add(spacer3, new GridConstraints(5, 0, 1, 1, GridConstraints.ANCHOR_CENTER, - GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, null, null, - 0, false)); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); actualizarButton = new JButton(); actualizarButton.setText("Actualizar"); - contentPane.add(actualizarButton, - new GridConstraints(4, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, - GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, - GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + contentPane.add(actualizarButton, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); } /** @@ -110,4 +76,5 @@ public class EditorialUpdatePanel extends BasePanel { public JComponent $$$getRootComponent$$$() { return contentPane; } + } diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.form b/src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.form similarity index 75% rename from src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.form rename to src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.form index ece1357..b41d247 100644 --- a/src/main/java/xyz/danielcortes/views/editorial/EditorialDeletePanel.form +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.form @@ -1,5 +1,5 @@ - + @@ -8,45 +8,49 @@ - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + - + - + + + - + - - - - - - - - - - - - - - - diff --git a/src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.java b/src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.java new file mode 100644 index 0000000..aa69137 --- /dev/null +++ b/src/main/java/xyz/danielcortes/views/editorial/EditorialViewPanel.java @@ -0,0 +1,82 @@ +package xyz.danielcortes.views.editorial; + +import com.intellij.uiDesigner.core.GridConstraints; +import com.intellij.uiDesigner.core.GridLayoutManager; +import com.intellij.uiDesigner.core.Spacer; +import java.awt.Dimension; +import java.awt.Insets; +import javax.swing.JButton; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; +import xyz.danielcortes.views.BasePanel; + +public class EditorialViewPanel extends BasePanel { + + private JPanel contentPane; + private JTextField nombreField; + private JButton volverButton; + + public JPanel getContentPane() { + return contentPane; + } + + public JTextField getNombreField() { + return nombreField; + } + + public JButton getVolverButton() { + return volverButton; + } + + { +// GUI initializer generated by IntelliJ IDEA GUI Designer +// >>> IMPORTANT!! <<< +// DO NOT EDIT OR ADD ANY CODE HERE! + $$$setupUI$$$(); + } + + /** + * Method generated by IntelliJ IDEA GUI Designer >>> IMPORTANT!! <<< DO NOT edit this method OR call it in your code! + * + * @noinspection ALL + */ + private void $$$setupUI$$$() { + contentPane = new JPanel(); + contentPane.setLayout(new GridLayoutManager(4, 3, new Insets(20, 20, 20, 20), -1, -1)); + final Spacer spacer1 = new Spacer(); + contentPane.add(spacer1, + new GridConstraints(3, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_VERTICAL, 1, GridConstraints.SIZEPOLICY_WANT_GROW, null, + null, null, 0, false)); + final Spacer spacer2 = new Spacer(); + contentPane.add(spacer2, + new GridConstraints(3, 2, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final Spacer spacer3 = new Spacer(); + contentPane.add(spacer3, + new GridConstraints(3, 0, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, 1, null, + null, null, 0, false)); + final JLabel label1 = new JLabel(); + label1.setText("Nombre:"); + contentPane.add(label1, new GridConstraints(0, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_NONE, GridConstraints.SIZEPOLICY_FIXED, + GridConstraints.SIZEPOLICY_FIXED, null, null, null, 0, false)); + nombreField = new JTextField(); + nombreField.setEditable(false); + contentPane.add(nombreField, + new GridConstraints(1, 1, 1, 1, GridConstraints.ANCHOR_WEST, GridConstraints.FILL_HORIZONTAL, GridConstraints.SIZEPOLICY_WANT_GROW, + GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(400, -1), null, 0, false)); + volverButton = new JButton(); + volverButton.setText("Volver"); + contentPane.add(volverButton, new GridConstraints(2, 1, 1, 1, GridConstraints.ANCHOR_CENTER, GridConstraints.FILL_NONE, + GridConstraints.SIZEPOLICY_CAN_SHRINK | GridConstraints.SIZEPOLICY_CAN_GROW, GridConstraints.SIZEPOLICY_FIXED, null, new Dimension(150, -1), + null, 0, false)); + } + + /** + * @noinspection ALL + */ + public JComponent $$$getRootComponent$$$() { + return contentPane; + } +}