gui.controls
Class StationsTimetableEditor

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bygui.controls.StationsTimetableEditor
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public final class StationsTimetableEditor
extends javax.swing.JPanel
implements java.awt.event.ActionListener

A panel used to define the times of arrivals and departures for every station of a connection.

Author:
Piotrek
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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
private  Connection connection
          A connection to be load for the edition.
private  javax.swing.JButton convertToAbsoluteTimeForm
          A buttong used to convert the timetable to the `hh:mm' form.
private  javax.swing.JButton convertToShiftTimeForm
          A buttong used to convert the timetable to the `+hh:mm' form.
private  StationsTimetableListView list
          A list view of stations.
private  javax.swing.JScrollPane listPane
          The scroll pane making the list scrollable.
private  int meanOfTransportation
          A mean of transportation the stations are for.
private  java.util.ArrayList stations
          A list of all the stations the times are to be set for.
 
Fields inherited from class javax.swing.JPanel
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
StationsTimetableEditor(java.util.ArrayList stations, int meanOfTransportation, Connection connection)
          Constructor.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
private  void AddConvertionButtons()
          Adds the buttons for applying the convertions between `+hh:mm' and `hh:mm' forms.
private  void AddHeader()
          Adds a header over the list with the names of columns.
private  void AddList()
          Adds a list for editing times of arrivals and departures for all the stations.
 int GetArrivalTime(int index)
          Gets a time in minutes since midnight of arrival to the station with the given index.
 int GetDepartureTime(int index)
          Gets a time in minutes since midnight of departure from the station with the given index.
private  void OnConvertToAbsoluteTimeForm()
          A handler for the convert to absolute time form button.
private  void OnConvertToShiftTimeForm()
          A handler for the convert to shift time form button.
private  boolean Validate()
          Validates the timetable.
 boolean ValidateTimetable(java.util.ArrayList errorsList)
          Validates the timetable.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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
add, add, add, add, add, 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, remove, remove, removeAll, 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

connection

private Connection connection
A connection to be load for the edition. Null if creating a new connection.


stations

private java.util.ArrayList stations
A list of all the stations the times are to be set for.


meanOfTransportation

private int meanOfTransportation
A mean of transportation the stations are for.


list

private StationsTimetableListView list
A list view of stations.


listPane

private javax.swing.JScrollPane listPane
The scroll pane making the list scrollable.


convertToShiftTimeForm

private javax.swing.JButton convertToShiftTimeForm
A buttong used to convert the timetable to the `+hh:mm' form.


convertToAbsoluteTimeForm

private javax.swing.JButton convertToAbsoluteTimeForm
A buttong used to convert the timetable to the `hh:mm' form.

Constructor Detail

StationsTimetableEditor

public StationsTimetableEditor(java.util.ArrayList stations,
                               int meanOfTransportation,
                               Connection connection)
Constructor.

Parameters:
stations - An ordered list of all the stations in the connection (at least two). Ignored if connection is not null.
meanOfTransportation - A mean of transportation. This is required only to count the default times of travel. Ignored if connection is not null.
connection - A connection to be load for the edition. Set it to null if creating a new connection.
See Also:
MeanOfTransportation.AIRPLANE, MeanOfTransportation.BUS, MeanOfTransportation.TRAIN, MeanOfTransportation.SHIP
Method Detail

AddHeader

private void AddHeader()
Adds a header over the list with the names of columns.


AddList

private void AddList()
Adds a list for editing times of arrivals and departures for all the stations.


GetDepartureTime

public int GetDepartureTime(int index)
Gets a time in minutes since midnight of departure from the station with the given index.

Parameters:
index - An index of the station.
Returns:
A time in minutes since midnight of departure from the station with the given index or -1 if there was any parse error.

GetArrivalTime

public int GetArrivalTime(int index)
Gets a time in minutes since midnight of arrival to the station with the given index.

Parameters:
index - An index of the station.
Returns:
A time in minutes since midnight of arriavl to the station with the given index or -1 if there was any parse error.

AddConvertionButtons

private void AddConvertionButtons()
Adds the buttons for applying the convertions between `+hh:mm' and `hh:mm' forms.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)

OnConvertToAbsoluteTimeForm

private void OnConvertToAbsoluteTimeForm()
A handler for the convert to absolute time form button. It converts the timetable to the absolute time format.

See Also:
actionPerformed(ActionEvent)

OnConvertToShiftTimeForm

private void OnConvertToShiftTimeForm()
A handler for the convert to shift time form button. It converts times to the shift form.

See Also:
actionPerformed(ActionEvent)

ValidateTimetable

public boolean ValidateTimetable(java.util.ArrayList errorsList)
Validates the timetable.

Parameters:
errorsList - A list of errors (strings). If there are any, they will be added to this list.
Returns:
A bool value indicating whether the timetable is OK.

Validate

private boolean Validate()
Validates the timetable. It shows the errors in the message box.

Returns:
A bool value indicating whether the timetable is OK.