/* * This file is part of the KDE libraries * Copyright (c) 2001 Michael Goffioul * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License version 2 as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public License * along with this library; see the file COPYING.LIB. If not, write to * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. **/ #include "kphpgl2page.h" #include #include #include #include #include #include KPHpgl2Page::KPHpgl2Page(QWidget *parent, const char *name) : KPrintDialogPage(parent, name) { //WhatsThis strings.... (added by pfeifle@kde.org) QString whatsThisBlackplotHpgl2Page = i18n( " " " Print in Black Only (Blackplot) " "

The \'blackplot\' option specifies that all pens should plot in black-only:" " The default is to use the colors defined in the plot file, or the standard " " pen colors defined in the HP-GL/2 reference manual from Hewlett Packard.

" "
" "
" "

Additional hint for power users: This KDEPrint GUI element matches " " with the CUPS commandline job option parameter: " "

"
			"    -o blackplot=true "
			" 
" "

" "
" ); QString whatsThisFitplotHpgl2Page = i18n( " " " Scale Print Image to Page Size " "

The 'fitplot' option specifies that the HP-GL image should be scaled to fill " " exactly the page with the (elsewhere selected) media size.

" "

The default is 'fitplot is disabled'. The default will therefore use the absolute " " distances specified in the plot file. (You should be aware that HP-GL files are very " " often CAD drawings intended for large format plotters. On standard office printers " " they will therefore lead to the drawing printout being spread across multiple pages.)

" "

Note:This feature depends upon an accurate plot size (PS) command in the " " HP-GL/2 file. If no plot size is given in the file the filter converting the HP-GL " " to PostScript assumes the plot is ANSI E size.

" "
" "
" "

Additional hint for power users: This KDEPrint GUI element matches with the CUPS commandline job option parameter: " "

 "
			"    -o fitplot=true  "
			" 
" "

" "
" ); QString whatsThisPenwidthHpgl2Page = i18n( " " " Set Pen Width for HP-GL (if not defined in file). " "

The pen width value can be set here in case the original HP-GL file does not have it " " set. The pen width specifies the value in micrometers. The default value of 1000 produces " " lines that are 1000 micrometers == 1 millimeter in width. Specifying a pen width of 0 " " produces lines that are exactly 1 pixel wide.

" "

Note: The penwidth option set here is ignored if the pen widths are set inside " " the plot file itself..

" "
" "
" "

Additional hint for power users: This KDEPrint GUI element matches with the CUPS commandline job option parameter: " "

"
			"    -o penwidth=...   # example: \"2000\" or \"500\" "
			" 
" "

" "
" ); QString whatsThisAllOptionsHpgl2Page = i18n( " " " HP-GL Print Options " "

All options on this page are only applicable if you use KDEPrint to send HP-GL and " " HP-GL/2 files to one of your printers.

" "

HP-GL and HP-GL/2 are page description languages developed by Hewlett-Packard to drive " " Pen Plotting devices.

" "

KDEPrint can (with the help of CUPS) convert the HP-GL file format and print it " " on any installed printer.

" "

Note 1: To print HP-GL files, start 'kprinter' and simply load the file into " " the running kprinter.

" "

Note 2: The 'fitplot' parameter provided on this dialog does also work for " " printing PDF files (if your CUPS version is more recent than 1.1.22).

" "
" "
" "

Additional hint for power users: These KDEPrint GUI elements match with CUPS commandline job option parameters: " "

"
			"     -o blackplot=...  # examples: \"true\" or \"false\" "
			" 
" " -o fitplot=... # examples: \"true\" or \"false\" " "
" " -o penwidth=... # examples: \"true\" or \"false\" " "
" "

" "
" ); setTitle("HP-GL/2"); QGroupBox *box = new QGroupBox(0, Qt::Vertical, i18n("HP-GL/2 Options"), this); m_blackplot = new QCheckBox(i18n("&Use only black pen"), box); QWhatsThis::add(m_blackplot, whatsThisBlackplotHpgl2Page); m_fitplot = new QCheckBox(i18n("&Fit plot to page"), box); QWhatsThis::add(m_fitplot, whatsThisFitplotHpgl2Page); m_penwidth = new KIntNumInput(1000, box); m_penwidth->setLabel(i18n("&Pen width:"), Qt::AlignLeft|Qt::AlignVCenter); m_penwidth->setSuffix(" [um]"); m_penwidth->setRange(0, 10000, 100, true); QWhatsThis::add(m_penwidth, whatsThisPenwidthHpgl2Page); QVBoxLayout *l0 = new QVBoxLayout(this, 0, 10); l0->addWidget(box); l0->addStretch(1); QVBoxLayout *l1 = new QVBoxLayout(box->layout(), 10); l1->addWidget(m_blackplot); l1->addWidget(m_fitplot); l1->addWidget(m_penwidth); QWhatsThis::add(this, whatsThisAllOptionsHpgl2Page); } KPHpgl2Page::~KPHpgl2Page() { } void KPHpgl2Page::setOptions(const QMap& opts) { QString value; if (opts.contains("blackplot") && ((value=opts["blackplot"]).isEmpty() || value == "true")) m_blackplot->setChecked(true); if (opts.contains("fitplot") && ((value=opts["fitplot"]).isEmpty() || value == "true")) m_fitplot->setChecked(true); if (!(value=opts["penwidth"]).isEmpty()) m_penwidth->setValue(value.toInt()); } void KPHpgl2Page::getOptions(QMap& opts, bool incldef) { if (incldef || m_penwidth->value() != 1000) opts["penwidth"] = QString::number(m_penwidth->value()); if (m_blackplot->isChecked()) opts["blackplot"] = "true"; else if (incldef) opts["blackplot"] = "false"; else opts.remove("blackplot"); if (m_fitplot->isChecked()) opts["fitplot"] = "true"; else if (incldef) opts["fitplot"] = "false"; else opts.remove("fitplot"); }