Merge branch 'master' of ssh://xp-dev.com/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / gui / listOfOffers.java
index 9ca4537..7d61def 100644 (file)
@@ -1,24 +1,23 @@
 package gui;
 
+import java.awt.Color;
+import java.awt.Component;
 import java.awt.Font;
 import java.awt.Rectangle;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 import java.util.Enumeration;
-import java.util.LinkedList;
 import java.util.Vector;
 
-import javax.swing.JButton;
 import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
 import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.DefaultTableModel;
 
-import businessLogic.BookingManager;
-import domain.Booking;
 import domain.Offer;
 import domain.Owner;
 import domain.RuralHouse;
@@ -32,7 +31,7 @@ public class listOfOffers extends JFrame {
        private JPanel contentPane;
        private JTable table;
        private Owner owner;
-       private BookingManager bookM = new BookingManager();
+
        private DefaultTableModel tableModel;
        private Vector<Offer> offers = new Vector<Offer>();
 
@@ -56,8 +55,10 @@ public class listOfOffers extends JFrame {
                contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
                setContentPane(contentPane);
                contentPane.setLayout(null);
-
-               this.offers = this.owner.getAllOffers();
+               this.offers = new Vector<Offer>();
+               for (RuralHouse rh: this.owner.getRuralHouses()){
+                       this.offers.addAll(rh.getAllOffers());
+               }
                JLabel lblNewLabel = new JLabel();
                lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
                lblNewLabel.setBounds(23, 41, 536, 33);
@@ -66,12 +67,12 @@ public class listOfOffers extends JFrame {
                        lblNewLabel
                                        .setText("There are not bookings to be confirmed or denied");
                else
-                       lblNewLabel.setText("List of bookings:");
+                       lblNewLabel.setText("List of offers:");
                JScrollPane scrollPane = new JScrollPane();
                scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
                scrollPane.setBounds(23, 113, 536, 271);
                contentPane.add(scrollPane);
-
+               
                table = new JTable() {
                        private static final long serialVersionUID = 1L;
 
@@ -79,35 +80,22 @@ public class listOfOffers extends JFrame {
                                return false;
                        };
                };
+               
                scrollPane.setViewportView(table);
                tableModel = new DefaultTableModel(null, new String[] { "Offer #",
-                               "FirstDay", "LastDay", "Price" });
+                               "FirstDay", "LastDay", "Price" ,"RuralHouse"});
 
                // Maybe there is a better way to avoid interaction.
                // table.setEnabled(false);
                table.setModel(tableModel);
-
-               JButton btnNewButton = new JButton("Confirm Booking");
-               btnNewButton.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent e) {
-                               if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
-
-                               }
+               table.addMouseListener( new MouseAdapter(){                     
+                       @Override
+                       public void mouseClicked(MouseEvent arg0) {
+                               int row = table.getSelectedRow();
+                               listOfBookingRequestsGUI feat = new listOfBookingRequestsGUI(offers.get(row));
+                               feat.setVisible(true);
                        }
                });
-               btnNewButton.setBounds(88, 396, 169, 25);
-               contentPane.add(btnNewButton);
-
-               JButton btnDenyAddition = new JButton("Deny Booking");
-               btnDenyAddition.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent arg0) {
-                               if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
-
-                               }
-                       }
-               });
-               btnDenyAddition.setBounds(300, 396, 169, 25);
-               contentPane.add(btnDenyAddition);
                Enumeration<Offer> rhs = this.offers.elements();
                while (rhs.hasMoreElements()) {
                        Offer of = rhs.nextElement();
@@ -116,9 +104,35 @@ public class listOfOffers extends JFrame {
                        row.add(of.getFirstDay());
                        row.add(of.getLastDay());
                        row.add(of.getPrice());
+                       row.add(of.getRuralHouse().getHouseName());
                        tableModel.addRow(row);
-
                }
+               
+               table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
+                       /**
+                        * 
+                        */
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       public Component getTableCellRendererComponent(JTable table,
+                                       Object value, boolean isSelected, boolean hasFocus,
+                                       int row, int col) {
+
+                               super.getTableCellRendererComponent(table, value, isSelected,
+                                               hasFocus, row, col);
+
+                               if (!offers.get(row).isBooked()) {
+                                       setBackground(Color.ORANGE);
+                                       setForeground(Color.BLACK);
+                               } else {
+                                       setBackground(Color.GREEN);
+                                       setForeground(Color.BLACK);
+                               }
+
+                               return this;
+                       }
+               });
 
        }
 }