package com.customfit.ctg.view.print; import com.customfit.ctg.model.*; import java.util.*; /** * * @author Drew */ public class ShoppingListPrintPanel extends AbstractPrintPanel { /** Creates new form ShoppingListPrintPanel */ public ShoppingListPrintPanel() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabelName = new javax.swing.JLabel(); jLabelDates = new javax.swing.JLabel(); jScrollPane1 = new javax.swing.JScrollPane(); jTextPaneIngredients = new javax.swing.JTextPane(); jLabelName.setFont(new java.awt.Font("Times New Roman", 3, 24)); jLabelName.setText("Shopping List"); jLabelDates.setFont(new java.awt.Font("Times New Roman", 2, 11)); // NOI18N jLabelDates.setText(" "); jScrollPane1.setBorder(null); jTextPaneIngredients.setEditable(false); jTextPaneIngredients.setFont(new java.awt.Font("Times New Roman", 0, 12)); // NOI18N jScrollPane1.setViewportView(jTextPaneIngredients); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jLabelName, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE) .addGap(85, 85, 85)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE) .addComponent(jLabelDates, javax.swing.GroupLayout.DEFAULT_SIZE, 380, Short.MAX_VALUE)) .addContainerGap()))) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabelName, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabelDates) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 222, Short.MAX_VALUE) .addContainerGap()) ); }// </editor-fold>//GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel jLabelDates; private javax.swing.JLabel jLabelName; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextPane jTextPaneIngredients; // End of variables declaration//GEN-END:variables /** * Insert pre-aggregated list of ingredients and start date and end date * to produce report. * * @param ingredients * @param startDate * @param endDate */ public void setIngredientsAndDates(List<RecipeIngredient> ingredients, Date startDate, Date endDate) { StringBuilder ingredientStringBuilder = new StringBuilder(); for(RecipeIngredient recipeIngredient : ingredients){ ingredientStringBuilder.append(recipeIngredient.getAmount()); ingredientStringBuilder.append("\t"); ingredientStringBuilder.append(recipeIngredient.getName()); ingredientStringBuilder.append("\n"); } this.jTextPaneIngredients.setText(ingredientStringBuilder.toString()); } }