com.dlsc.flexgantt.swing.print

## Class PreviewDialog

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Dialog
        - - javax.swing.JDialog
          - - com.dlsc.flexgantt.swing.print.PreviewDialog

- All Implemented Interfaces:
    IDatelineModelListener, ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

      public class PreviewDialog
      extends JDialog
      implements IDatelineModelListener, 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
  Version:
    $Revision: 1.7 $
  Author:
    Dirk Lemmermann
  See Also:
    `AbstractGanttChart.print(boolean)`, Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JDialog

      `JDialog.AccessibleJDialog`

    - ### Nested classes/interfaces inherited from class java.awt.Dialog

      `Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType`

    - ### Nested classes/interfaces inherited from class java.awt.Window

      `Window.AccessibleAWTWindow, Window.Type`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  - ### Field Summary

    - ### Fields inherited from class javax.swing.JDialog

      `accessibleContext, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Dialog

      `DEFAULT_MODALITY_TYPE`

    - ### 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

    Constructors
    Constructor and Description
    `PreviewDialog(Dialog owner, IPrintManager printManager)` Constructs a new dialog.
    `PreviewDialog(Frame owner, IPrintManager printManager)` Constructs a new dialog.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `center()` Utility method to center the dialog on the screen.
    `protected Border` | `createTitledBorder(String title)` A utility method to create a titled border.
    `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.
    `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(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, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

    - ### Methods inherited from class java.awt.Dialog

      `addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack`

    - ### Methods inherited from class java.awt.Window

      `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PreviewDialog

          public PreviewDialog(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:
        `HeadlessException` - if UI can not be created
      Since:
        1.0

    - #### PreviewDialog

          public PreviewDialog(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:
        `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 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(PropertyChangeEvent evt)

      Specified by:
        `propertyChange` in interface `PropertyChangeListener`

    - #### createTitledBorder

          protected Border createTitledBorder(String title)

      A utility method to create a titled border.
      Parameters:
        `title` - the title that will be displayed inside the border
      Returns:
        a titled border
      Since:
        2.0

Copyright © 2006–2020 Dirk Lemmermann Software & Consulting. All rights reserved.