- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- util.ui.FilterableProgramListPanel
-
- All Implemented Interfaces:
ChannelFilterChangeListener
,FilterChangeListenerV2
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,PersonaListener
public class FilterableProgramListPanel extends javax.swing.JPanel implements FilterChangeListenerV2, PersonaListener, ChannelFilterChangeListener
A JPanel with a program list with filter selection.- Since:
- 3.3.4
- Author:
- René Mach
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static int
FILTER_START_ALL_TYPE
Program filter combo box starts with Show all filterstatic int
FILTER_START_CURRENT_TYPE
Program filter combo box starts with current filterstatic int
FILTER_START_DEFAULT_TYPE
Program filter combo box starts with default filterstatic int
TYPE_NAME_AND_PROGRAM_FILTER
Type for filter for program title and program filter filteringstatic int
TYPE_NAME_ONLY_FILTER
Type for program title filtering onlystatic int
TYPE_PROGRAM_ONLY_FILTER
Type for program filter filtering only-
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
-
-
Constructor Summary
Constructors Constructor Description FilterableProgramListPanel(boolean showNameFilter, Program[] programs, boolean showNumberOfPrograms, boolean showDateSeparators, ProgramPanelSettings progPanelSettings, ProgramFilter startFilter)
Create an new FilterableProgramListPanel.FilterableProgramListPanel(int type, Program[] programs, boolean showNumberOfPrograms, boolean showDateSeparators, ProgramPanelSettings progPanelSettings, int startType)
Create an new FilterableProgramListPanel.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
channelFilterAdded(ChannelFilter filter)
Called when a ChannelFilter is added.void
channelFilterRemoved(ChannelFilter filter)
Called when a ChannelFilter was removed.void
clearPrograms()
Remove all programs from the program list.void
filterAdded(ProgramFilter filter)
Called when a filter is added.void
filterDefaultChanged(ProgramFilter filter)
Called when the default filter was changed.void
filterRemoved(ProgramFilter filter)
Called when a filter was removed.void
filterTouched(ProgramFilter filter)
Called when user edited the filter.ProgramList
getProgramList()
Gets the program list of this panel.java.lang.String
getSelectedProgramFilterName()
void
scrollToFirstNotExpiredIndex(boolean check)
void
scrollToIndex(int index)
Scrolls to the given index.void
scrollToIndexWithoutDateSeparators(int index)
Scrolls to the given index.void
selectFilter(ProgramFilter filter)
void
setPrograms(Program[] programs)
Sets the programs to show in the list (All programs, filtering is done in this panel of those programs.)void
setShowDateSeparators(boolean showDateSeparators)
Sets if date separators should be shown in the list.void
updatePersona()
Called when Persona was changed-
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
-
-
-
-
Field Detail
-
FILTER_START_ALL_TYPE
public static final int FILTER_START_ALL_TYPE
Program filter combo box starts with Show all filter- See Also:
- Constant Field Values
-
FILTER_START_DEFAULT_TYPE
public static final int FILTER_START_DEFAULT_TYPE
Program filter combo box starts with default filter- See Also:
- Constant Field Values
-
FILTER_START_CURRENT_TYPE
public static final int FILTER_START_CURRENT_TYPE
Program filter combo box starts with current filter- See Also:
- Constant Field Values
-
TYPE_NAME_AND_PROGRAM_FILTER
public static final int TYPE_NAME_AND_PROGRAM_FILTER
Type for filter for program title and program filter filtering- See Also:
- Constant Field Values
-
TYPE_PROGRAM_ONLY_FILTER
public static final int TYPE_PROGRAM_ONLY_FILTER
Type for program filter filtering only- See Also:
- Constant Field Values
-
TYPE_NAME_ONLY_FILTER
public static final int TYPE_NAME_ONLY_FILTER
Type for program title filtering only- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FilterableProgramListPanel
public FilterableProgramListPanel(boolean showNameFilter, Program[] programs, boolean showNumberOfPrograms, boolean showDateSeparators, ProgramPanelSettings progPanelSettings, ProgramFilter startFilter)
Create an new FilterableProgramListPanel.- Parameters:
showNameFilter
- Also show name filter selection.programs
- The programs to show in the list. (All programs, filtering is done in this panel of those programs.)showNumberOfPrograms
- Show a panel with the number of listed programs.showDateSeparators
- Show date separators in the program list.progPanelSettings
- The settings for the program panels in the program list.startFilter
- The start filter this panels program filter combo box.
-
FilterableProgramListPanel
public FilterableProgramListPanel(int type, Program[] programs, boolean showNumberOfPrograms, boolean showDateSeparators, ProgramPanelSettings progPanelSettings, int startType)
Create an new FilterableProgramListPanel.- Parameters:
type
- The type of this panel.programs
- The programs to show in the list. (All programs, filtering is done in this panel of those programs.)showNumberOfPrograms
- Show a panel with the number of listed programs.showDateSeparators
- Show date separators in the program list.progPanelSettings
- The settings for the program panels in the program list.startType
- The start type of this panels program filter combo box.
-
-
Method Detail
-
setShowDateSeparators
public void setShowDateSeparators(boolean showDateSeparators)
Sets if date separators should be shown in the list.- Parameters:
showDateSeparators
-true
to show the date separators in the list,false
otherwise.
-
setPrograms
public void setPrograms(Program[] programs)
Sets the programs to show in the list (All programs, filtering is done in this panel of those programs.)- Parameters:
programs
- The programs to show in the program list.
-
getProgramList
public ProgramList getProgramList()
Gets the program list of this panel. (Only contains filtered programs.)- Returns:
- The program list of this panel.
-
filterAdded
public void filterAdded(ProgramFilter filter)
Description copied from interface:FilterChangeListenerV2
Called when a filter is added.- Specified by:
filterAdded
in interfaceFilterChangeListenerV2
- Parameters:
filter
- The filter that was added.
-
filterRemoved
public void filterRemoved(ProgramFilter filter)
Description copied from interface:FilterChangeListenerV2
Called when a filter was removed.- Specified by:
filterRemoved
in interfaceFilterChangeListenerV2
- Parameters:
filter
- The filter that was removed.
-
channelFilterAdded
public void channelFilterAdded(ChannelFilter filter)
Description copied from interface:ChannelFilterChangeListener
Called when a ChannelFilter is added.- Specified by:
channelFilterAdded
in interfaceChannelFilterChangeListener
- Parameters:
filter
- The filter that was added.
-
channelFilterRemoved
public void channelFilterRemoved(ChannelFilter filter)
Description copied from interface:ChannelFilterChangeListener
Called when a ChannelFilter was removed.- Specified by:
channelFilterRemoved
in interfaceChannelFilterChangeListener
- Parameters:
filter
- The filter that was removed.
-
filterTouched
public void filterTouched(ProgramFilter filter)
Description copied from interface:FilterChangeListenerV2
Called when user edited the filter.- Specified by:
filterTouched
in interfaceFilterChangeListenerV2
- Parameters:
filter
- The filter that was touched.
-
filterDefaultChanged
public void filterDefaultChanged(ProgramFilter filter)
Description copied from interface:FilterChangeListenerV2
Called when the default filter was changed.- Specified by:
filterDefaultChanged
in interfaceFilterChangeListenerV2
- Parameters:
filter
- The new default filter, or the all filter if no default filter exists.
-
clearPrograms
public void clearPrograms()
Remove all programs from the program list.
-
scrollToFirstNotExpiredIndex
public void scrollToFirstNotExpiredIndex(boolean check)
- Parameters:
check
- If scrolling should only be done if the program in not visible.
-
scrollToIndex
public void scrollToIndex(int index)
Scrolls to the given index.- Parameters:
index
- The index to scroll to.
-
scrollToIndexWithoutDateSeparators
public void scrollToIndexWithoutDateSeparators(int index)
Scrolls to the given index. ATTENTION: Date separators are not counted, so don't include them in the index.- Parameters:
index
- The index to scroll to (date separators excluded).
-
updatePersona
public void updatePersona()
Description copied from interface:PersonaListener
Called when Persona was changed- Specified by:
updatePersona
in interfacePersonaListener
-
selectFilter
public void selectFilter(ProgramFilter filter)
- Parameters:
filter
- The filter to select in the program filter box
-
getSelectedProgramFilterName
public java.lang.String getSelectedProgramFilterName()
- Returns:
- The filter name of the selected program filter.
-
-