/* ===========================================================
* TradeManager : An 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.Frame;
import javax.swing.JOptionPane;
import org.trade.core.properties.ConfigProperties;
import org.trade.ui.base.BasePanel;
import org.trade.ui.base.TabbedAppPanel;
/**
*/
public class MainControllerPanel extends TabbedAppPanel {
private static final long serialVersionUID = -7717664255656430982L;
public final static String PROPERTIES_PROPERTY_FILE = "core.properties";
public static String title = null;
public static String version = null;
public static String date = null;
protected static MainControllerPanel m_instance = null;
/**
* The main application controller which interacts between the view and the
* applications underlying models. This controller also listens to events
* from the broker model.
* <p>
*
* @param frame
* the main application Frame.
*
*/
public MainControllerPanel(Frame frame) {
super(frame);
try {
setMenu(new MainPanelMenu(this));
/* This is always true as main panel needs to receive all events */
setSelected(true);
title = ConfigProperties.getPropAsString("component.name.base");
version = ConfigProperties.getPropAsString("component.name.version");
date = ConfigProperties.getPropAsString("component.name.date");
} catch (Exception e) {
this.setErrorMessage("Error During Initialization.", e.getMessage(), e);
}
}
/**
* This method is fired from the main menu. It displays the application
* version.
*
*/
public void doAbout() {
try {
StringBuffer message = new StringBuffer();
message.append("Product version: ");
message.append(MainControllerPanel.version);
message.append("\nBuild Label: ");
message.append(MainControllerPanel.title);
message.append("\nBuild Time: ");
message.append(MainControllerPanel.date);
JOptionPane.showMessageDialog(this, message, "About Help", JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
this.setErrorMessage("Could not load about help.", ex.getMessage(), ex);
}
}
/**
* This method is fired after the tab has been created and placed in the tab
* controller.
*
*/
public void doWindowOpen() {
}
/**
* This method is fired when the tab closes.
*
*/
public void doWindowClose() {
doExit();
}
/**
* This method is fired from the Main menu and will allow you to setup the
* printer setting.
*/
public void doPrintSetup() {
}
/**
* This method is fired from the Main menu and will allow you to preview a
* print of the current tab.
*/
public void doPrintPreview() {
}
/**
* This method is fired from the Main menu and will allow you to print the
* current tab.
*/
public void doPrint() {
}
/**
* This method is fired when a different tab is selected.
*
* @param currBasePanel
* BasePanel
* @param newBasePanel
* BasePanel
*/
public void tabChanged(BasePanel currBasePanel, BasePanel newBasePanel) {
}
}