org.jvnet.lafwidget.tabbed
Class TabPreviewPainter

java.lang.Object
  extended by org.jvnet.lafwidget.tabbed.TabPreviewPainter
Direct Known Subclasses:
DefaultTabPreviewPainter

public abstract class TabPreviewPainter
extends java.lang.Object

Base class for tab preview painters.

Author:
Kirill Grouchnikov

Constructor Summary
TabPreviewPainter()
           
 
Method Summary
 javax.swing.JFrame getModalOwner(javax.swing.JTabbedPane tabPane)
          Returns the owner of the overview dialog of the specified tabbed pane.
 LafConstants.TabOverviewKind getOverviewKind(javax.swing.JTabbedPane tabPane)
          Returns the tab overview kind for the specified tabbed pane.
 java.awt.Rectangle getPreviewDialogScreenBounds(javax.swing.JTabbedPane tabPane)
          Returns the screen bounds of the tab preview dialog window.
 java.awt.Dimension getPreviewWindowDimension(javax.swing.JTabbedPane tabPane, int tabIndex)
          Returns the dimension for the tab preview window.
 int getPreviewWindowExtraDelay(javax.swing.JTabbedPane tabPane, int tabIndex)
          Returns extra delay (in milliseconds) for showing the tab preview window.
 int getUpdateCycle(javax.swing.JTabbedPane tabPane)
          If the result of toUpdatePeriodically(JTabbedPane) is true, returns the update cycle length in milliseconds.
 boolean hasOverviewDialog(javax.swing.JTabbedPane tabPane)
          Checks whether the specified tabbed pane has an overview dialog.
 boolean hasPreview(javax.swing.JTabbedPane tabPane, int tabIndex)
          Checks whether the specified tab component is previewable.
 boolean hasPreviewWindow(javax.swing.JTabbedPane tabPane, int tabIndex)
          Checks whether the specified tabbed pane has a preview window for the specified tab.
 boolean isSensitiveToEvents(javax.swing.JTabbedPane tabPane, int tabIndex)
          Checks whether the specified tab component is sensitive to events.
 void previewTab(javax.swing.JTabbedPane tabPane, int tabIndex, java.awt.Graphics g, int x, int y, int w, int h)
          Draws a tab preview on the specified graphics.
 boolean toUpdatePeriodically(javax.swing.JTabbedPane tabPane)
          Returns indication whether the thumbnail preview should be updated periodically.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TabPreviewPainter

public TabPreviewPainter()
Method Detail

previewTab

public void previewTab(javax.swing.JTabbedPane tabPane,
                       int tabIndex,
                       java.awt.Graphics g,
                       int x,
                       int y,
                       int w,
                       int h)
Draws a tab preview on the specified graphics.

Parameters:
tabPane - Tabbed pane.
tabIndex - tabIndex Tab index for the preview paint.
g - Graphics context.
x - X coordinate of the preview area.
y - Y coordinate of the preview area.
w - Width of the preview area.
h - Height of the preview area.

hasPreview

public boolean hasPreview(javax.swing.JTabbedPane tabPane,
                          int tabIndex)
Checks whether the specified tab component is previewable.

Parameters:
tabPane - Tabbed pane.
tabIndex - Tab index for the preview paint.
Returns:
true if the specified tab component is previewable, false otherwise.

isSensitiveToEvents

public boolean isSensitiveToEvents(javax.swing.JTabbedPane tabPane,
                                   int tabIndex)
Checks whether the specified tab component is sensitive to events. Overriding implementation may decide that disabled tabs do not respond to mouse and keyboard events, thus not allowing selecting the corresponding tab.

Parameters:
tabPane - Tabbed pane.
tabIndex - Tab index.
Returns:
true if the specified tab component is sensitive to events, false otherwise.

getPreviewDialogScreenBounds

public java.awt.Rectangle getPreviewDialogScreenBounds(javax.swing.JTabbedPane tabPane)
Returns the screen bounds of the tab preview dialog window.

Parameters:
tabPane - Tabbed pane.
Returns:
Screen bounds of the preview dialog window of the specified tabbed pane.

getModalOwner

public javax.swing.JFrame getModalOwner(javax.swing.JTabbedPane tabPane)
Returns the owner of the overview dialog of the specified tabbed pane. If this function retuns a non-null value, the overview dialog will be modal for the corresponding frame.

Parameters:
tabPane - Tabbed pane.
Returns:
If not null, the overview dialog for the specified tabbed pane will be modal for the corresponding frame.

hasOverviewDialog

public boolean hasOverviewDialog(javax.swing.JTabbedPane tabPane)
Checks whether the specified tabbed pane has an overview dialog.

Parameters:
tabPane - Tabbed pane.
Returns:
true if the specified tabbed pane has an overview dialog, false otherwise.

hasPreviewWindow

public boolean hasPreviewWindow(javax.swing.JTabbedPane tabPane,
                                int tabIndex)
Checks whether the specified tabbed pane has a preview window for the specified tab.

Parameters:
tabPane - Tabbed pane.
tabIndex - Tab index.
Returns:
true if the specified tabbed pane has a preview window for the specified tab, false otherwise.

getPreviewWindowDimension

public java.awt.Dimension getPreviewWindowDimension(javax.swing.JTabbedPane tabPane,
                                                    int tabIndex)
Returns the dimension for the tab preview window.

Parameters:
tabPane - Tabbed pane.
tabIndex - Tab index.
Returns:
Dimension of the tab preview window for the specified tab in the specified tabbed pane.

getPreviewWindowExtraDelay

public int getPreviewWindowExtraDelay(javax.swing.JTabbedPane tabPane,
                                      int tabIndex)
Returns extra delay (in milliseconds) for showing the tab preview window. The base delay is 2000 milliseconds (2 seconds). This function must return a non-negative value.

Parameters:
tabPane - Tabbed pane.
tabIndex - Tab index.
Returns:
Non-negative extra delay (in milliseconds) for showing the tab preview window.

toUpdatePeriodically

public boolean toUpdatePeriodically(javax.swing.JTabbedPane tabPane)
Returns indication whether the thumbnail preview should be updated periodically. If the return value is true, then the implementation of getUpdateCycle(JTabbedPane) returns the refresh cycle length in milliseconds.

Parameters:
tabPane - Tabbed pane.
Returns:
true if the thumbnail preview of the specified tabbed pane should be updated periodically, false otherwise.

getUpdateCycle

public int getUpdateCycle(javax.swing.JTabbedPane tabPane)
If the result of toUpdatePeriodically(JTabbedPane) is true, returns the update cycle length in milliseconds.

Parameters:
tabPane - Tabbed pane.
Returns:
Update cycle length in milliseconds for the thumbnail preview of the specified tabbed pane.

getOverviewKind

public LafConstants.TabOverviewKind getOverviewKind(javax.swing.JTabbedPane tabPane)
Returns the tab overview kind for the specified tabbed pane. Relevant if hasOverviewDialog(JTabbedPane) returns true for the same tabbed pane. If hasOverviewDialog(JTabbedPane) returns true, the result should be not null.

Parameters:
tabPane - Tabbed pane.
Returns:
Tab overview kind for the specified tabbed pane.
Since:
version 3.0