Module tvbrowser
Package util.ui

Class ProgramList

    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JList

        javax.swing.JList.AccessibleJList, javax.swing.JList.DropLocation
      • 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 java.lang.String DATE_SEPARATOR
      Key for separator list entry
      • Fields inherited from class javax.swing.JList

        HORIZONTAL_WRAP, VERTICAL, VERTICAL_WRAP
      • 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 Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void addDateSeparators()
      Adds date separators to this list.
      void addMouseAndKeyListeners​(ContextMenuIf caller)
      Add a Mouse-Listener for the Popup-Box The caller ContextMenuIfs menus are not shown, if you want to have all available menus just use null for caller.
      void addMouseListeners​(ContextMenuIf caller)
      Deprecated.
      void addNotify()
      Add a ChangeListener to all Programs for repainting
      void contentsChanged​(javax.swing.event.ListDataEvent e)  
      void deSelectItem()  
      int getNewIndexForOldIndex​(int index)
      Gets the new index of a row after adding of date separators.
      static java.lang.String getNextActionTooltip()  
      static java.lang.String getPreviousActionTooltip()  
      Program getProgramAt​(int x, int y)  
      Program getProgramForKeyEvent​(java.awt.event.KeyEvent e)
      Gets the program to use for a key action.
      Program getProgramForMouseEvent​(java.awt.event.MouseEvent e)
      Gets the program to use for a mouse action.
      int getScrollableUnitIncrement​(java.awt.Rectangle visibleRect, int orientation, int direction)  
      Program[] getSelectedPrograms()  
      java.lang.String getToolTipText​(java.awt.event.MouseEvent event)  
      void handleMouseDragged​(java.awt.event.MouseEvent evt)  
      void handleMouseExited​(java.awt.event.MouseEvent evt)  
      void handleMouseMoved​(java.awt.event.MouseEvent evt)  
      void handleMousePressed​(java.awt.event.MouseEvent evt)  
      void handleMouseReleased​(java.awt.event.MouseEvent evt)  
      void intervalAdded​(javax.swing.event.ListDataEvent e)  
      void intervalRemoved​(javax.swing.event.ListDataEvent e)  
      boolean isAutoScrollingEnabled()  
      boolean isClickAndContextMenuHandlingEnabled()  
      boolean isSelectedItemAt​(int x, int y)  
      void keyEventActionFinished()
      Called when KeyEventAction was finished.
      void mouseEventActionFinished()
      Called when MouseEventAction was finished.
      void pluginActivated​(PluginProxy plugin)  
      void pluginDeactivated​(PluginProxy plugin)  
      void pluginLoaded​(PluginProxy plugin)  
      void pluginUnloaded​(PluginProxy plugin)  
      void removeNotify()
      Remove a ChangeListener to all Programs
      void scrollToFirstOccurrenceOfTimeFromCurrentViewOnwardIfAvailable​(int time)
      Scrolls the list to the first occurrence of the given time from the current view onward (if time is available)
      void scrollToNextDateIfAvailable​(Date date)
      Scrolls the list to given date (if date is available)
      void scrollToNextDayIfAvailable()
      Scrolls the list to next day from the current view position (if next day is available)
      void scrollToPreviousDayIfAvailable()
      Scrolls the list to previous day from the current view position (if previous day is available)
      void scrollToTimeFromCurrentViewIfAvailable​(int time)
      Scrolls the list to the first occurrence of the given time from the current view backward if time is smaller than the current views first time, forward if time is bigger than the current views first time.
      void selectItemAt​(int x, int y)  
      void setModel​(javax.swing.ListModel<java.lang.Object> model)  
      void setSelectedIndex​(int row)  
      void showContextMenu​(Program program)
      Show a context menu on the triggered program.
      void showContextMenu​(java.awt.event.MouseEvent e)
      Show a context menu on the triggered event.
      void stateChanged​(javax.swing.event.ChangeEvent e)  
      • Methods inherited from class javax.swing.JList

        addListSelectionListener, addSelectionInterval, clearSelection, createSelectionModel, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getDropLocation, getDropMode, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectedValuesList, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getUI, getUIClassID, getValueIsAdjusting, getVisibleRowCount, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setDragEnabled, setDropMode, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setPrototypeCellValue, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionInterval, setSelectionMode, setSelectionModel, setUI, setValueIsAdjusting, setVisibleRowCount, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, 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, 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, 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

      • DATE_SEPARATOR

        public static final java.lang.String DATE_SEPARATOR
        Key for separator list entry
        See Also:
        Constant Field Values
    • Constructor Detail

      • ProgramList

        public ProgramList​(java.util.Vector<Program> programArr)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programArr - Array of Programs to show
      • ProgramList

        public ProgramList​(Program[] programArr)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programArr - Array of Programs to show
      • ProgramList

        public ProgramList​(javax.swing.ListModel<java.lang.Object> programs)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programs - Model with Programs to show
      • ProgramList

        public ProgramList​(java.util.Vector<Program> programVector,
                           ProgramPanelSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programVector - Array of Programs to show
        settings - The settings for the program panel.
        Since:
        2.2.2
      • ProgramList

        public ProgramList​(Program[] programArr,
                           ProgramPanelSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programArr - Array of Programs to show
        settings - The settings for the program panel.
        Since:
        2.2.2
      • ProgramList

        public ProgramList​(javax.swing.ListModel<java.lang.Object> programs,
                           ProgramPanelSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programs - Model with Programs to show
        settings - The settings for the program panel.
        Since:
        2.2.2
      • ProgramList

        public ProgramList​(java.util.Vector<Program> programVector,
                           PluginPictureSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programVector - Array of Programs to show
        settings - The plugin picture settings for the program panel.
        Since:
        2.6
      • ProgramList

        public ProgramList​(Program[] programArr,
                           PluginPictureSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programArr - Array of Programs to show
        settings - The plugin picture settings for the program panel.
        Since:
        2.6
      • ProgramList

        public ProgramList​(javax.swing.ListModel<java.lang.Object> programs,
                           PluginPictureSettings settings)
        Creates the JList and adds the default MouseListeners (PopUpBox)
        Parameters:
        programs - Model with Programs to show
        settings - The plugin picture settings for the program panel.
        Since:
        2.6
    • Method Detail

      • addNotify

        public void addNotify()
        Add a ChangeListener to all Programs for repainting
        Overrides:
        addNotify in class javax.swing.JComponent
      • removeNotify

        public void removeNotify()
        Remove a ChangeListener to all Programs
        Overrides:
        removeNotify in class javax.swing.JComponent
      • addMouseListeners

        @Deprecated(since="3.3.1")
        public void addMouseListeners​(ContextMenuIf caller)
        Deprecated.
        Add a Mouse-Listener for the Popup-Box The caller ContextMenuIfs menus are not shown, if you want to have all available menus just use null for caller.
        Parameters:
        caller - The ContextMenuIf that called this.
      • addMouseAndKeyListeners

        public void addMouseAndKeyListeners​(ContextMenuIf caller)
        Add a Mouse-Listener for the Popup-Box The caller ContextMenuIfs menus are not shown, if you want to have all available menus just use null for caller. ATTENTION: This call is only handled once, a second call will not change anything.
        Parameters:
        caller - The ContextMenuIf that called this.
        Since:
        3.3.1
      • stateChanged

        public void stateChanged​(javax.swing.event.ChangeEvent e)
        Specified by:
        stateChanged in interface javax.swing.event.ChangeListener
      • contentsChanged

        public void contentsChanged​(javax.swing.event.ListDataEvent e)
        Specified by:
        contentsChanged in interface javax.swing.event.ListDataListener
      • intervalAdded

        public void intervalAdded​(javax.swing.event.ListDataEvent e)
        Specified by:
        intervalAdded in interface javax.swing.event.ListDataListener
      • intervalRemoved

        public void intervalRemoved​(javax.swing.event.ListDataEvent e)
        Specified by:
        intervalRemoved in interface javax.swing.event.ListDataListener
      • getSelectedPrograms

        public Program[] getSelectedPrograms()
        Returns:
        The selected programs;
        Since:
        2.2
      • getToolTipText

        public java.lang.String getToolTipText​(java.awt.event.MouseEvent event)
        Overrides:
        getToolTipText in class javax.swing.JList<java.lang.Object>
      • addDateSeparators

        public void addDateSeparators()
                               throws TvBrowserException
        Adds date separators to this list. This needs to be called every time the list elements are changed.

        Throws:
        TvBrowserException - Thrown if used ListModel is not DefaultListModel or a child class of it.
        Since:
        3.2.2
      • setModel

        public void setModel​(javax.swing.ListModel<java.lang.Object> model)
        Overrides:
        setModel in class javax.swing.JList<java.lang.Object>
      • scrollToNextDateIfAvailable

        public void scrollToNextDateIfAvailable​(Date date)
        Scrolls the list to given date (if date is available)

        Parameters:
        date - The date to scroll to.
        Since:
        3.3.4
      • scrollToTimeFromCurrentViewIfAvailable

        public void scrollToTimeFromCurrentViewIfAvailable​(int time)
        Scrolls the list to the first occurrence of the given time from the current view backward if time is smaller than the current views first time, forward if time is bigger than the current views first time.

        Parameters:
        time - The time in minutes from midnight to scroll to.
        Since:
        3.3.4
      • scrollToFirstOccurrenceOfTimeFromCurrentViewOnwardIfAvailable

        public void scrollToFirstOccurrenceOfTimeFromCurrentViewOnwardIfAvailable​(int time)
        Scrolls the list to the first occurrence of the given time from the current view onward (if time is available)

        Parameters:
        time - The time in minutes from midnight.
        Since:
        3.3.4
      • scrollToNextDayIfAvailable

        public void scrollToNextDayIfAvailable()
        Scrolls the list to next day from the current view position (if next day is available)

        Since:
        3.2.2
      • scrollToPreviousDayIfAvailable

        public void scrollToPreviousDayIfAvailable()
        Scrolls the list to previous day from the current view position (if previous day is available)

        Since:
        3.2.2
      • getNewIndexForOldIndex

        public int getNewIndexForOldIndex​(int index)
        Gets the new index of a row after adding of date separators.

        Parameters:
        index - The old index of the row.
        Returns:
        The new index or the given index if no separators were added.
        Since:
        3.2.2
      • getPreviousActionTooltip

        public static java.lang.String getPreviousActionTooltip()
        Returns:
        The tool tip text for the previous scroll action,
      • getNextActionTooltip

        public static java.lang.String getNextActionTooltip()
        Returns:
        The tool tip text for the next scroll action,
      • getProgramForMouseEvent

        public Program getProgramForMouseEvent​(java.awt.event.MouseEvent e)
        Description copied from interface: ProgramMouseActionListener
        Gets the program to use for a mouse action.

        Specified by:
        getProgramForMouseEvent in interface ProgramMouseActionListener
        Parameters:
        e - The mouse event that was triggered for a user mouse interaction.
        Returns:
        The program that was affected by the user mouse interaction or null if no program was affected.
      • getProgramForKeyEvent

        public Program getProgramForKeyEvent​(java.awt.event.KeyEvent e)
        Description copied from interface: ProgramKeyActionListener
        Gets the program to use for a key action.

        Specified by:
        getProgramForKeyEvent in interface ProgramKeyActionListener
        Parameters:
        e - The key event that was triggered for a user keyboard interaction.
        Returns:
        The program that was affected by the user keyboard interaction or null if no program was affected.
      • setSelectedIndex

        public void setSelectedIndex​(int row)
        Overrides:
        setSelectedIndex in class javax.swing.JList<java.lang.Object>
      • getScrollableUnitIncrement

        public int getScrollableUnitIncrement​(java.awt.Rectangle visibleRect,
                                              int orientation,
                                              int direction)
        Specified by:
        getScrollableUnitIncrement in interface javax.swing.Scrollable
        Overrides:
        getScrollableUnitIncrement in class javax.swing.JList<java.lang.Object>