/* =========================================================== * TradeManager : a application to trade strategies for the Java(tm) platform * =========================================================== * * (C) Copyright 2011-2011, by Simon Allen and Contributors. * * Project Info: org.trade * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * [Java is a trademark or registered trademark of Oracle, Inc. * in the United States and other countries.] * * (C) Copyright 2011-2011, by Simon Allen and Contributors. * * Original Author: Simon Allen; * Contributor(s): -; * * Changes * ------- * */ package org.trade.ui; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JMenu; import org.trade.ui.base.BaseButton; import org.trade.ui.base.BaseMenuItem; import org.trade.ui.base.BasePanel; import org.trade.ui.base.BasePanelMenu; import org.trade.ui.base.BaseUIPropertyCodes; /** */ public class TradeMainPanelMenu extends BasePanelMenu { /** * */ private static final long serialVersionUID = -2716722655140661891L; private final BaseMenuItem searchMenu = new BaseMenuItem(null, BaseUIPropertyCodes.SEARCH); private final BaseButton searchButton = new BaseButton(null, BaseUIPropertyCodes.SEARCH); private final BaseMenuItem refreshMenu = new BaseMenuItem(null, BaseUIPropertyCodes.REFRESH); private final BaseButton refreshButton = new BaseButton(null, BaseUIPropertyCodes.REFRESH); private final BaseButton deleteButton = new BaseButton(null, BaseUIPropertyCodes.DELETE); private final BaseMenuItem deleteMenu = new BaseMenuItem(null, BaseUIPropertyCodes.DELETE); private final BaseMenuItem brokerDataMenu = new BaseMenuItem(null, BaseUIPropertyCodes.DATA); private final BaseButton brokerDataButton = new BaseButton(null, BaseUIPropertyCodes.DATA); private final BaseButton runStrategyButton = new BaseButton(null, BaseUIPropertyCodes.RUN); private final BaseMenuItem runStrategyMenu = new BaseMenuItem(null, BaseUIPropertyCodes.RUN); private final BaseButton testStrategyButton = new BaseButton(null, BaseUIPropertyCodes.TEST); private final BaseMenuItem testStrategyMenu = new BaseMenuItem(null, BaseUIPropertyCodes.TEST); private final BaseButton cancelButton = new BaseButton(null, BaseUIPropertyCodes.CANCEL); private final BaseMenuItem cancelMenu = new BaseMenuItem(null, BaseUIPropertyCodes.CANCEL); private final BaseButton closeAllButton = new BaseButton(null, BaseUIPropertyCodes.CLOSE_ALL); private final BaseMenuItem closeAllMenu = new BaseMenuItem(null, BaseUIPropertyCodes.CLOSE_ALL); private final BaseMenuItem propertiesMenu = new BaseMenuItem(null, BaseUIPropertyCodes.PROPERTIES); private final BaseMenuItem connect = new BaseMenuItem(null, BaseUIPropertyCodes.CONNECT); private final BaseMenuItem disconnect = new BaseMenuItem(null, BaseUIPropertyCodes.DISCONNECT); private final BaseMenuItem disclaimer = new BaseMenuItem(null, BaseUIPropertyCodes.DISCLAIMER); /** * Constructor for TradeMainPanelMenu. * * @param basePanel * BasePanel */ public TradeMainPanelMenu(BasePanel basePanel) { super(basePanel); cancelButton.setToolTipText("Cancel Strategies & Data"); cancelButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(cancelButton.getMethod()); } }); cancelMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(cancelMenu.getMethod()); } }); closeAllButton.setToolTipText("Cancel Orders & Close Positions"); closeAllButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(closeAllButton.getMethod()); } }); closeAllMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(closeAllMenu.getMethod()); } }); runStrategyButton.setToolTipText("Run Strategy"); runStrategyButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(runStrategyButton.getMethod()); } }); runStrategyMenu.setText("Run Strategy"); runStrategyMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(runStrategyMenu.getMethod()); } }); testStrategyButton.setToolTipText("Test Strategy"); testStrategyButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(testStrategyButton.getMethod()); } }); testStrategyMenu.setText("Test Strategy"); testStrategyMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(testStrategyMenu.getMethod()); } }); brokerDataButton.setToolTipText("Get Chart Data"); brokerDataButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(brokerDataButton.getMethod()); } }); brokerDataMenu.setText("Get Chart Data"); brokerDataMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(brokerDataMenu.getMethod()); } }); searchMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(searchMenu.getMethod()); } }); searchButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(searchButton.getMethod()); } }); refreshMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(refreshMenu.getMethod()); } }); refreshButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(refreshButton.getMethod()); } }); deleteMenu.setText("Delete all Orders"); deleteMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(deleteMenu.getMethod()); } }); deleteButton.setToolTipText("Delete all Orders"); deleteButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(deleteButton.getMethod()); } }); propertiesMenu.setText("Contract Details"); propertiesMenu.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(propertiesMenu.getMethod()); } }); connect.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(connect.getMethod()); } }); disconnect.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(disconnect.getMethod()); } }); disclaimer.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(disclaimer.getMethod()); } }); final BaseMenuItem close = new BaseMenuItem(null, BaseUIPropertyCodes.CLOSE); close.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(close.getMethod()); } }); final BaseMenuItem closeAll = new BaseMenuItem(null, BaseUIPropertyCodes.CLOSE_ALL); closeAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(closeAll.getMethod()); } }); final BaseMenuItem cascade = new BaseMenuItem(null, BaseUIPropertyCodes.CASCADE); cascade.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(cascade.getMethod()); } }); final BaseMenuItem cascadeAll = new BaseMenuItem(null, BaseUIPropertyCodes.CASCADE_ALL); cascadeAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(cascadeAll.getMethod()); } }); final BaseMenuItem tileAll = new BaseMenuItem(null, BaseUIPropertyCodes.TILE_ALL); tileAll.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { messageEvent(tileAll.getMethod()); } }); JMenu actionMenu = new JMenu("Action"); menuBar.add(actionMenu, 2); this.editMenu.setVisible(false); fileMenu.insertSeparator(4); fileMenu.add(connect, 5); fileMenu.add(disconnect, 6); getButtonPanel().add(brokerDataButton, 3); getButtonPanel().add(testStrategyButton, 4); getButtonPanel().add(runStrategyButton, 5); getButtonPanel().add(cancelButton, 6); getButtonPanel().add(searchButton, 7); getButtonPanel().add(refreshButton, 8); getButtonPanel().add(deleteButton, 9); getButtonPanel().add(closeAllButton, 10); actionMenu.add(brokerDataMenu, 0); actionMenu.add(testStrategyMenu, 1); actionMenu.add(runStrategyMenu, 2); actionMenu.add(cancelMenu, 3); actionMenu.add(searchMenu, 4); actionMenu.add(refreshMenu, 5); actionMenu.add(deleteMenu, 6); actionMenu.add(closeAllMenu, 7); actionMenu.add(propertiesMenu, 8); helpMenu.add(disclaimer, 1); // windowMenu.add(close, 0); // windowMenu.add(closeAll, 1); // windowMenu.add(cascade, 2); // windowMenu.add(cascadeAll, 3); // windowMenu.add(tileAll, 4); // windowMenu.insertSeparator(5); } /** * Method setEnabledBrokerData. * * @param enabled * boolean */ public void setEnabledBrokerData(boolean enabled) { brokerDataMenu.setEnabled(enabled); brokerDataButton.setEnabled(enabled); } /** * Method setEnabledRunStrategy. * * @param enabled * boolean */ public void setEnabledRunStrategy(boolean enabled) { runStrategyMenu.setEnabled(enabled); runStrategyButton.setEnabled(enabled); } /** * Method setEnabledConnect. * * @param enabled * boolean */ public void setEnabledConnect(boolean enabled) { if (enabled) { connect.setEnabled(enabled); disconnect.setEnabled(false); } else { connect.setEnabled(enabled); disconnect.setEnabled(true); } } /** * Method setEnabledTestStrategy. * * @param enabled * boolean */ public void setEnabledTestStrategy(boolean enabled) { testStrategyMenu.setEnabled(enabled); testStrategyButton.setEnabled(enabled); } /** * Method setEnabledSearchDeleteRefreshSave. * * @param enabled * boolean */ public void setEnabledSearchDeleteRefreshSave(boolean enabled) { refreshMenu.setEnabled(enabled); refreshButton.setEnabled(enabled); searchMenu.setEnabled(enabled); searchButton.setEnabled(enabled); deleteButton.setEnabled(enabled); deleteMenu.setEnabled(enabled); } /** * Method setEnabledDeleteSave. * * @param enabled * boolean */ public void setEnabledDelete(boolean enabled, String text) { deleteMenu.setText(text); deleteButton.setToolTipText(text); deleteButton.setEnabled(enabled); deleteMenu.setEnabled(enabled); } }