/* * Created on Feb 28, 2010 * */ package org.atdl4j.ui.app.impl; import java.util.List; import java.util.Vector; import org.atdl4j.config.Atdl4jOptions; import org.atdl4j.config.InputAndFilterData; import org.atdl4j.ui.app.Atdl4jInputAndFilterDataPanel; import org.atdl4j.ui.app.Atdl4jInputAndFilterDataPanelListener; /** * Represents the base, non-GUI system-specific Atdl4jOptions and InputAndFilterData GUI component. * * @author Scott Atwell * @version 1.0, Mar 1, 2010 */ public abstract class AbstractAtdl4jInputAndFilterDataPanel implements Atdl4jInputAndFilterDataPanel { public static final String STRATEGY_FILTER_PANEL_NAME = "FIXatdl Strategy Filter"; public static final String STANDARD_FIX_FIELDS_PANEL_NAME = "FIX Fields from Order"; public static final int DEFAULT_DROP_DOWN_VISIBLE_ITEM_COUNT = 20; public static final String[] DEFAULT_STRATEGY_FILTER_COUNTRY_SUBSET_LIST = new String[] { "", "US", "CA", "BR", "UK", "FR", "DE", "JP", "HK", "AU" }; // just to seed it with some public static final String[] DEFAULT_STRATEGY_FILTER_MIC_CODE_SUBSET_LIST = new String[] { "", "XNYS", "XNAS", "XBMF", "XLSE", "XPAR", "XFRA", "XETR", "XTKS", "XHKG", "XASX" }; // just to seed it with some public static final String[] DEFAULT_FIX_FIELD_ORD_TYPE_SUBSET_LIST = new String[] { "", "1", "2", "3", "4", "6", "7", "8", "9", "D", "E", "G", "I", "J", "K", "P", "Q" }; // just to seed it with some public static final String FIX_FIELD_NAME_ORD_TYPE = "FIX_OrdType"; // tag 40 public static final String[] DEFAULT_FIX_FIELD_SIDE_SUBSET_LIST = new String[] { "", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C" }; // just to seed it with some public static final String FIX_FIELD_NAME_SIDE = "FIX_Side"; // tag 54 public static final String[] DEFAULT_FIX_FIELD_ORDER_QTY_SUBSET_LIST = new String[] { "", "10", "100", "1000", "10000", "100000" }; // just to seed it with some public static final String FIX_FIELD_NAME_ORDER_QTY = "FIX_OrderQty"; // tag 38 public static final String[] DEFAULT_FIX_FIELD_PRICE_SUBSET_LIST = new String[] { "", "1.00", "5.00", "10", "10.00", "10.75", "25.00", "50.00" }; // just to seed it with some public static final String FIX_FIELD_NAME_PRICE = "FIX_Price"; // tag 44 public static final String[] DEFAULT_FIX_FIELD_HANDL_INST_SUBSET_LIST = new String[] { "", "1", "2", "3" }; // just to seed it with some public static final String FIX_FIELD_NAME_HANDL_INST = "FIX_HandlInst"; // tag 21 public static final String[] DEFAULT_FIX_FIELD_EXEC_INST_SUBSET_LIST = new String[] { "" }; // just to seed it with some public static final String FIX_FIELD_NAME_EXEC_INST = "FIX_ExecInst"; // tag 21 (note MultipleCharValue) public static final String[] DEFAULT_FIX_FIELD_TIME_IN_FORCE_SUBSET_LIST = new String[] { "", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" }; // just to seed it with some public static final String FIX_FIELD_NAME_TIME_IN_FORCE = "FIX_TimeInForce"; // tag 59 public static final String[] DEFAULT_FIX_FIELD_CL_ORD_LINK_ID_SUBSET_LIST = new String[] { "", "COMMON_ID_1", "COMMON_ID_2" }; // just to seed it with some public static final String FIX_FIELD_NAME_CL_ORD_LINK_ID = "FIX_ClOrdLinkID"; // tag 583 Atdl4jOptions atdl4jOptions; Object parentOrShell; // SWT: Shell, Swing: JFrame, JDialog, etc private List<Atdl4jInputAndFilterDataPanelListener> listenerList = new Vector<Atdl4jInputAndFilterDataPanelListener>(); protected void init( Object aParentOrShell, Atdl4jOptions aAtdl4jOptions ) { setAtdl4jOptions( aAtdl4jOptions ); setParentOrShell( aParentOrShell ); } /** * @return the atdl4jOptions */ public Atdl4jOptions getAtdl4jOptions() { return this.atdl4jOptions; } /** * @param aAtdl4jOptions the atdl4jOptions to set */ private void setAtdl4jOptions(Atdl4jOptions aAtdl4jOptions) { this.atdl4jOptions = aAtdl4jOptions; } /** * @return the parentOrShell */ public Object getParentOrShell() { return this.parentOrShell; } /** * @param aParentOrShell the parentOrShell to set */ private void setParentOrShell(Object aParentOrShell) { this.parentOrShell = aParentOrShell; } public void addListener( Atdl4jInputAndFilterDataPanelListener aAtdl4jInputAndFilterCriteriaPanelListener ) { listenerList.add( aAtdl4jInputAndFilterCriteriaPanelListener ); } public void removeListener( Atdl4jInputAndFilterDataPanelListener aAtdl4jInputAndFilterCriteriaPanelListener ) { listenerList.remove( aAtdl4jInputAndFilterCriteriaPanelListener ); } protected void fireInputAndFilterDataSpecifiedEvent( InputAndFilterData aInputAndFilterData ) { for ( Atdl4jInputAndFilterDataPanelListener tempListener : listenerList ) { tempListener.inputAndFilterDataSpecified( aInputAndFilterData ); } } }