📄 jstockoptions.java
字号:
/*
* JStockOptions.java
*
* Created on June 19, 2007, 11:00 PM
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program 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
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Copyright (C) 2007 Cheok YanCheng <yccheok@yahoo.com>
*/
package org.yccheok.jstock.gui;
import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
import org.yccheok.jstock.portfolio.BrokingFirm;
import org.yccheok.jstock.engine.Country;
/**
*
* @author yccheok
*/
public class JStockOptions {
public static final java.awt.Color DEFAULT_NORMAL_TEXT_FOREGROUND_COLOR = Color.BLACK;
public static final java.awt.Color DEFAULT_HIGHER_NUMERICAL_VALUE_FOREGROUND_COLOR = new java.awt.Color(50, 150, 0);
public static final java.awt.Color DEFAULT_LOWER_NUMERICAL_VALUE_FOREGROUND_COLOR = new java.awt.Color(200, 0, 50);
public static final java.awt.Color DEFAULT_FIRST_ROW_BACKGROUND_COLOR = Color.WHITE;
public static final java.awt.Color DEFAULT_SECOND_ROW_BACKGROUND_COLOR = new java.awt.Color(255, 255, 204);
public static final java.awt.Color DEFAULT_AUTO_UPDATE_FOREGROUND_COLOR = Color.BLACK;
public static final java.awt.Color DEFAULT_AUTO_UPDATE_BACKGROUND_COLOR = Color.RED;
public static final java.awt.Color DEFAULT_CHAT_SYSTEM_MESSAGE_COLOR = Color.RED;
public static final java.awt.Color DEFAULT_CHAT_OWN_MESSAGE_COLOR = new java.awt.Color(169, 169, 169);
public static final java.awt.Color DEFAULT_CHAT_OTHER_MESSAGE_COLOR = new java.awt.Color(100, 149, 237);
private static final int DEFAULT_HISTORY_DURATION = 10;
/** Creates a new instance of JStockOptions */
public JStockOptions() {
setPopupMessage(true);
setSendEmail(false);
setEmail("");
setEmailPassword("");
setPasswordProtectedIndicator(false);
setSingleIndicatorAlert(true);
setIndicatorPassword("");
setProxyServer("");
setProxyPort(-1);
setScanningSpeed(1000);
setAlertSpeed(5);
setLookNFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
setCountry(Country.Malaysia);
this.setNormalTextForegroundColor(DEFAULT_NORMAL_TEXT_FOREGROUND_COLOR);
this.setHigherNumericalValueForegroundColor(DEFAULT_HIGHER_NUMERICAL_VALUE_FOREGROUND_COLOR);
this.setLowerNumericalValueForegroundColor(DEFAULT_LOWER_NUMERICAL_VALUE_FOREGROUND_COLOR);
setFirstRowBackgroundColor(DEFAULT_FIRST_ROW_BACKGROUND_COLOR);
setSecondRowBackgroundColor(DEFAULT_SECOND_ROW_BACKGROUND_COLOR);
this.setEnableColorChange(false);
this.setAutoUpdateForegroundColor(DEFAULT_AUTO_UPDATE_FOREGROUND_COLOR);
this.setAutoUpdateBackgroundColor(DEFAULT_AUTO_UPDATE_BACKGROUND_COLOR);
this.setAutoUpdateNewsEnabled(true);
this.setNewsVersion(0);
this.setHistoryDuration(DEFAULT_HISTORY_DURATION);
this.setChatEnabled(false);
this.setChatUsername("");
this.setChatPassword("");
this.setChatFlashNotificationEnabled(true);
this.setChatSoundNotificationEnabled(true);
this.setChatSystemMessageColor(DEFAULT_CHAT_SYSTEM_MESSAGE_COLOR);
this.setChatOwnMessageColor(DEFAULT_CHAT_OWN_MESSAGE_COLOR);
this.setChatOtherMessageColor(DEFAULT_CHAT_OTHER_MESSAGE_COLOR);
}
private boolean singleIndicatorAlert;
private boolean popupMessage;
private boolean sendEmail;
private String email;
private String emailPassword;
private boolean passwordProtectedIndicator;
private String indicatorPassword;
private String proxyServer;
private int proxyPort;
private int scanningSpeed; /* In second. */
private int alertSpeed;
private String looknFeel;
private Color normalTextForegroundColor;
private Color lowerNumericalValueForegroundColor;
private Color higherNumericalValueForegroundColor;
private Color firstRowBackgroundColor;
private Color secondRowBackgroundColor;
private Color autoUpdateForegroundColor;
private Color autoUpdateBackgroundColor;
private boolean enableColorChange;
private List<BrokingFirm> brokingFirms = new ArrayList<BrokingFirm>();
private int selectedBrokingFirmIndex = -1;
private boolean isAutoBrokerFeeCalculationEnabled = false;
private double expectedProfitPercentage = 10.0;
private Country country;
private boolean isAutoUpdateNewsEnabled;
private long newsVersion;
private int historyDuration; /* In years */
private boolean isChatEnabled = false;
private String chatUsername = "";
private String chatPassword = "";
private boolean isChatSoundNotificationEnabled = true;
private boolean isChatFlashNotificationEnabled = true;
private Color chatSystemMessageColor;
private Color chatOwnMessageColor;
private Color chatOtherMessageColor;
public boolean isAutoBrokerFeeCalculationEnabled() {
return this.isAutoBrokerFeeCalculationEnabled;
}
public void setAutoBrokerFeeCalculationEnabled(boolean isAutoBrokerFeeCalculationEnabled) {
this.isAutoBrokerFeeCalculationEnabled = isAutoBrokerFeeCalculationEnabled;
}
private Object readResolve() {
/* For backward compatible */
if(brokingFirms == null) {
brokingFirms = new ArrayList<BrokingFirm>();
}
/* For backward compatible */
if(country == null) {
country = Country.Malaysia;
}
/* For backward compatible */
if(newsVersion < 0) {
newsVersion = 0;
}
if (historyDuration <= 0) {
historyDuration = DEFAULT_HISTORY_DURATION;
}
if (getChatUsername() == null) {
setChatUsername("");
}
if (getChatPassword() == null) {
setChatPassword("");
}
if (this.getChatSystemMessageColor() == null) {
this.setChatSystemMessageColor(DEFAULT_CHAT_SYSTEM_MESSAGE_COLOR);
}
if (this.getChatOwnMessageColor() == null) {
this.setChatOwnMessageColor(DEFAULT_CHAT_OWN_MESSAGE_COLOR);
}
if (this.getChatOtherMessageColor() == null) {
this.setChatOtherMessageColor(DEFAULT_CHAT_OTHER_MESSAGE_COLOR);
}
return this;
}
public int getBrokingFirmSize() {
return brokingFirms.size();
}
public BrokingFirm getBrokingFirm(int index) {
return brokingFirms.get(index);
}
public int getSelectedBrokingFirmIndex() {
return selectedBrokingFirmIndex;
}
public void setSelectedBrokingFirmIndex(int selectedBrokingFirmIndex) {
this.selectedBrokingFirmIndex = selectedBrokingFirmIndex;
}
public void clearBrokingFirms() {
this.brokingFirms.clear();
}
public void addBrokingFirm(BrokingFirm brokingFirm) {
this.brokingFirms.add(brokingFirm);
}
public BrokingFirm getSelectedBrokingFirm() {
if((this.selectedBrokingFirmIndex < 0) || (this.selectedBrokingFirmIndex >= this.getBrokingFirmSize()))
return null;
return this.brokingFirms.get(this.selectedBrokingFirmIndex);
}
public String getLooknFeel() {
return looknFeel;
}
public void setLookNFeel(String looknFeel) {
this.looknFeel = looknFeel;
}
public boolean isSingleIndicatorAlert() {
return singleIndicatorAlert;
}
public void setSingleIndicatorAlert(boolean singleIndicatorAlert) {
this.singleIndicatorAlert = singleIndicatorAlert;
}
public boolean isPopupMessage() {
return popupMessage;
}
public void setPopupMessage(boolean popupMessage) {
this.popupMessage = popupMessage;
}
public boolean isSendEmail() {
return sendEmail;
}
public void setSendEmail(boolean sendEmail) {
this.sendEmail = sendEmail;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmailPassword() {
return emailPassword;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -