Module tvbrowser
Package util.ui

Class FilterableProgramListPanel

    • 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
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int FILTER_START_ALL_TYPE
      Program filter combo box starts with Show all filter
      static int FILTER_START_CURRENT_TYPE
      Program filter combo box starts with current filter
      static int FILTER_START_DEFAULT_TYPE
      Program filter combo box starts with default filter
      static int TYPE_NAME_AND_PROGRAM_FILTER
      Type for filter for program title and program filter filtering
      static int TYPE_NAME_ONLY_FILTER
      Type for program title filtering only
      static 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
      • 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
    • 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)
      Sets the filter to the given filter (only if type is 0 or 1 )
      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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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.
      • 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).
      • selectFilter

        public void selectFilter​(ProgramFilter filter)
        Sets the filter to the given filter (only if type is 0 or 1 )
        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.