// RemindersView
package org.javamoney.examples.ez.money.gui.view.home;
import static org.javamoney.examples.ez.common.utility.BorderHelper.createTitledBorder;
import static org.javamoney.examples.ez.common.utility.I18NHelper.getSharedProperty;
import static org.javamoney.examples.ez.money.gui.GUIConstants.COLOR_BACKGROUND_FILL;
import static org.javamoney.examples.ez.money.model.DataManager.getReminders;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import org.javamoney.examples.ez.money.gui.table.ReminderTable;
import org.javamoney.examples.ez.money.model.DataElement;
import org.javamoney.examples.ez.money.model.persisted.reminder.Reminder;
import org.javamoney.examples.ez.common.gui.Panel;
import org.javamoney.examples.ez.common.gui.ScrollPane;
/**
* This class provides a view for displaying a reminder table.
*/
public
final
class
RemindersView
extends Panel
{
/**
* Constructs a new reminders view.
*/
public
RemindersView()
{
setReminderTable(new ReminderTable());
buildPanel();
// For some reason, the reminders table likes to consume the entire frame.
// This prevents that.
setPreferredSize(new Dimension(0, 0));
}
/**
* This method updates the view.
*/
public
void
updateView()
{
getReminderTable().clear();
// Display reminders.
for(DataElement element : getReminders().getCollection())
{
getReminderTable().add((Reminder)element);
}
getReminderTable().display();
}
//////////////////////////////////////////////////////////////////////////////
// Start of private methods.
//////////////////////////////////////////////////////////////////////////////
private
void
buildPanel()
{
ScrollPane scrollPane = new ScrollPane(getReminderTable());
// Build scroll pane.
scrollPane.setBackground(COLOR_BACKGROUND_FILL);
// Build panel.
setFill(GridBagConstraints.BOTH);
add(scrollPane, 0, 0, 1, 1, 100, 100);
setBorder(createTitledBorder(getSharedProperty("reminders"), false));
}
private
ReminderTable
getReminderTable()
{
return itsReminderTable;
}
private
void
setReminderTable(ReminderTable table)
{
itsReminderTable = table;
}
//////////////////////////////////////////////////////////////////////////////
// Start of class members.
//////////////////////////////////////////////////////////////////////////////
private ReminderTable itsReminderTable;
}