Package com.nnamo.view.custompanels
Class LeftPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.nnamo.view.custompanels.LeftPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
Custom
JPanel
that serves as the left panel of the application,
containing various sub-panels for searching, preferences, statistics, and
settings.- Author:
- Riccardo Finocchiaro, Samuele Lombardi
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
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.Component
accessibleContext, 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears the tables in the prefer panel.Returns thePreferPanel
instance contained in this LeftPanel.Returns theSearchPanel
instance contained in this LeftPanel.void
initPreferPanelPreferTable
(List<StopModel> stops, List<RouteDirection> routes) Initializes the prefer panel's table with the provided stops and routes.void
initPreferTable
(List<StopModel> favoriteStops, List<RouteDirection> favoriteRoutes) Initializes the prefer panel's table with the provided favorite stops and routes.void
renderSearchPanel
(List<StopModel> stops, List<RouteDirection> routes) Updates the search panel with the provided list of stops and routes.void
Sets the button panel general behaviour.void
Sets the button panel preference behaviour.void
setLogoutBehaviour
(LogoutBehaviour behaviour) Sets the logout behaviour for the settings panel.void
setPreferPanelListener
(SearchBarListener listener) Sets the listener for search events in the prefer panel.void
setRealtimeStatus
(RealtimeStatus status) void
setRealtimeSwitchListener
(SwitchBarListener listener) Sets the listener for the realtime switch in the settings panel.void
setSearchPanelListener
(SearchBarListener listener) Sets the listener for search events in the search panel.void
Sets the click behaviour for table rows in both the search and prefer panels.void
setupStatisticsPanel
(RealtimeGtfsService realtimeService, Map<RealtimeMetricType, List<RealtimeMetricModel>> metricsMap, MetricCollector collector) Sets up the statistics panel with the provided realtime service and database service.void
updateFavRouteTable
(List<RouteDirection> route, UpdateMode updateMode) Updates the favorite route table in the prefer panel with the specified route and update mode.void
updateFavStopTable
(StopModel stop, UpdateMode updateMode) Updates the favorite stop table in the prefer panel with the specified stop and update mode.void
updateModularPanel
(JPanel panel, boolean isVisible) Updates the modular panel to display the specified panel.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
LeftPanel
public LeftPanel()Creates aLeftPanel
with a layout that includes a button panel and a modular panel for displaying different sub-panels.- See Also:
-
-
Method Details
-
updateModularPanel
Updates the modular panel to display the specified panel. If the panel is set to be visible, it will be added to the modular panel. Otherwise, it will be hidden.- Parameters:
panel
- The panel to display in the modular area.isVisible
- Whether the panel should be visible or not.
-
getSearchPanel
Returns theSearchPanel
instance contained in this LeftPanel.- Returns:
- The SearchPanel instance.
-
getButtonPanel
Returns thePreferPanel
instance contained in this LeftPanel.- Returns:
- The PreferPanel instance.
-
setRealtimeStatus
-
setTableRowClickBehaviour
Sets the click behaviour for table rows in both the search and prefer panels.- Parameters:
listener
- The listener to handle table row clicks.
-
setButtonPanelGeneralBehaviour
Sets the button panel general behaviour.- Parameters:
listener
- The listener to handle button panel actions.
-
setButtonPanelPreferBehaviour
Sets the button panel preference behaviour.- Parameters:
listener
- The listener to handle button panel preference actions.
-
setLogoutBehaviour
Sets the logout behaviour for the settings panel.- Parameters:
behaviour
- The logout behaviour to set.
-
setRealtimeSwitchListener
Sets the listener for the realtime switch in the settings panel.- Parameters:
listener
- The listener to handle realtime switch events.
-
updateFavStopTable
Updates the favorite stop table in the prefer panel with the specified stop and update mode.- Parameters:
stop
- The stop to update in the table.updateMode
- The mode of update (ADD or REMOVE).
-
updateFavRouteTable
Updates the favorite route table in the prefer panel with the specified route and update mode.- Parameters:
route
- The route to update in the table.updateMode
- The mode of update (ADD or REMOVE).
-
initPreferPanelPreferTable
Initializes the prefer panel's table with the provided stops and routes.- Parameters:
stops
- The list of stops to initialize in the prefer table.routes
- The list of route directions to initialize in the prefer table.
-
setSearchPanelListener
Sets the listener for search events in the search panel.- Parameters:
listener
- The listener to handle search events.
-
setPreferPanelListener
Sets the listener for search events in the prefer panel.- Parameters:
listener
- The listener to handle search events.
-
setupStatisticsPanel
public void setupStatisticsPanel(RealtimeGtfsService realtimeService, Map<RealtimeMetricType, List<RealtimeMetricModel>> metricsMap, MetricCollector collector) Sets up the statistics panel with the provided realtime service and database service.- Parameters:
realtimeService
- The realtime GTFS service to use for statistics.metricsMap
- A map of realtime metric types to their corresponding metric models.collector
- The metric collector to gather and process metrics.
-
clearPreferPanelTable
public void clearPreferPanelTable()Clears the tables in the prefer panel. -
initPreferTable
Initializes the prefer panel's table with the provided favorite stops and routes.- Parameters:
favoriteStops
- The list of favorite stops to initialize in the prefer table.favoriteRoutes
- The list of favorite route directions to initialize in the prefer table.
-
renderSearchPanel
Updates the search panel with the provided list of stops and routes.- Parameters:
stops
- The list of stops to display in the search panel.routes
- The list of route directions to display in the search panel.
-