/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.kapti.administration; import com.kapti.administration.actions.ActionsFactory; import com.kapti.administration.actions.Layout; import com.kapti.client.finance.Exchange; import com.kapti.client.finance.FinanceFactory; import com.kapti.exceptions.StockPlayException; import java.beans.PropertyChangeListener; import java.util.ResourceBundle; import org.jdesktop.swingx.JXTaskPane; import org.jdesktop.swingx.JXTaskPaneContainer; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.beans.PropertyChangeEvent; import java.util.Collection; import org.jdesktop.swingx.JXErrorPane; import org.jdesktop.swingx.JXHyperlink; import org.jdesktop.swingx.error.ErrorInfo; /** * * @author Thijs */ public class Menu extends JXTaskPaneContainer implements PropertyChangeListener { private static final ResourceBundle translations = ResourceBundle.getBundle("com/kapti/administration/translations"); private MainFrame mainframe; private JXTaskPane statusMenuPane, securitiesMenuPane, usersMenuPane; private FinanceFactory financeFactory = FinanceFactory.getInstance(); public Menu(MainFrame mainframe) { this.mainframe = mainframe; ActionsFactory actFactory = ActionsFactory.getInstance(); ///////////////// // Status-menu // ///////////////// statusMenuPane = new JXTaskPane(); statusMenuPane.setTitle(translations.getString("STATUSMENU")); statusMenuPane.setIcon(createImageIcon("cog.png")); statusMenuPane.addPropertyChangeListener("collapsed", this); for (Action act : actFactory.getStatusActions()) { if (((Boolean) act.getValue(Layout.LEAVE_SPACE))) { statusMenuPane.add(new Box.Filler(new Dimension(0, 20), new Dimension(0, 20), new Dimension(0, 30))); } statusMenuPane.add(act); } add(statusMenuPane); ///////////////////////// // Effectenbeheer-menu // ///////////////////////// securitiesMenuPane = new JXTaskPane(); securitiesMenuPane.setTitle(translations.getString("SECURITIESMANAGEMENTMENUITEM")); securitiesMenuPane.setIcon(createImageIcon("money.png")); securitiesMenuPane.setCollapsed(true); securitiesMenuPane.addPropertyChangeListener("collapsed", this); for (Action act : actFactory.getSecuritiesActions()) { if (((Boolean) act.getValue(Layout.LEAVE_SPACE))) { securitiesMenuPane.add(new Box.Filler(new Dimension(0, 20), new Dimension(0, 20), new Dimension(0, 30))); } securitiesMenuPane.add(act); } add(securitiesMenuPane); /////////////////////////// // Gebruikersbeheer-menu // /////////////////////////// usersMenuPane = new JXTaskPane(); usersMenuPane.setTitle(translations.getString("USERMANAGEMENTMENUITEM")); usersMenuPane.setIcon(createImageIcon("user.png")); usersMenuPane.setCollapsed(true); usersMenuPane.addPropertyChangeListener("collapsed", this); for (Action act : actFactory.getUsersActions()) { if (((Boolean) act.getValue(Layout.LEAVE_SPACE))) { usersMenuPane.add(new Box.Filler(new Dimension(0, 20), new Dimension(0, 20), new Dimension(0, 30))); } usersMenuPane.add(act); } add(usersMenuPane); } public void propertyChange(PropertyChangeEvent evt) { if (evt.getNewValue().equals(false)) { if (evt.getSource().equals(statusMenuPane)) { mainframe.setMainPanel(StatusOverviewPanel.getInstance()); } else { statusMenuPane.setCollapsed(true); } if (evt.getSource().equals(securitiesMenuPane)) { mainframe.setMainPanel(SecuritiesListPanel.getInstance()); } else { securitiesMenuPane.setCollapsed(true); } if (evt.getSource().equals(usersMenuPane)) { mainframe.setMainPanel(UsersListPanel.getInstance()); } else { usersMenuPane.setCollapsed(true); } } } protected ImageIcon createImageIcon(String path) { java.net.URL imgURL = getClass().getResource("/com/kapti/administration/images/" + path); if (imgURL != null) { return new ImageIcon(imgURL); } else { System.err.println(translations.getString("ERROR_FILE_UNFINDABLE") + path); return null; } } }