Search in sources :

Example 26 with PrinterData

use of org.eclipse.swt.printing.PrinterData in project dbeaver by serge-rider.

the class PlainTextPresentation method printResultSet.

@Override
public void printResultSet() {
    final Shell shell = getControl().getShell();
    StyledTextPrintOptions options = new StyledTextPrintOptions();
    options.printTextFontStyle = true;
    options.printTextForeground = true;
    if (Printer.getPrinterList().length == 0) {
        UIUtils.showMessageBox(shell, "No printers", "Printers not found", SWT.ICON_ERROR);
        return;
    }
    final PrintDialog dialog = new PrintDialog(shell, SWT.PRIMARY_MODAL);
    dialog.setPrinterData(fgPrinterData);
    final PrinterData data = dialog.open();
    if (data != null) {
        final Printer printer = new Printer(data);
        final Runnable styledTextPrinter = text.print(printer, options);
        new // $NON-NLS-1$
        Thread(// $NON-NLS-1$
        "Printing") {

            public void run() {
                styledTextPrinter.run();
                printer.dispose();
            }
        }.start();
        /*
             * FIXME:
			 * 	Should copy the printer data to avoid threading issues,
			 *	but this is currently not possible, see http://bugs.eclipse.org/297957
			 */
        fgPrinterData = data;
        fgPrinterData.startPage = 1;
        fgPrinterData.endPage = 1;
        fgPrinterData.scope = PrinterData.ALL_PAGES;
        fgPrinterData.copyCount = 1;
    }
}
Also used : StyledTextPrintOptions(org.eclipse.swt.custom.StyledTextPrintOptions) Shell(org.eclipse.swt.widgets.Shell) PrintDialog(org.eclipse.swt.printing.PrintDialog) PrinterData(org.eclipse.swt.printing.PrinterData) Printer(org.eclipse.swt.printing.Printer)

Aggregations

PrinterData (org.eclipse.swt.printing.PrinterData)26 Printer (org.eclipse.swt.printing.Printer)22 PrintDialog (org.eclipse.swt.printing.PrintDialog)16 Test (org.junit.Test)9 Point (org.eclipse.swt.graphics.Point)6 Rectangle (org.eclipse.swt.graphics.Rectangle)6 Shell (org.eclipse.swt.widgets.Shell)4 Insets (org.eclipse.draw2d.geometry.Insets)3 GraphicalViewer (org.eclipse.gef.GraphicalViewer)3 StyledTextPrintOptions (org.eclipse.swt.custom.StyledTextPrintOptions)3 GC (org.eclipse.swt.graphics.GC)3 Image (org.eclipse.swt.graphics.Image)3 IFigure (org.eclipse.draw2d.IFigure)2 PrintFigureOperation (org.eclipse.draw2d.PrintFigureOperation)2 IPreferenceStore (org.eclipse.jface.preference.IPreferenceStore)2 ImageLoader (org.eclipse.swt.graphics.ImageLoader)2 JaretTablePrinter (de.jaret.util.ui.table.JaretTablePrinter)1 JaretTablePrintConfiguration (de.jaret.util.ui.table.print.JaretTablePrintConfiguration)1 JaretTablePrintDialog (de.jaret.util.ui.table.print.JaretTablePrintDialog)1 File (java.io.File)1