Eclipse Platform Release 3.7

## org.eclipse.swt.printing
Class PrintDialog

    java.lang.Object
      org.eclipse.swt.widgets.Dialog
          org.eclipse.swt.printing.PrintDialog

    public class PrintDialog

extends Dialog

Instances of this class allow the user to select a printer and various print-related parameters prior to starting a print job.

IMPORTANT: This class is not intended to be subclassed.

See Also:
  Printing snippets, SWT Example: ControlExample, Dialog tab, Sample code and further information
Restriction:
  This class is not intended to be subclassed by clients.

Constructor Summary
`PrintDialog(Shell parent)` Constructs a new instance of this class given only its parent.
`PrintDialog(Shell parent, int style)` Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

Method Summary
`protected void` `checkSubclass()` Checks that this class can be subclassed.
`int` `getEndPage()` Returns the end page setting that the user selected before pressing OK in the dialog.
`PrinterData` `getPrinterData()` Returns the printer data that will be used when the dialog is opened.
`boolean` `getPrintToFile()` Returns the 'Print to file' setting that the user selected before pressing OK in the dialog.
`int` `getScope()` Returns the print job scope that the user selected before pressing OK in the dialog.
`int` `getStartPage()` Returns the start page setting that the user selected before pressing OK in the dialog.
`PrinterData` `open()` Makes the receiver visible and brings it to the front of the display.
`void` `setEndPage(int endPage)` Sets the end page that the user will see when the dialog is opened.
`void` `setPrinterData(PrinterData data)` Sets the printer data that will be used when the dialog is opened.
`void` `setPrintToFile(boolean printToFile)` Sets the 'Print to file' setting that the user will see when the dialog is opened.
`void` `setScope(int scope)` Sets the scope of the print job.
`void` `setStartPage(int startPage)` Sets the start page that the user will see when the dialog is opened.

Methods inherited from class org.eclipse.swt.widgets.Dialog
`getParent, getStyle, getText, setText`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PrintDialog

    public PrintDialog(Shell parent)

  Constructs a new instance of this class given only its parent.

  Parameters:
    `parent` - a composite control which will be the parent of the new instance (cannot be null)
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the parent is null
    `SWTException` -
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
    - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
  See Also:
    `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

### PrintDialog

    public PrintDialog(Shell parent,
                       int style)

  Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

  The style value is either one of the style constants defined in class `SWT` which is applicable to instances of this class, or must be built by bitwise OR'ing together (that is, using the `int` "|" operator) two or more of those `SWT` style constants. The class description lists the style constants that are applicable to the class. Style bits are also inherited from superclasses.

  Parameters:
    `parent` - a composite control which will be the parent of the new instance (cannot be null)
    `style` - the style of control to construct
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the parent is null
    `SWTException` -
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent
    - ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass
  See Also:
    `SWT`, `Widget.checkSubclass()`, `Widget.getStyle()`

Method Detail

### setPrinterData

    public void setPrinterData(PrinterData data)

  Sets the printer data that will be used when the dialog is opened.

  Setting the printer data to null is equivalent to resetting all data fields to their default values.

  Parameters:
    `data` - the data that will be used when the dialog is opened or null to use default data
  Since:
    3.4

### getPrinterData

    public PrinterData getPrinterData()

  Returns the printer data that will be used when the dialog is opened.

  Returns:
    the data that will be used when the dialog is opened
  Since:
    3.4

### getScope

    public int getScope()

  Returns the print job scope that the user selected before pressing OK in the dialog. This will be one of the following values:
  `PrinterData.ALL_PAGES`
    Print all pages in the current document
  `PrinterData.PAGE_RANGE`
    Print the range of pages specified by startPage and endPage
  `PrinterData.SELECTION`
    Print the current selection

  Returns:
    the scope setting that the user selected

### setScope

    public void setScope(int scope)

  Sets the scope of the print job. The user will see this setting when the dialog is opened. This can have one of the following values:
  `PrinterData.ALL_PAGES`
    Print all pages in the current document
  `PrinterData.PAGE_RANGE`
    Print the range of pages specified by startPage and endPage
  `PrinterData.SELECTION`
    Print the current selection

  Parameters:
    `scope` - the scope setting when the dialog is opened

### getStartPage

    public int getStartPage()

  Returns the start page setting that the user selected before pressing OK in the dialog.

  This value can be from 1 to the maximum number of pages for the platform. Note that it is only valid if the scope is `PrinterData.PAGE_RANGE`.

  Returns:
    the start page setting that the user selected

### setStartPage

    public void setStartPage(int startPage)

  Sets the start page that the user will see when the dialog is opened.

  This value can be from 1 to the maximum number of pages for the platform. Note that it is only valid if the scope is `PrinterData.PAGE_RANGE`.

  Parameters:
    `startPage` - the startPage setting when the dialog is opened

### getEndPage

    public int getEndPage()

  Returns the end page setting that the user selected before pressing OK in the dialog.

  This value can be from 1 to the maximum number of pages for the platform. Note that it is only valid if the scope is `PrinterData.PAGE_RANGE`.

  Returns:
    the end page setting that the user selected

### setEndPage

    public void setEndPage(int endPage)

  Sets the end page that the user will see when the dialog is opened.

  This value can be from 1 to the maximum number of pages for the platform. Note that it is only valid if the scope is `PrinterData.PAGE_RANGE`.

  Parameters:
    `endPage` - the end page setting when the dialog is opened

### getPrintToFile

    public boolean getPrintToFile()

  Returns the 'Print to file' setting that the user selected before pressing OK in the dialog.

  Returns:
    the 'Print to file' setting that the user selected

### setPrintToFile

    public void setPrintToFile(boolean printToFile)

  Sets the 'Print to file' setting that the user will see when the dialog is opened.

  Parameters:
    `printToFile` - the 'Print to file' setting when the dialog is opened

### checkSubclass

    protected void checkSubclass()

  Description copied from class: `Dialog`
  Checks that this class can be subclassed.

  IMPORTANT: See the comment in `Widget.checkSubclass()`.

  Overrides:
    `checkSubclass` in class `Dialog`
  See Also:
    `Widget.checkSubclass()`

### open

    public PrinterData open()

  Makes the receiver visible and brings it to the front of the display.

  Returns:
    a printer data object describing the desired print job parameters, or null if the dialog was canceled, no printers were found, or an error occurred
  Throws:
    `SWTException` -
    - ERROR_WIDGET_DISPOSED - if the receiver has been disposed
    - ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.