diff --git a/src/main/java/gui/Globals.java b/src/main/java/gui/Globals.java
index de319f1..fcb746a 100644
--- a/src/main/java/gui/Globals.java
+++ b/src/main/java/gui/Globals.java
@@ -68,11 +68,19 @@ public class Globals {
static final String TRADERPREFS = "Traders";
static final String DEVELSTATUS = "devel_status";
- static final String GODMODE = "godmode";
+ public static final String GODMODE = "godmode";
static public sesim.Exchange se;
static public Preferences prefs;
+
+
+ public static class CfgStrings{
+ public static final String GODMODE = "godmode";
+ }
+
+ //CfgStrings
+
static void setLookAndFeel(String selected) {
diff --git a/src/main/java/gui/LoggerDialog.form b/src/main/java/gui/LoggerDialog.form
index 292a5e4..f80dbfc 100644
--- a/src/main/java/gui/LoggerDialog.form
+++ b/src/main/java/gui/LoggerDialog.form
@@ -59,7 +59,7 @@
-
+
-
+
\ No newline at end of file
diff --git a/src/main/java/gui/LoggerDialog.java b/src/main/java/gui/LoggerDialog.java
index db4e46d..8be9760 100644
--- a/src/main/java/gui/LoggerDialog.java
+++ b/src/main/java/gui/LoggerDialog.java
@@ -85,7 +85,7 @@ public class LoggerDialog extends javax.swing.JDialog {
jScrollPane1 = new javax.swing.JScrollPane();
logArea = new javax.swing.JTextArea();
- orderBookNew1 = new gui.OrderBookNew();
+ orderBookNew1 = new gui.orderbook.OrderBookNew();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
@@ -161,6 +161,6 @@ public class LoggerDialog extends javax.swing.JDialog {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea logArea;
- private gui.OrderBookNew orderBookNew1;
+ private gui.orderbook.OrderBookNew orderBookNew1;
// End of variables declaration//GEN-END:variables
}
diff --git a/src/main/java/gui/NewMDIApplication.form b/src/main/java/gui/NewMDIApplication.form
index 50a72a3..4b77622 100644
--- a/src/main/java/gui/NewMDIApplication.form
+++ b/src/main/java/gui/NewMDIApplication.form
@@ -168,6 +168,14 @@
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/java/gui/NewMDIApplication.java b/src/main/java/gui/NewMDIApplication.java
index 5b94e5b..0d6cbbe 100644
--- a/src/main/java/gui/NewMDIApplication.java
+++ b/src/main/java/gui/NewMDIApplication.java
@@ -65,6 +65,8 @@ public class NewMDIApplication extends javax.swing.JFrame {
System.out.printf("!!!! creating new\n");
String base = cfg.getString("base");
AutoTraderInterface ac = Globals.tloader.getStrategyBase(base);
+ if (ac==null)
+ return null;
ac.putConfig(cfg);
ac.init(se, id, name, money, shares, cfg);
@@ -142,8 +144,6 @@ public class NewMDIApplication extends javax.swing.JFrame {
jScrollPane2 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
- jChartScrollPane = new javax.swing.JScrollPane();
- chart = new chart.Chart();
jPanel2 = new javax.swing.JPanel();
stopButton = new javax.swing.JButton();
runButton = new javax.swing.JButton();
@@ -151,7 +151,13 @@ public class NewMDIApplication extends javax.swing.JFrame {
accelSpinner = new javax.swing.JSpinner();
clock = new gui.Clock();
jComboBox1 = new javax.swing.JComboBox<>();
- oderBookPanelNew1 = new gui.OderBookPanelNew();
+ jSplitPane1 = new javax.swing.JSplitPane();
+ jSplitPane2 = new javax.swing.JSplitPane();
+ jChartScrollPane = new javax.swing.JScrollPane();
+ chart = new chart.Chart();
+ orderBookNew1 = new gui.orderbook.OrderBookNew();
+ traderListPanel1 = new gui.TraderListPanel();
+ orderBooksHorizontal1 = new gui.orderbook.OrderBooksHorizontal();
menuBar = new javax.swing.JMenuBar();
fileMenu = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
@@ -172,8 +178,9 @@ public class NewMDIApplication extends javax.swing.JFrame {
simMenuStop = new javax.swing.JMenuItem();
viewMenu = new javax.swing.JMenu();
jMenuItem2 = new javax.swing.JMenuItem();
- jMenuItem3 = new javax.swing.JMenuItem();
viewClock = new javax.swing.JMenuItem();
+ jMenuItem3 = new javax.swing.JMenuItem();
+ jCheckBoxMenuItem1 = new javax.swing.JCheckBoxMenuItem();
helpMenu = new javax.swing.JMenu();
contentMenuItem = new javax.swing.JMenuItem();
aboutMenuItem = new javax.swing.JMenuItem();
@@ -185,20 +192,6 @@ public class NewMDIApplication extends javax.swing.JFrame {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setMinimumSize(new java.awt.Dimension(640, 480));
- setPreferredSize(new java.awt.Dimension(800, 561));
-
- javax.swing.GroupLayout chartLayout = new javax.swing.GroupLayout(chart);
- chart.setLayout(chartLayout);
- chartLayout.setHorizontalGroup(
- chartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 300, Short.MAX_VALUE)
- );
- chartLayout.setVerticalGroup(
- chartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 300, Short.MAX_VALUE)
- );
-
- jChartScrollPane.setViewportView(chart);
stopButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/toolbarButtonGraphics/general/Stop24.gif"))); // NOI18N
stopButton.setText("Stop");
@@ -254,7 +247,7 @@ public class NewMDIApplication extends javax.swing.JFrame {
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(stopButton, javax.swing.GroupLayout.PREFERRED_SIZE, 63, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 374, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(clock, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
@@ -282,6 +275,32 @@ public class NewMDIApplication extends javax.swing.JFrame {
.addContainerGap())))
);
+ getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_START);
+
+ jSplitPane1.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
+
+ javax.swing.GroupLayout chartLayout = new javax.swing.GroupLayout(chart);
+ chart.setLayout(chartLayout);
+ chartLayout.setHorizontalGroup(
+ chartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 300, Short.MAX_VALUE)
+ );
+ chartLayout.setVerticalGroup(
+ chartLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 300, Short.MAX_VALUE)
+ );
+
+ jChartScrollPane.setViewportView(chart);
+
+ jSplitPane2.setBottomComponent(jChartScrollPane);
+ jSplitPane2.setLeftComponent(orderBookNew1);
+
+ jSplitPane1.setTopComponent(jSplitPane2);
+ jSplitPane1.setRightComponent(traderListPanel1);
+ jSplitPane1.setBottomComponent(orderBooksHorizontal1);
+
+ getContentPane().add(jSplitPane1, java.awt.BorderLayout.CENTER);
+
fileMenu.setMnemonic('f');
fileMenu.setText("File");
@@ -414,6 +433,14 @@ public class NewMDIApplication extends javax.swing.JFrame {
});
viewMenu.add(jMenuItem2);
+ viewClock.setText("Clock");
+ viewClock.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ viewClockActionPerformed(evt);
+ }
+ });
+ viewMenu.add(viewClock);
+
jMenuItem3.setText("LogWindow");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -422,13 +449,9 @@ public class NewMDIApplication extends javax.swing.JFrame {
});
viewMenu.add(jMenuItem3);
- viewClock.setText("Clock");
- viewClock.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- viewClockActionPerformed(evt);
- }
- });
- viewMenu.add(viewClock);
+ jCheckBoxMenuItem1.setSelected(true);
+ jCheckBoxMenuItem1.setText("jCheckBoxMenuItem1");
+ viewMenu.add(jCheckBoxMenuItem1);
menuBar.add(viewMenu);
@@ -452,32 +475,6 @@ public class NewMDIApplication extends javax.swing.JFrame {
setJMenuBar(menuBar);
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(oderBookPanelNew1, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jChartScrollPane)
- .addContainerGap())
- .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addContainerGap()
- .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jChartScrollPane)
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(oderBookPanelNew1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap())
- );
-
pack();
}// //GEN-END:initComponents
@@ -697,6 +694,7 @@ public class NewMDIApplication extends javax.swing.JFrame {
private javax.swing.JMenu helpMenu;
private javax.swing.JButton jButton2;
private javax.swing.JScrollPane jChartScrollPane;
+ private javax.swing.JCheckBoxMenuItem jCheckBoxMenuItem1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
@@ -705,10 +703,13 @@ public class NewMDIApplication extends javax.swing.JFrame {
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JPopupMenu.Separator jSeparator2;
+ private javax.swing.JSplitPane jSplitPane1;
+ private javax.swing.JSplitPane jSplitPane2;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JMenuBar menuBar;
- private gui.OderBookPanelNew oderBookPanelNew1;
private javax.swing.JMenuItem openMenuItem;
+ private gui.orderbook.OrderBookNew orderBookNew1;
+ private gui.orderbook.OrderBooksHorizontal orderBooksHorizontal1;
private javax.swing.JMenuItem pasteMenuItem;
private javax.swing.JButton runButton;
private javax.swing.JMenuItem saveAsMenuItem;
@@ -718,6 +719,7 @@ public class NewMDIApplication extends javax.swing.JFrame {
private javax.swing.JMenuItem simMenuStart;
private javax.swing.JMenuItem simMenuStop;
private javax.swing.JButton stopButton;
+ private gui.TraderListPanel traderListPanel1;
private javax.swing.JMenuItem viewClock;
private javax.swing.JMenu viewMenu;
// End of variables declaration//GEN-END:variables
diff --git a/src/main/java/gui/OderBookPanelNew.form b/src/main/java/gui/OderBookPanelNew.form
index 7ab5f47..9b2a23c 100644
--- a/src/main/java/gui/OderBookPanelNew.form
+++ b/src/main/java/gui/OderBookPanelNew.form
@@ -56,9 +56,9 @@
-
+
-
+
@@ -71,4 +71,4 @@
-
+
\ No newline at end of file
diff --git a/src/main/java/gui/OderBookPanelNew.java b/src/main/java/gui/OderBookPanelNew.java
index 0d4771d..f804251 100644
--- a/src/main/java/gui/OderBookPanelNew.java
+++ b/src/main/java/gui/OderBookPanelNew.java
@@ -48,8 +48,8 @@ public class OderBookPanelNew extends javax.swing.JPanel {
private void initComponents() {
quotePanel1 = new gui.QuotePanel();
- orderBookNew3 = new gui.OrderBookNew();
- orderBookNew4 = new gui.OrderBookNew();
+ orderBookNew3 = new gui.orderbook.OrderBookNew();
+ orderBookNew4 = new gui.orderbook.OrderBookNew();
filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
@@ -88,8 +88,8 @@ public class OderBookPanelNew extends javax.swing.JPanel {
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.Box.Filler filler1;
- private gui.OrderBookNew orderBookNew3;
- private gui.OrderBookNew orderBookNew4;
+ private gui.orderbook.OrderBookNew orderBookNew3;
+ private gui.orderbook.OrderBookNew orderBookNew4;
private gui.QuotePanel quotePanel1;
// End of variables declaration//GEN-END:variables
}
diff --git a/src/main/java/gui/OrderBookDialog.form b/src/main/java/gui/OrderBookDialog.form
index 1b509f4..5e6700e 100644
--- a/src/main/java/gui/OrderBookDialog.form
+++ b/src/main/java/gui/OrderBookDialog.form
@@ -23,11 +23,11 @@
-
+
-
+
-
+
\ No newline at end of file
diff --git a/src/main/java/gui/OrderBookDialog.java b/src/main/java/gui/OrderBookDialog.java
index 4f2c74d..8d6070d 100644
--- a/src/main/java/gui/OrderBookDialog.java
+++ b/src/main/java/gui/OrderBookDialog.java
@@ -48,9 +48,9 @@ public class OrderBookDialog extends javax.swing.JDialog {
// //GEN-BEGIN:initComponents
private void initComponents() {
- orderBookNew1 = new gui.OrderBookNew();
+ orderBookNew1 = new gui.orderbook.OrderBookNew();
quotePanel1 = new gui.QuotePanel();
- orderBookNew2 = new gui.OrderBookNew();
+ orderBookNew2 = new gui.orderbook.OrderBookNew();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().setLayout(new java.awt.FlowLayout());
@@ -104,8 +104,8 @@ public class OrderBookDialog extends javax.swing.JDialog {
}
// Variables declaration - do not modify//GEN-BEGIN:variables
- private gui.OrderBookNew orderBookNew1;
- private gui.OrderBookNew orderBookNew2;
+ private gui.orderbook.OrderBookNew orderBookNew1;
+ private gui.orderbook.OrderBookNew orderBookNew2;
private gui.QuotePanel quotePanel1;
// End of variables declaration//GEN-END:variables
}
diff --git a/src/main/java/gui/OrderBookNew.form b/src/main/java/gui/orderbook/OrderBookNew.form
similarity index 94%
rename from src/main/java/gui/OrderBookNew.form
rename to src/main/java/gui/orderbook/OrderBookNew.form
index 3ae6548..f84e817 100644
--- a/src/main/java/gui/OrderBookNew.form
+++ b/src/main/java/gui/orderbook/OrderBookNew.form
@@ -16,12 +16,12 @@
-
+
-
+
diff --git a/src/main/java/gui/OrderBookNew.java b/src/main/java/gui/orderbook/OrderBookNew.java
similarity index 88%
rename from src/main/java/gui/OrderBookNew.java
rename to src/main/java/gui/orderbook/OrderBookNew.java
index 61b90e6..0bdb668 100644
--- a/src/main/java/gui/OrderBookNew.java
+++ b/src/main/java/gui/orderbook/OrderBookNew.java
@@ -23,8 +23,9 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
-package gui;
+package gui.orderbook;
+import gui.Globals;
import gui.Globals.CfgListener;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
@@ -32,6 +33,7 @@ import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import sesim.Exchange;
import sesim.Exchange.Order;
+import sesim.Exchange.OrderType;
/**
*
@@ -41,6 +43,9 @@ public class OrderBookNew extends javax.swing.JPanel implements Exchange.BookRec
DefaultTableModel model;
TableColumn trader_column = null;
+
+ OrderType type = OrderType.BUYLIMIT;
+ int depth=40;
public void setGodMode(boolean on) {
TableColumnModel tcm = list.getColumnModel();
@@ -57,23 +62,25 @@ public class OrderBookNew extends javax.swing.JPanel implements Exchange.BookRec
return;
}
tcm.removeColumn(tcm.getColumn(0));
-
-
-
}
-
}
-
+
+ /**
+ * Bla
+ */
@Override
- public void cfgChanged() {
- boolean gm = Globals.prefs.get(Globals.GODMODE, "false").equals("true");
+ public final void cfgChanged() {
+ boolean gm = Globals.prefs.get(Globals.CfgStrings.GODMODE, "false").equals("true");
System.out.printf("GM %s\n",gm?"true":"false");
setGodMode(gm);
list.invalidate();
list.repaint();
-
}
+ public void setType(OrderType type){
+ this.type=type;
+ Globals.se.addBookReceiver(type, this);
+ }
/**
* Creates new form OrderBookNew
@@ -85,13 +92,13 @@ public class OrderBookNew extends javax.swing.JPanel implements Exchange.BookRec
model = (DefaultTableModel) this.list.getModel();
trader_column = list.getColumnModel().getColumn(0);
cfgChanged();
- Globals.se.addBookReceiver(Exchange.OrderType.BUYLIMIT, this);
+// Globals.se.addBookReceiver(Exchange.OrderType.BUYLIMIT, this);
Globals.addCfgListener(this);
}
@Override
public void UpdateOrderBook() {
- ArrayList ob = Globals.se.getOrderBook(Exchange.OrderType.SELLLIMIT, 40);
+ ArrayList ob = Globals.se.getOrderBook(type, depth);
model.setRowCount(ob.size());
int row = 0;
for (Order ob1 : ob) {
@@ -147,11 +154,11 @@ public class OrderBookNew extends javax.swing.JPanel implements Exchange.BookRec
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 389, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 284, Short.MAX_VALUE)
);
}// //GEN-END:initComponents
diff --git a/src/main/java/gui/orderbook/OrderBooksHorizontal.form b/src/main/java/gui/orderbook/OrderBooksHorizontal.form
new file mode 100644
index 0000000..f64d120
--- /dev/null
+++ b/src/main/java/gui/orderbook/OrderBooksHorizontal.form
@@ -0,0 +1,39 @@
+
+
+
diff --git a/src/main/java/gui/orderbook/OrderBooksHorizontal.java b/src/main/java/gui/orderbook/OrderBooksHorizontal.java
new file mode 100644
index 0000000..9172994
--- /dev/null
+++ b/src/main/java/gui/orderbook/OrderBooksHorizontal.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2017, tobias
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+package gui.orderbook;
+
+import sesim.Exchange;
+
+/**
+ *
+ * @author tobias
+ */
+public class OrderBooksHorizontal extends javax.swing.JPanel {
+
+ /**
+ * Creates new form OrderBooksHorizontal
+ */
+ public OrderBooksHorizontal() {
+ initComponents();
+
+
+ askBook.setType(Exchange.OrderType.BUYLIMIT);
+ bidBook.setType(Exchange.OrderType.SELLLIMIT);
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ askBook = new gui.orderbook.OrderBookNew();
+ qutoesHorizontal1 = new gui.orderbook.QutoesHorizontal();
+ bidBook = new gui.orderbook.OrderBookNew();
+
+ setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.LINE_AXIS));
+ add(askBook);
+
+ javax.swing.GroupLayout qutoesHorizontal1Layout = new javax.swing.GroupLayout(qutoesHorizontal1);
+ qutoesHorizontal1.setLayout(qutoesHorizontal1Layout);
+ qutoesHorizontal1Layout.setHorizontalGroup(
+ qutoesHorizontal1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 77, Short.MAX_VALUE)
+ );
+ qutoesHorizontal1Layout.setVerticalGroup(
+ qutoesHorizontal1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGap(0, 296, Short.MAX_VALUE)
+ );
+
+ add(qutoesHorizontal1);
+ add(bidBook);
+ }// //GEN-END:initComponents
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private gui.orderbook.OrderBookNew askBook;
+ private gui.orderbook.OrderBookNew bidBook;
+ private gui.orderbook.QutoesHorizontal qutoesHorizontal1;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/main/java/gui/orderbook/QutoesHorizontal.form b/src/main/java/gui/orderbook/QutoesHorizontal.form
new file mode 100644
index 0000000..af0e0b9
--- /dev/null
+++ b/src/main/java/gui/orderbook/QutoesHorizontal.form
@@ -0,0 +1,44 @@
+
+
+
diff --git a/src/main/java/gui/orderbook/QutoesHorizontal.java b/src/main/java/gui/orderbook/QutoesHorizontal.java
new file mode 100644
index 0000000..c299029
--- /dev/null
+++ b/src/main/java/gui/orderbook/QutoesHorizontal.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2017, tobias
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+package gui.orderbook;
+
+/**
+ *
+ * @author tobias
+ */
+public class QutoesHorizontal extends javax.swing.JPanel {
+
+ /**
+ * Creates new form QutoesHorizontal
+ */
+ public QutoesHorizontal() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jLabel1 = new javax.swing.JLabel();
+
+ jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
+ jLabel1.setText("Price: 200.123");
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
+ this.setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)
+ .addContainerGap())
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(110, 110, 110)
+ .addComponent(jLabel1)
+ .addContainerGap(175, Short.MAX_VALUE))
+ );
+ }// //GEN-END:initComponents
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel jLabel1;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/main/java/sesim/Exchange.java b/src/main/java/sesim/Exchange.java
index 632114c..3e07be3 100644
--- a/src/main/java/sesim/Exchange.java
+++ b/src/main/java/sesim/Exchange.java
@@ -361,8 +361,13 @@ public class Exchange {
public final String CFG_SHARES_DECIMALS = "shares_decimals";
public void putConfig(JSONObject cfg) {
- this.setMoneyDecimals(cfg.getInt(CFG_MONEY_DECIMALS));
- this.setSharesDecimals(cfg.getInt(CFG_SHARES_DECIMALS));
+ try{
+ this.setMoneyDecimals(cfg.getInt(CFG_MONEY_DECIMALS));
+ this.setSharesDecimals(cfg.getInt(CFG_SHARES_DECIMALS));
+ }
+ catch (Exception e){
+
+ }
}
@@ -434,8 +439,19 @@ public class Exchange {
}
public void addBookReceiver(OrderType t, BookReceiver br) {
+
+ if (br==null){
+ System.out.printf("Br is null\n");
+ }
+ else{
+ System.out.printf("Br is not Nukk\n");
+ }
+
ArrayList bookreceivers;
bookreceivers = selectBookReceiver(t);
+ if (bookreceivers == null){
+ System.out.printf("null in bookreceivers\n");
+ }
bookreceivers.add(br);
}
diff --git a/src/main/java/sesim/NewJPanel.form b/src/main/java/sesim/NewJPanel.form
new file mode 100644
index 0000000..8eea11b
--- /dev/null
+++ b/src/main/java/sesim/NewJPanel.form
@@ -0,0 +1,20 @@
+
+
+
diff --git a/src/main/java/sesim/NewJPanel.java b/src/main/java/sesim/NewJPanel.java
new file mode 100644
index 0000000..672cc97
--- /dev/null
+++ b/src/main/java/sesim/NewJPanel.java
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2017, tobias
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * * Redistributions of source code must retain the above copyright notice, this
+ * list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+package sesim;
+
+/**
+ *
+ * @author tobias
+ */
+public class NewJPanel extends javax.swing.JPanel {
+
+ /**
+ * Creates new form NewJPanel
+ */
+ public NewJPanel() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // //GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ setLayout(new javax.swing.BoxLayout(this, javax.swing.BoxLayout.PAGE_AXIS));
+ }// //GEN-END:initComponents
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ // End of variables declaration//GEN-END:variables
+}