de.upb.swtpra05.group03.companycontrol
Class ControlPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JTabbedPane
                  extended byde.upb.swtpra05.group03.companycontrol.ControlPanel
All Implemented Interfaces:
javax.accessibility.Accessible, Control, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.SwingConstants

public class ControlPanel
extends javax.swing.JTabbedPane
implements Control

The Control Panel in the upper right Corner of the CompanyControl. The Panel extends the JTabbedPane Class because each Plugin will be loaded into a new Tab.This is done on Construction.

Version:
$Revision: 1.3 $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTabbedPane
javax.swing.JTabbedPane.AccessibleJTabbedPane, javax.swing.JTabbedPane.ModelListener
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  CompanyMainControl refMainControl
          reference on CompanyMainControl
private static long serialVersionUID
          Comment for serialVersionUID
private  StrategyPanel strategyPan
          the reference on the strategy panel
private  TradePanel tradePan
          the reference on the trade panel
 
Fields inherited from class javax.swing.JTabbedPane
changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
(package private) ControlPanel(CompanyMainControl refControl)
          The constructor initializes the two included panels and adds them to its panel
 
Method Summary
private  int partition(java.lang.String[] e, int p, int r)
          this method is called by the method quicksort to get a partition of the part array from m to n of
private  void quicksort(java.lang.String[] entries, int start, int end)
          quicksort is used here to sort the entries of the two combo boxes of the trade panel before updating them.
 void reset()
          This method is called when the connection to the Kernel is quit.
 void setWaitState()
          This method is called when the client has started to connect to the Kernel.
 void shuttleChosen(java.lang.String shuttle, int revenue)
          This method is called by the class ShuttleTable when the user marks a row in the shuttle table.
 void stationChosen(java.lang.String station, int sellsFor)
          This method is called by the class StockTable when the user marks a row in the stock table.
 void updateShuttleList(java.util.Map shuttleList)
          This method is called by the CompanyMainControl when information about the shuttle has changed and the shuttle combo box has to be updated.
 void updateShuttleParams(float margin, float minMargin, float marginStep, int riskFactor, boolean selfAdopting)
          make the strategy panel update its parameters when new parameters from shuttles are received
 void updateShuttleStock(java.util.Map shuttleStock)
          This method is called by the CompanyMainControl when the stock has changed and in order to that, the station combo box has to be updated.
 
Methods inherited from class javax.swing.JTabbedPane
add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, insertTab, isEnabledAt, paramString, remove, remove, removeAll, removeChangeListener, removeTabAt, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Comment for serialVersionUID

See Also:
Constant Field Values

strategyPan

private StrategyPanel strategyPan
the reference on the strategy panel


tradePan

private TradePanel tradePan
the reference on the trade panel


refMainControl

CompanyMainControl refMainControl
reference on CompanyMainControl

Constructor Detail

ControlPanel

ControlPanel(CompanyMainControl refControl)
The constructor initializes the two included panels and adds them to its panel

Parameters:
refControl - reference on the CompanyMainControl
Method Detail

reset

public void reset()
This method is called when the connection to the Kernel is quit. Resets the combo boxes and clears the text fields of the trade panel.

Specified by:
reset in interface Control

setWaitState

public void setWaitState()
This method is called when the client has started to connect to the Kernel. See TradePanel for further details.

Specified by:
setWaitState in interface Control

stationChosen

public void stationChosen(java.lang.String station,
                          int sellsFor)
This method is called by the class StockTable when the user marks a row in the stock table. The station combo box item is set to the given string.

Specified by:
stationChosen in interface Control
Parameters:
station - the marked row's station name
sellsFor - the price the station sells a shuttle for

shuttleChosen

public void shuttleChosen(java.lang.String shuttle,
                          int revenue)
This method is called by the class ShuttleTable when the user marks a row in the shuttle table. The shuttle combo box item is set to the given string.

Specified by:
shuttleChosen in interface Control
Parameters:
shuttle - the marked row's station name
revenue - the current sale revenue of the shuttle

partition

private int partition(java.lang.String[] e,
                      int p,
                      int r)
this method is called by the method quicksort to get a partition of the part array from m to n of

Parameters:
e - the array to be sorted
p - the left border of the part array to be sorted
r - the left border of the part array to be sorted
Returns:
int the calculated new partition element

quicksort

private void quicksort(java.lang.String[] entries,
                       int start,
                       int end)
quicksort is used here to sort the entries of the two combo boxes of the trade panel before updating them.

Parameters:
entries - the array to be sorted
start - the first index of the array to be sorted
end - the last index of the array to be sorted

updateShuttleStock

public void updateShuttleStock(java.util.Map shuttleStock)
This method is called by the CompanyMainControl when the stock has changed and in order to that, the station combo box has to be updated. The stations are sorted before the combo box gets updated.

Specified by:
updateShuttleStock in interface Control
Parameters:
shuttleStock - contains all the stations and their information

updateShuttleList

public void updateShuttleList(java.util.Map shuttleList)
This method is called by the CompanyMainControl when information about the shuttle has changed and the shuttle combo box has to be updated. The shuttles are sorted before the combo box gets updated.

Specified by:
updateShuttleList in interface Control
Parameters:
shuttleList - contains all the shuttles and their information

updateShuttleParams

public void updateShuttleParams(float margin,
                                float minMargin,
                                float marginStep,
                                int riskFactor,
                                boolean selfAdopting)
make the strategy panel update its parameters when new parameters from shuttles are received

Specified by:
updateShuttleParams in interface Control
Parameters:
margin - the margin that the shuttle shall use to calculate their offers
minMargin - the minimum margin to have
marginStep - the size of the steps between to possible margins
riskFactor - the risc factor of the shuttles: 0 low, 1 medium, 2 high
selfAdopting -