com.dlsc.flexgantt.swing.print
Class PreviewDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by com.dlsc.flexgantt.swing.print.PreviewDialog
All Implemented Interfaces:
IDatelineModelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class PreviewDialog
extends javax.swing.JDialog
implements IDatelineModelListener, java.beans.PropertyChangeListener

A dialog that can be used to preview the print out of the Gantt chart. The dialog is capable of displaying several pages at the same time and also supports an auto-fit feature that ensures that all pages are always visible (automatic zoom). This feature can be turned off so that the user can manually zoom in and out.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
AbstractGanttChart.print(boolean), Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PreviewDialog(java.awt.Dialog owner, IPrintManager printManager)
          Constructs a new dialog.
PreviewDialog(java.awt.Frame owner, IPrintManager printManager)
          Constructs a new dialog.
 
Method Summary
 void center()
          Utility method to center the dialog on the screen.
 void datelineModelChanged(DatelineModelEvent evt)
          The listener's callback method that gets invoked when the model's time span or time zone changes.
 void datelineModelWillChange(DatelineModelEvent evt)
          The listener's callback method that gets invoked when the model's time span or time zone will change.
 int getGap()
          Returns the number of pixels that will be placed between paper panels.
 int getHorizontalPages()
          Returns the total number of pages to use horizontally for printing.
 PrintGanttChart getPrintGanttChart()
          Returns the preview Gantt chart which is (in part) a clone of the actual Gantt chart.
 IPrintManager getPrintManager()
           
 double getScale()
          Returns the current scale factor.
 javax.swing.JScrollPane getScrollPane()
          Returns the scrollpane that contains the page panels.
 int getVerticalPages()
          Returns the total number of pages to use vertically for printing.
 boolean isAutoFitPages()
          Determines if the dialog automatically fits the paper panels to the currently available space inside the scrollpane.
 boolean isCancelled()
          Determines if the user cancelled the dialog.
 boolean isFillPage()
          Determines if the dialog will fill the paper panels with the print content, hence reducing unused white space on the printed pages.
 boolean isShowMargins()
          Determines if the print margins will be rendered on the paper panels or not.
 void propertyChange(java.beans.PropertyChangeEvent evt)
           
 void setAutoFitPages(boolean fit)
          Sets a flag that will let the dialog know that it is supposed to zoom in or out in such a way that the paper panels will be completely visible inside the viewport of the scrollpane.
 void setFillPage(boolean fill)
          Sets a flag, which will cause the dialog to fill the paper panels with the print content, hence reducing unused white space on the printed pages.
 void setGap(int gap)
          Sets the number of pixels that will be placed between paper panels.
 void setHorizontalPages(int pages)
          Sets the total number of pages to use horizontally for printing.
 void setScale(double s)
          Sets the current scale factor.
 void setShowMargins(boolean show)
          Sets a flag letting the dialog know that the user wants to see the print margins on the paper panels.
 void setVerticalPages(int pages)
          Sets the total number of pages to use vertically for printing.
 void zoomFit()
          Scales the paper panels in such a way that all panels will be visible at the current size of the dialog.
 void zoomIn()
          Enlarges the size the paper panels to show more detail of the printed Gantt chart.
 void zoomOut()
          Reduces the size of the paper panels to show less detail of the printed Gantt chart.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PreviewDialog

public PreviewDialog(java.awt.Frame owner,
                     IPrintManager printManager)
Constructs a new dialog.

Parameters:
owner - the frame that owns the dialog
printManager - the print manager to which the dialog belongs
Throws:
java.awt.HeadlessException - if UI can not be created
Since:
1.0

PreviewDialog

public PreviewDialog(java.awt.Dialog owner,
                     IPrintManager printManager)
Constructs a new dialog.

Parameters:
owner - the dialog that owns the dialog
printManager - the print manager to which the dialog belongs
Throws:
java.awt.HeadlessException - if UI can not be created
Since:
1.0
Method Detail

getPrintGanttChart

public PrintGanttChart getPrintGanttChart()
Returns the preview Gantt chart which is (in part) a clone of the actual Gantt chart.

Returns:
the printable Gantt chart clone of the actual Gantt chart that gets printed
Since:
1.0

getScrollPane

public javax.swing.JScrollPane getScrollPane()
Returns the scrollpane that contains the page panels. Scrolling is only necessary if the auto-fit feature is disabled.

Returns:
the scrollpane that contains the page panels
Since:
1.0
See Also:
setAutoFitPages(boolean)

center

public void center()
Utility method to center the dialog on the screen. The method uses information provided by the Toolkit to calculate the center location.

Since:
1.0
See Also:
Toolkit.getScreenSize()

zoomIn

public void zoomIn()
Enlarges the size the paper panels to show more detail of the printed Gantt chart.

Since:
1.0

zoomOut

public void zoomOut()
Reduces the size of the paper panels to show less detail of the printed Gantt chart.

Since:
1.0

zoomFit

public void zoomFit()
Scales the paper panels in such a way that all panels will be visible at the current size of the dialog.

Since:
1.0

isShowMargins

public boolean isShowMargins()
Determines if the print margins will be rendered on the paper panels or not.

Returns:
TRUE if the print margins will be shown
Since:
1.0

setShowMargins

public void setShowMargins(boolean show)
Sets a flag letting the dialog know that the user wants to see the print margins on the paper panels.

Parameters:
show - if TRUE the print margins will be shown
Since:
1.0

isCancelled

public boolean isCancelled()
Determines if the user cancelled the dialog.

Returns:
TRUE if the user cancelled the dialog
Since:
1.0

getHorizontalPages

public int getHorizontalPages()
Returns the total number of pages to use horizontally for printing.

Returns:
the number of horizontal pages to use for printing
Since:
1.0

setHorizontalPages

public void setHorizontalPages(int pages)
Sets the total number of pages to use horizontally for printing.

Parameters:
pages - the total number of horizontal pages to use for printing
Since:
1.0

getVerticalPages

public int getVerticalPages()
Returns the total number of pages to use vertically for printing.

Returns:
the number of vertical pages to use for printing
Since:
1.0

setVerticalPages

public void setVerticalPages(int pages)
Sets the total number of pages to use vertically for printing.

Parameters:
pages - the total number of vertical pages to use for printing
Since:
1.0

getScale

public double getScale()
Returns the current scale factor.

Returns:
the scale factor (used by zoom operations)
Since:
1.0

setScale

public void setScale(double s)
Sets the current scale factor.

Parameters:
s - the new scale factor to usse
Since:
1.0

getGap

public int getGap()
Returns the number of pixels that will be placed between paper panels.

Returns:
the gap (in pixels) between paper panels
Since:
1.0

setGap

public void setGap(int gap)
Sets the number of pixels that will be placed between paper panels.

Parameters:
gap - the gap (in pixels) between paper panels
Since:
1.0

isFillPage

public boolean isFillPage()
Determines if the dialog will fill the paper panels with the print content, hence reducing unused white space on the printed pages.

Returns:
TRUE if the print operation will fill the entire height and width of the pages
Since:
1.0

setFillPage

public void setFillPage(boolean fill)
Sets a flag, which will cause the dialog to fill the paper panels with the print content, hence reducing unused white space on the printed pages.

Parameters:
fill - a flag signalling the dialog whether it needs to fill the entire height and width of the printed pages with the print content
Since:
1.0

isAutoFitPages

public boolean isAutoFitPages()
Determines if the dialog automatically fits the paper panels to the currently available space inside the scrollpane.

Returns:
TRUE if the paper panels will be fit to the scrollpane's viewport
Since:
1.0

setAutoFitPages

public void setAutoFitPages(boolean fit)
Sets a flag that will let the dialog know that it is supposed to zoom in or out in such a way that the paper panels will be completely visible inside the viewport of the scrollpane.

Parameters:
fit - if TRUE the dialog will ensure that all paper panels are always visible
Since:
1.0

getPrintManager

public IPrintManager getPrintManager()
Returns:
the printManager
Since:
1.0

datelineModelWillChange

public void datelineModelWillChange(DatelineModelEvent evt)
Description copied from interface: IDatelineModelListener
The listener's callback method that gets invoked when the model's time span or time zone will change.

Specified by:
datelineModelWillChange in interface IDatelineModelListener
Parameters:
evt - the event that occured on the dateline

datelineModelChanged

public void datelineModelChanged(DatelineModelEvent evt)
Description copied from interface: IDatelineModelListener
The listener's callback method that gets invoked when the model's time span or time zone changes.

Specified by:
datelineModelChanged in interface IDatelineModelListener
Parameters:
evt - the event that occured on the dateline

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener