### Eclipse Workspace Patch 1.0 #P org.eclipse.gmf.runtime.diagram.ui.printing.render Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/util/PrintHelper.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/util/PrintHelper.java,v retrieving revision 1.1 diff -u -r1.1 PrintHelper.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/util/PrintHelper.java 7 Mar 2008 16:51:28 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/util/PrintHelper.java 27 Mar 2008 19:00:39 -0000 @@ -49,6 +49,11 @@ options.setCopies(1); options.setCollate(false); + + options.setQualityHigh(true); + options.setSideOneSided(true); + options.setChromaticityColor(true); + } /* @@ -134,5 +139,9 @@ // TODO Not supported by the JPS dialog return false; } + + public PrintOptions getPrintOptions(){ + return options; + } } Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/model/PrintOptions.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/model/PrintOptions.java,v retrieving revision 1.1 diff -u -r1.1 PrintOptions.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/model/PrintOptions.java 7 Mar 2008 16:51:28 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/model/PrintOptions.java 27 Mar 2008 19:00:39 -0000 @@ -33,6 +33,18 @@ public static String PROPERTY_COPIES = "copies"; //$NON-NLS-1$ public static String PROPERTY_COLLATE = "collate"; //$NON-NLS-1$ + + public static String PROPERTY_QUALITY_HIGH = "qualityHigh"; //$NON-NLS-1$ + public static String PROPERTY_QUALITY_LOW = "qualityLow"; //$NON-NLS-1$ + public static String PROPERTY_QUALITY_MED = "qualityMed"; //$NON-NLS-1$ + public static String PROPERTY_CHROMATICITY_MONO = "chromaticityMono"; //$NON-NLS-1$ + public static String PROPERTY_CHROMATICITY_COLOR = "chromaticityColor"; //$NON-NLS-1$ + public static String PROPERTY_SIDES_ONESIDED = "sideOneSided"; //$NON-NLS-1$ + public static String PROPERTY_SIDES_TUMBLE = "sideTumble"; //$NON-NLS-1$ + public static String PROPERTY_SIDES_DUPLEX = "sideDuplex"; //$NON-NLS-1$ + + public static String PROPERTY_JOB_NAME = "jobName"; //$NON-NLS-1$ + public static String PROPERTY_USER_NAME = "userName"; //$NON-NLS-1$ private PrintDestination destination; @@ -48,6 +60,20 @@ private int copies; private boolean collate; + private boolean qualityHigh; + private boolean qualityLow; + private boolean qualityMed; + + private boolean chromaticityColor; + private boolean chromaticityMono; + + private boolean sideOneSided; + private boolean sideTumble; + private boolean sideDuplex; + + private String jobName; + private String userName; + public PrintOptions() { super(); } @@ -71,6 +97,56 @@ this.percentScaling = percentScaling; firePropertyChange(PROPERTY_PERCENT_SCALING, oldScaling, percentScaling); } + public String getJobName() { + return jobName; + } + + public void setJobName(String name) { + String oldName = this.jobName; + this.jobName = name; + firePropertyChange(PROPERTY_JOB_NAME, oldName, name); + } + + public String getUserName() { + return userName; + } + + public void setUserName(String name) { + String oldName = this.userName; + this.userName = name; + firePropertyChange(PROPERTY_USER_NAME, oldName, name); + } + + public boolean isQualityHigh() { + return this.qualityHigh; + } + + public void setQualityHigh(boolean qualityHigh) { + boolean oldQualityHigh = this.qualityHigh; + this.qualityHigh = qualityHigh; + firePropertyChange(PROPERTY_QUALITY_HIGH, oldQualityHigh, qualityHigh); + } + + public boolean isQualityLow() { + return this.qualityLow; + } + + public void setQualityLow(boolean qualityLow) { + boolean oldQualityLow = this.qualityLow; + this.qualityLow = qualityLow; + firePropertyChange(PROPERTY_QUALITY_LOW, oldQualityLow, this.qualityLow); + } + + public boolean isQualityMed() { + return this.qualityMed; + } + + public void setQualityMed(boolean qualityMed) { + boolean oldQualityMed = this.qualityMed; + this.qualityMed = qualityMed; + firePropertyChange(PROPERTY_QUALITY_MED, oldQualityMed, this.qualityMed); + } + public int getScaleFactor() { return scaleFactor; @@ -151,4 +227,55 @@ this.collate = collate; firePropertyChange(PROPERTY_COLLATE, oldCollate, collate); } + + + public boolean isChromaticityColor() { + return this.chromaticityColor; + } + + public void setChromaticityColor(boolean chromaticityColor) { + boolean oldChromaticityColor = this.chromaticityColor; + this.chromaticityColor = chromaticityColor; + firePropertyChange(PROPERTY_CHROMATICITY_COLOR, oldChromaticityColor, this.chromaticityColor); + } + + public boolean isChromaticityMono() { + return this.chromaticityMono; + } + + public void setChromaticityMono(boolean chromaticityMono) { + boolean oldChromaticityMono = this.chromaticityMono; + this.chromaticityMono = chromaticityMono; + firePropertyChange(PROPERTY_CHROMATICITY_MONO, oldChromaticityMono, this.chromaticityMono); + } + + public boolean isSideOneSided() { + return this.sideOneSided; + } + + public void setSideOneSided(boolean sideOneSided) { + boolean oldSideOneSided = this.sideOneSided; + this.sideOneSided = sideOneSided; + firePropertyChange(PROPERTY_SIDES_ONESIDED, oldSideOneSided, this.sideOneSided); + } + + public boolean isSideTumble() { + return this.sideTumble; + } + + public void setSideTumble(boolean sideTumble) { + boolean oldSideTumble = this.sideTumble; + this.sideTumble = sideTumble; + firePropertyChange(PROPERTY_SIDES_TUMBLE, oldSideTumble, this.sideTumble); + } + + public boolean isSideDuplex() { + return this.sideDuplex; + } + + public void setSideDuplex(boolean sideDuplex) { + boolean oldSideDuplex = this.sideDuplex; + this.sideDuplex = sideDuplex; + firePropertyChange(PROPERTY_SIDES_DUPLEX, oldSideDuplex, this.sideDuplex); + } } Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/CopiesBlock.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/CopiesBlock.java,v retrieving revision 1.1 diff -u -r1.1 CopiesBlock.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/CopiesBlock.java 7 Mar 2008 16:51:28 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/CopiesBlock.java 27 Mar 2008 19:00:39 -0000 @@ -15,58 +15,88 @@ import org.eclipse.core.databinding.beans.BeansObservables; import org.eclipse.core.databinding.observable.Realm; import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingPluginImages; import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Spinner; - /** - * A section of the JPS print dialog that handles the number of copies of - * a diagram to print. + * A section of the JPS print dialog that handles the number of copies of a + * diagram to print. * * @author Christian Damus (cdamus) * @author James Bruck (jbruck) */ class CopiesBlock extends DialogBlock { - - private final DataBindingContext bindings; - private final PrintOptions options; - - CopiesBlock(IDialogUnitConverter dluConverter, DataBindingContext bindings, - PrintOptions options) { - super(dluConverter); - - this.bindings = bindings; - this.options = options; - } - - /* - * (non-Javadoc) - * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) - */ - public Control createContents(Composite parent) { - final Realm realm = bindings.getValidationRealm(); - - Composite result = group(parent, DiagramUIPrintingMessages.JPSPrintDialog_Copies); - layout(result, 2); - - label(result, DiagramUIPrintingMessages.JPSPrintDialog_NumberOfCopies); - Spinner copiesSpinner = spinner(result, 1, 999); - - bindings.bindValue(SWTObservables.observeSelection(copiesSpinner), - BeansObservables.observeValue(realm, options, PrintOptions.PROPERTY_COPIES), - null, null); - - blank(result); - Button collateCheck = check(result, DiagramUIPrintingMessages.JPSPrintDialog_Collate); - - bindings.bindValue(SWTObservables.observeSelection(collateCheck), - BeansObservables.observeValue(realm, options, PrintOptions.PROPERTY_COLLATE), - null, null); - - return result; - } + + private final DataBindingContext bindings; + private final PrintOptions options; + + CopiesBlock(IDialogUnitConverter dluConverter, DataBindingContext bindings, + PrintOptions options) { + super(dluConverter); + + this.bindings = bindings; + this.options = options; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + public Control createContents(Composite parent) { + final Realm realm = bindings.getValidationRealm(); + + Composite result = group(parent, + DiagramUIPrintingMessages.JPSPrintDialog_Copies); + layout(result, 2); + + label(result, DiagramUIPrintingMessages.JPSPrintDialog_NumberOfCopies); + Spinner copiesSpinner = spinner(result, 1, 999); + + bindings.bindValue(SWTObservables.observeSelection(copiesSpinner), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_COPIES), null, null); + + final Image collateOnImage = DiagramUIPrintingPluginImages.COLLATE_ON + .createImage(); + final Image collateOffImage = DiagramUIPrintingPluginImages.COLLATE_OFF + .createImage(); + final Label collateImageButton = new Label(result, SWT.CENTER | SWT.SHADOW_NONE); + + layoutAlignRight(collateImageButton); + collateImageButton.setImage(collateOffImage); + + Button collateCheck = check(result, + DiagramUIPrintingMessages.JPSPrintDialog_Collate); + + bindings.bindValue(SWTObservables.observeSelection(collateCheck), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_COLLATE), null, null); + + collateCheck.addSelectionListener(new SelectionListener() { + + public void widgetDefaultSelected(SelectionEvent arg0) { + // do nothing + } + public void widgetSelected(SelectionEvent arg0) { + if (options.isCollate()) { + collateImageButton.setImage(collateOnImage); + } else { + collateImageButton.setImage(collateOffImage); + } + } + }); + + return result; + } } Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSPrintDialog.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSPrintDialog.java,v retrieving revision 1.1 diff -u -r1.1 JPSPrintDialog.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSPrintDialog.java 7 Mar 2008 16:51:28 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSPrintDialog.java 27 Mar 2008 19:00:39 -0000 @@ -45,16 +45,16 @@ private CopiesBlock copiesBlock; private ActionsBlock actionsBlock; - private final DialogBlock.IDialogUnitConverter dluConverter = - new DialogBlock.IDialogUnitConverter() { - - public int convertHorizontalDLUsToPixels(int dlus) { - return JPSPrintDialog.this.convertHorizontalDLUsToPixels(dlus); - } - - public Shell getShell() { - return JPSPrintDialog.this.getShell(); - }}; + private final DialogBlock.IDialogUnitConverter dluConverter = new DialogBlock.IDialogUnitConverter() { + + public int convertHorizontalDLUsToPixels(int dlus) { + return JPSPrintDialog.this.convertHorizontalDLUsToPixels(dlus); + } + + public Shell getShell() { + return JPSPrintDialog.this.getShell(); + } + }; public JPSPrintDialog(IShellProvider parentShell, PrintOptions options) { super(parentShell); @@ -66,6 +66,10 @@ this.options = options; } + /* + * (non-Javadoc) + * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) + */ protected void configureShell(Shell newShell) { super.configureShell(newShell); @@ -119,7 +123,7 @@ } protected void createExtensibleBlockArea(Composite result) { - // meant to be overiden by subclasses to add additional blocks. + // meant to be overridden by subclasses to add additional blocks. } Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/PrinterBlock.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/PrinterBlock.java,v retrieving revision 1.1 diff -u -r1.1 PrinterBlock.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/PrinterBlock.java 7 Mar 2008 16:51:27 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/PrinterBlock.java 27 Mar 2008 19:00:39 -0000 @@ -35,7 +35,6 @@ import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; import org.eclipse.jface.databinding.viewers.ViewersObservables; import org.eclipse.jface.viewers.ComboViewer; -import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.SelectionChangedEvent; @@ -47,6 +46,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; +import org.eclipse.ui.PlatformUI; /** * A section of the JPS print dialog that adds printer options. @@ -96,24 +96,24 @@ // until a workaround can be discovered. // - // combo.addSelectionChangedListener(new ISelectionChangedListener() { - // - // public void selectionChanged(SelectionChangedEvent event) { - // if (event != null) { - // handlePrinterSelectionChanged(event); - // } - // } + // combo.addSelectionChangedListener(new ISelectionChangedListener() { + // + // public void selectionChanged(SelectionChangedEvent event) { + // if (event != null) { + // handlePrinterSelectionChanged(event); + // } + // } // }); layoutFillHorizontal(combo.getControl()); Button propertiesButton = button(result, DiagramUIPrintingMessages.JPSPrintDialog_Properties); - propertiesButton.setEnabled(false); + propertiesButton.setEnabled(true); propertiesButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { - // TODO: Introduce new dialog in phase 2 + openPrintOptionsDialog(); } }); @@ -188,7 +188,7 @@ PrintServiceAttributeSet printServiceAttributes = printService .getAttributes(); - + PrinterState printerState = (PrinterState) printServiceAttributes .get(PrinterState.class); @@ -290,4 +290,12 @@ return ((PrintDestination) element).getName(); } } + + private void openPrintOptionsDialog() { + + JPSOptionsDialog dlg = new JPSOptionsDialog(PlatformUI.getWorkbench() + .getActiveWorkbenchWindow().getShell(), bindings, options); + dlg.open(); + + } } Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing.render/src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java,v retrieving revision 1.2 diff -u -r1.2 JPSDiagramPrinter.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java 12 Mar 2008 19:47:21 -0000 1.2 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/internal/JPSDiagramPrinter.java 27 Mar 2008 19:00:39 -0000 @@ -11,6 +11,7 @@ package org.eclipse.gmf.runtime.diagram.ui.printing.render.internal; +import java.awt.BasicStroke; import java.awt.print.PageFormat; import java.awt.print.PrinterException; import java.util.Iterator; @@ -29,6 +30,7 @@ import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.HashPrintServiceAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; +import javax.print.attribute.standard.Chromaticity; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.JobName; import javax.print.attribute.standard.Media; @@ -36,8 +38,10 @@ import javax.print.attribute.standard.MediaSize; import javax.print.attribute.standard.MediaSizeName; import javax.print.attribute.standard.OrientationRequested; +import javax.print.attribute.standard.PrintQuality; import javax.print.attribute.standard.PrinterName; import javax.print.attribute.standard.SheetCollate; +import javax.print.attribute.standard.Sides; import org.eclipse.draw2d.Graphics; import org.eclipse.draw2d.geometry.Rectangle; @@ -62,14 +66,16 @@ import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; import org.eclipse.gmf.runtime.diagram.ui.printing.internal.util.DiagramPrinter; import org.eclipse.gmf.runtime.diagram.ui.printing.internal.util.PrintHelperUtil; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.util.PrintHelper; import org.eclipse.gmf.runtime.diagram.ui.printing.util.DiagramPrinterUtil; import org.eclipse.gmf.runtime.diagram.ui.util.DiagramEditorUtil; import org.eclipse.gmf.runtime.draw2d.ui.internal.graphics.MapModeGraphics; +import org.eclipse.gmf.runtime.draw2d.ui.internal.graphics.ScaledGraphics; import org.eclipse.gmf.runtime.draw2d.ui.mapmode.IMapMode; import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil; import org.eclipse.gmf.runtime.draw2d.ui.render.awt.internal.graphics.GraphicsToGraphics2DAdaptor; import org.eclipse.gmf.runtime.draw2d.ui.render.internal.graphics.RenderedMapModeGraphics; -import org.eclipse.gmf.runtime.draw2d.ui.render.internal.graphics.RenderedScaledGraphics; import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.preference.IPreferenceStore; @@ -90,13 +96,20 @@ */ public class JPSDiagramPrinter extends DiagramPrinter implements java.awt.print.Printable { - - + + // A constant that takes into account screen display DPI and the graphic DPI + // 72.0 DPI is an AWT constant @see java.awt.Graphics2D + private static double AWT_DPI_CONST = 72.0; + + // The print service used during printing. private PrintService printService; + + // Page information that is collected up front and used during the async printing calls. private PageData[] pages; + + // The print helper contains page information. private IPrintHelper printHelper; - public JPSDiagramPrinter(PreferencesHint preferencesHint, IMapMode mm) { super(preferencesHint, mm); this.preferencesHint = preferencesHint; @@ -351,19 +364,35 @@ swtGraphics = new GraphicsToGraphics2DAdaptor( (java.awt.Graphics2D) printGraphics, new Rectangle(0, 0, (int) pageFormat.getWidth(), (int) pageFormat - .getHeight())); + .getHeight())) { + /* + * (non-Javadoc) + * @see org.eclipse.gmf.runtime.draw2d.ui.render.awt.internal.graphics.GraphicsToGraphics2DAdaptor#setLineWidth(int) + */ + public void setLineWidth(int width) { + super.setLineWidth(width); + + BasicStroke scaledStroke = getStroke(); + // + // Make a special case for line thickness to take the printer + // resolution into account. + // + scaledStroke = new BasicStroke( + (float) (width * AWT_DPI_CONST / 100), + scaledStroke.getEndCap(), + scaledStroke.getLineJoin(), + scaledStroke.getMiterLimit(), + scaledStroke.getDashArray(), 0); + getGraphics2D().setStroke(scaledStroke); + } + }; + graphics = createMapModeGraphics(createPrinterGraphics(swtGraphics)); - // - // Take into account screen display DPI and the graphic DPI - // 72.0 DPI is an AWT constant @see java.awt.Graphics2D - // - graphics.scale(72.0 / display_dpi.x); - + graphics.scale(AWT_DPI_CONST / display_dpi.x); drawPage(pages[pageIndex]); - } catch (Exception e) { - System.out.println(e); - } finally { + + } finally { dispose(); } @@ -378,12 +407,10 @@ return new RenderedMapModeGraphics(theGraphics, getMapMode()); } - - protected RenderedScaledGraphics createPrinterGraphics(Graphics theGraphics) { - return new RenderedScaledGraphics(theGraphics); + protected ScaledGraphics createPrinterGraphics(Graphics theGraphics) { + return new ScaledGraphics(theGraphics); } - - + /** * Set printing options in a format that is suitable for the Java print * service @@ -398,6 +425,8 @@ String jobName, IPreferenceStore fPreferences) { + PrintOptions advancedOptions = ((PrintHelper) (printHelper)).getPrintOptions(); + PrintRequestAttributeSet printRequestAttributeSet = new HashPrintRequestAttributeSet(); if (fPreferences @@ -428,14 +457,35 @@ printRequestAttributeSet.add(MediaSizeName.ISO_B5); } + if (advancedOptions.isQualityLow()) { + printRequestAttributeSet.add(PrintQuality.DRAFT); + } else if (advancedOptions.isQualityMed()) { + printRequestAttributeSet.add(PrintQuality.NORMAL); + } else if (advancedOptions.isQualityHigh()) { + printRequestAttributeSet.add(PrintQuality.HIGH); + } + if (advancedOptions.isSideDuplex()) { + printRequestAttributeSet.add(Sides.DUPLEX); + } else if (advancedOptions.isSideOneSided()) { + printRequestAttributeSet.add(Sides.ONE_SIDED); + } else if (advancedOptions.isSideTumble()) { + printRequestAttributeSet.add(Sides.TUMBLE); + } + + if (advancedOptions.isChromaticityColor()) { + printRequestAttributeSet.add(Chromaticity.COLOR); + } else { + printRequestAttributeSet.add(Chromaticity.MONOCHROME); + } + MediaSizeName media = (MediaSizeName) printRequestAttributeSet .get(Media.class); MediaSize mediaSize = MediaSize.getMediaSizeForName(media); - + printRequestAttributeSet.add(new MediaPrintableArea((float) 0.0, (float) 0.0, (mediaSize.getX(MediaSize.INCH)), (mediaSize .getY(MediaSize.INCH)), MediaPrintableArea.INCH)); - + printRequestAttributeSet.add(new Copies(printHelper .getDlgNumberOfCopies())); @@ -445,6 +495,10 @@ printRequestAttributeSet.add(SheetCollate.UNCOLLATED); } + String userJobName = advancedOptions.getJobName(); + if (userJobName != null && userJobName.length() > 0) { + jobName = userJobName; + } printRequestAttributeSet.add(new JobName(jobName, Locale.getDefault())); return printRequestAttributeSet; Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/SidesBlock.java =================================================================== RCS file: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/SidesBlock.java diff -N src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/SidesBlock.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/SidesBlock.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,80 @@ +/****************************************************************************** + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************/ + +package org.eclipse.gmf.runtime.diagram.ui.printing.render.dialogs; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.observable.Realm; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * A section of the options print dialog that handles the duplex/single sided printing. + * + * @author James Bruck (jbruck) + */ +public class SidesBlock extends DialogBlock { + + private final DataBindingContext bindings; + private final PrintOptions options; + + SidesBlock(IDialogUnitConverter dluConverter, DataBindingContext bindings, + PrintOptions options) { + super(dluConverter); + + this.bindings = bindings; + this.options = options; + } + + /* + * (non-Javadoc) + * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + public Control createContents(Composite parent) { + final Realm realm = bindings.getValidationRealm(); + + Composite result = group(parent, + DiagramUIPrintingMessages.JPSOptionsDialog_Sides); + layout(result, 2); + + Button oneSideRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_SidesOneSided); + layoutSpanHorizontal(oneSideRadio, 4); + + Button tumbleRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_SidesTumble); + layoutSpanHorizontal(tumbleRadio, 4); + + Button duplexRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_SidesDuplex); + layoutSpanHorizontal(duplexRadio, 4); + + bindings.bindValue(SWTObservables.observeSelection(oneSideRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_SIDES_ONESIDED), null, null); + + bindings.bindValue(SWTObservables.observeSelection(tumbleRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_SIDES_TUMBLE), null, null); + + bindings.bindValue(SWTObservables.observeSelection(duplexRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_SIDES_DUPLEX), null, null); + + return result; + } + +} Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JobAttributesBlock.java =================================================================== RCS file: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JobAttributesBlock.java diff -N src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JobAttributesBlock.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JobAttributesBlock.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,64 @@ +/****************************************************************************** + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************/ + +package org.eclipse.gmf.runtime.diagram.ui.printing.render.dialogs; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.observable.Realm; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Text; + +/** + * A section of the options print dialog that handles the job attributes. + * + * @author James Bruck (jbruck) + */ +public class JobAttributesBlock extends DialogBlock { + private final DataBindingContext bindings; + private final PrintOptions options; + + JobAttributesBlock(IDialogUnitConverter dluConverter, + DataBindingContext bindings, PrintOptions options) { + super(dluConverter); + + this.bindings = bindings; + this.options = options; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + public Control createContents(Composite parent) { + final Realm realm = bindings.getValidationRealm(); + + Composite result = group(parent, + DiagramUIPrintingMessages.JPSOptionsDialog_JobAttributes); + layout(result, 2); + + layoutHorizontalIndent(layoutAlignRight(label(result, + DiagramUIPrintingMessages.JPSOptionsDialog_JobName))); + Text jobName = text(result, 80); + + bindings.bindValue(SWTObservables.observeText(jobName, SWT.Modify), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_JOB_NAME), null, null); + + return result; + } +} Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/QualityBlock.java =================================================================== RCS file: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/QualityBlock.java diff -N src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/QualityBlock.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/QualityBlock.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,80 @@ +/****************************************************************************** + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************/ + +package org.eclipse.gmf.runtime.diagram.ui.printing.render.dialogs; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.observable.Realm; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * A section of the options print dialog that handles the print quality. + * + * @author James Bruck (jbruck) + */ +public class QualityBlock extends DialogBlock { + + private final DataBindingContext bindings; + private final PrintOptions options; + + QualityBlock(IDialogUnitConverter dluConverter, + DataBindingContext bindings, PrintOptions options) { + super(dluConverter); + + this.bindings = bindings; + this.options = options; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + public Control createContents(Composite parent) { + final Realm realm = bindings.getValidationRealm(); + + Composite result = group(parent, + DiagramUIPrintingMessages.JPSOptionsDialog_Quality); + layout(result, 2); + + Button highRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_QualityHigh); + layoutSpanHorizontal(highRadio, 4); + + Button mediumRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_QualityMedium); + layoutSpanHorizontal(mediumRadio, 4); + + Button lowRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_QualityLow); + layoutSpanHorizontal(lowRadio, 4); + + bindings.bindValue(SWTObservables.observeSelection(highRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_QUALITY_HIGH), null, null); + + bindings.bindValue(SWTObservables.observeSelection(mediumRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_QUALITY_MED), null, null); + + bindings.bindValue(SWTObservables.observeSelection(lowRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_QUALITY_LOW), null, null); + + return result; + } +} Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSOptionsDialog.java =================================================================== RCS file: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSOptionsDialog.java diff -N src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSOptionsDialog.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/JPSOptionsDialog.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,114 @@ +/****************************************************************************** + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************/ + +package org.eclipse.gmf.runtime.diagram.ui.printing.render.dialogs; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.jface.window.IShellProvider; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Shell; + +/** + * A dialog that presents advanced printer options to the user. + * + * @author James Bruck (jbruck) + */ +public class JPSOptionsDialog extends TrayDialog { + + private DataBindingContext bindings; + public final PrintOptions options; + + private QualityBlock qualityBlock; + private ColorBlock colorBlock; + private SidesBlock sidesBlock; + private JobAttributesBlock jobAttributesBlock; + + private final DialogBlock.IDialogUnitConverter dluConverter = new DialogBlock.IDialogUnitConverter() { + + public int convertHorizontalDLUsToPixels(int dlus) { + return JPSOptionsDialog.this.convertHorizontalDLUsToPixels(dlus); + } + + public Shell getShell() { + return JPSOptionsDialog.this.getShell(); + } + }; + + protected JPSOptionsDialog(Shell shell, DataBindingContext bindings, + PrintOptions options) { + super(shell); + this.options = options; + this.bindings = bindings; + } + + public JPSOptionsDialog(IShellProvider parentShell, + DataBindingContext bindings, PrintOptions options) { + super(parentShell); + this.options = options; + this.bindings = bindings; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) + */ + protected void configureShell(Shell newShell) { + + super.configureShell(newShell); + newShell + .setText(DiagramUIPrintingMessages.JPSOptionsDialog_AdvancedOptions); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + protected Control createDialogArea(Composite parent) { + + Composite result = new Composite(parent, SWT.NONE); + DialogBlock.layout(result, 2); + + createColorBlockArea(result); + createQualityBlockArea(result); + createSidesBlockArea(result); + createJobAttributesBlockArea(result); + + return result; + } + + protected void createQualityBlockArea(Composite result) { + qualityBlock = new QualityBlock(dluConverter, bindings, options); + qualityBlock.createContents(result); + } + + protected void createColorBlockArea(Composite result) { + colorBlock = new ColorBlock(dluConverter, bindings, options); + colorBlock.createContents(result); + } + + protected void createSidesBlockArea(Composite result) { + sidesBlock = new SidesBlock(dluConverter, bindings, options); + sidesBlock.createContents(result); + } + + protected void createJobAttributesBlockArea(Composite result) { + jobAttributesBlock = new JobAttributesBlock(dluConverter, bindings, + options); + jobAttributesBlock.createContents(result); + } +} Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/ColorBlock.java =================================================================== RCS file: src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/ColorBlock.java diff -N src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/ColorBlock.java --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/render/dialogs/ColorBlock.java 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,123 @@ +/****************************************************************************** + * Copyright (c) 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ****************************************************************************/ + +package org.eclipse.gmf.runtime.diagram.ui.printing.render.dialogs; + +import java.util.Locale; + +import javax.print.DocFlavor; +import javax.print.PrintService; +import javax.print.PrintServiceLookup; +import javax.print.attribute.AttributeSet; +import javax.print.attribute.HashPrintServiceAttributeSet; +import javax.print.attribute.PrintServiceAttributeSet; +import javax.print.attribute.standard.ColorSupported; +import javax.print.attribute.standard.PrinterName; + +import org.eclipse.core.databinding.DataBindingContext; +import org.eclipse.core.databinding.beans.BeansObservables; +import org.eclipse.core.databinding.observable.Realm; +import org.eclipse.gmf.runtime.diagram.ui.printing.internal.l10n.DiagramUIPrintingMessages; +import org.eclipse.gmf.runtime.diagram.ui.printing.render.model.PrintOptions; +import org.eclipse.jface.databinding.swt.SWTObservables; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * A section of the options print dialog that handles the print color options. + * + * @author James Bruck (jbruck) + */ +public class ColorBlock extends DialogBlock { + + private final DataBindingContext bindings; + private final PrintOptions options; + + private Button colorRadio; + private Button monoRadio; + + ColorBlock(IDialogUnitConverter dluConverter, DataBindingContext bindings, + PrintOptions options) { + super(dluConverter); + + this.bindings = bindings; + this.options = options; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.gmf.runtime.common.ui.printing.internal.dialogs.DialogBlock#createContents(org.eclipse.swt.widgets.Composite) + */ + public Control createContents(Composite parent) { + final Realm realm = bindings.getValidationRealm(); + + Composite result = group(parent, + DiagramUIPrintingMessages.JPSOptionsDialog_Color); + layout(result, 2); + + colorRadio = radio(result, + DiagramUIPrintingMessages.JPSOptionsDialog_ChromaticityColor); + layoutSpanHorizontal(colorRadio, 4); + + monoRadio = radio( + result, + DiagramUIPrintingMessages.JPSOptionsDialog_ChromaticityMonochrome); + layoutSpanHorizontal(monoRadio, 4); + + bindings.bindValue(SWTObservables.observeSelection(colorRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_CHROMATICITY_COLOR), null, null); + + bindings.bindValue(SWTObservables.observeSelection(monoRadio), + BeansObservables.observeValue(realm, options, + PrintOptions.PROPERTY_CHROMATICITY_MONO), null, null); + + initializeControls(options.getDestination().getName()); + + return result; + } + + /** + * Initialize the enabled state of the controls based on the printer + * capabilities. + * + * @param printerName + */ + private void initializeControls(String printerName) { + + AttributeSet attributes = new HashPrintServiceAttributeSet( + new PrinterName(printerName, Locale.getDefault())); + + PrintService[] services = PrintServiceLookup.lookupPrintServices( + DocFlavor.SERVICE_FORMATTED.PRINTABLE, attributes); + + PrintService printService = services[0]; + + PrintServiceAttributeSet printServiceAttributes = printService + .getAttributes(); + + ColorSupported colorSupported = (ColorSupported) printServiceAttributes + .get(ColorSupported.class); + + if (colorSupported == ColorSupported.SUPPORTED) { + options.setChromaticityColor(true); + options.setChromaticityMono(false); + colorRadio.setEnabled(true); + } else { + options.setChromaticityColor(false); + options.setChromaticityMono(true); + colorRadio.setEnabled(false); + } + } + +} #P org.eclipse.gmf.runtime.diagram.ui.render Index: plugin.xml =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.render/plugin.xml,v retrieving revision 1.5 diff -u -r1.5 plugin.xml --- plugin.xml 7 Mar 2008 16:51:31 -0000 1.5 +++ plugin.xml 27 Mar 2008 19:00:41 -0000 @@ -24,12 +24,14 @@ - + #P org.eclipse.gmf.runtime.draw2d.ui.render.awt Index: src/org/eclipse/gmf/runtime/draw2d/ui/render/awt/internal/graphics/GraphicsToGraphics2DAdaptor.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.draw2d.ui.render.awt/src/org/eclipse/gmf/runtime/draw2d/ui/render/awt/internal/graphics/GraphicsToGraphics2DAdaptor.java,v retrieving revision 1.4 diff -u -r1.4 GraphicsToGraphics2DAdaptor.java --- src/org/eclipse/gmf/runtime/draw2d/ui/render/awt/internal/graphics/GraphicsToGraphics2DAdaptor.java 26 Sep 2007 14:51:36 -0000 1.4 +++ src/org/eclipse/gmf/runtime/draw2d/ui/render/awt/internal/graphics/GraphicsToGraphics2DAdaptor.java 27 Mar 2008 19:00:42 -0000 @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (c) 2004, 2007 IBM Corporation and others. + * Copyright (c) 2004, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -461,7 +461,12 @@ int w2, int h2) { - drawImage(srcImage, x2, y2); + x2 += transX; + y2 += transY; + + BufferedImage toDraw = ImageConverter.convert(srcImage); + checkState(); + getGraphics2D().drawImage(toDraw, x2, y2, w2, h2, null); } /* @@ -1227,5 +1232,15 @@ getGraphics2D().setComposite(newComposite); } } - + + protected BasicStroke getStroke(){ + return stroke; + } + + protected void setStroke(BasicStroke stroke){ + this.stroke = stroke; + getGraphics2D().setStroke(stroke); + } + + } #P org.eclipse.gmf.runtime.diagram.ui.printing Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.properties =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing/src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.properties,v retrieving revision 1.2 diff -u -r1.2 DiagramUIPrintingMessages.properties --- src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.properties 7 Mar 2008 16:51:33 -0000 1.2 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.properties 27 Mar 2008 19:00:43 -0000 @@ -58,6 +58,22 @@ JPSPrintDialog_PagesWide=Pages &wide: JPSPrintDialog_PagesTall=Pages &tall: +JPSOptionsDialog_Quality=Quality +JPSOptionsDialog_QualityHigh=&High +JPSOptionsDialog_QualityMedium=&Medium +JPSOptionsDialog_QualityLow=&Low +JPSOptionsDialog_Color=Color +JPSOptionsDialog_ChromaticityColor=&Color +JPSOptionsDialog_ChromaticityMonochrome=&Monochrome +JPSOptionsDialog_JobAttributes=Job Attributes +JPSOptionsDialog_JobName=Job &Name +JPSOptionsDialog_Sides=Sides +JPSOptionsDialog_SidesOneSided=&One Sided +JPSOptionsDialog_SidesTumble=&Tumble +JPSOptionsDialog_SidesDuplex=&Duplex +JPSOptionsDialog_AdvancedOptions=Advanced Options + + # DiagramPrinterUtil related resource strings # ================================ BEGIN ================================================== DiagramPrinterUtil_DLLErrorTitle=Error loading printing library Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing/src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.java,v retrieving revision 1.2 diff -u -r1.2 DiagramUIPrintingMessages.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.java 7 Mar 2008 16:51:33 -0000 1.2 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingMessages.java 27 Mar 2008 19:00:43 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2005 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -67,6 +67,20 @@ public static String JPSPrintDialog_PagesTall; public static String JPSDiagramPrinterUtil_ErrorTitle; public static String JPSDiagramPrinterUtil_ErrorMessage; + public static String JPSOptionsDialog_Quality; + public static String JPSOptionsDialog_QualityHigh; + public static String JPSOptionsDialog_QualityMedium; + public static String JPSOptionsDialog_QualityLow; + public static String JPSOptionsDialog_Color; + public static String JPSOptionsDialog_ChromaticityColor; + public static String JPSOptionsDialog_ChromaticityMonochrome; + public static String JPSOptionsDialog_JobAttributes; + public static String JPSOptionsDialog_JobName; + public static String JPSOptionsDialog_Sides; + public static String JPSOptionsDialog_SidesOneSided; + public static String JPSOptionsDialog_SidesTumble; + public static String JPSOptionsDialog_SidesDuplex; + public static String JPSOptionsDialog_AdvancedOptions; static { NLS.initializeMessages(BUNDLE_NAME, DiagramUIPrintingMessages.class); Index: src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingPluginImages.java =================================================================== RCS file: /cvsroot/modeling/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui.printing/src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingPluginImages.java,v retrieving revision 1.1 diff -u -r1.1 DiagramUIPrintingPluginImages.java --- src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingPluginImages.java 25 Nov 2005 19:38:16 -0000 1.1 +++ src/org/eclipse/gmf/runtime/diagram/ui/printing/internal/l10n/DiagramUIPrintingPluginImages.java 27 Mar 2008 19:00:43 -0000 @@ -77,6 +77,13 @@ public static final ImageDescriptor DESC_CLOSE = create(PREFIX_ENABLED + "print_preview_close.gif"); //$NON-NLS-1$ + + public static final ImageDescriptor COLLATE_ON = create(PREFIX_ENABLED + + "collate.gif"); //$NON-NLS-1$ + + public static final ImageDescriptor COLLATE_OFF = create(PREFIX_ENABLED + + "no_collate.gif"); //$NON-NLS-1$ + /** * Creates the image descriptor from the filename given. Index: icons/etool16/collate.gif =================================================================== RCS file: icons/etool16/collate.gif diff -N icons/etool16/collate.gif --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ icons/etool16/collate.gif 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,1 @@ +GIF87ap*ÂìêÜ„‚„ÄÂÄüþü,p*þºÜþ0ÊI«½8ëÍ»ÿ`(ŽdiRBª®lœm¼¾g%x®ï]Þ»`®W³ ?DðÈó#KæÐ9ŠJ É'ôªË’¬R¯ÖfŠEe$õ+“Âk[;ö6ÇÑÜ)|“öö5}Av|y8„jE‚M€Œ]uŠ?‡X’~w?z…”‡‰—gFŸ—¢‘stp9u’¤«-—ƒ’¯Sª• µA°q›ˆ´?;¾¹¦­:£¿ºÂ‘Ä©À–ÈɸdÌÔ®Ö†ÇvÚ¡Û Ò»Ãàæ–Æy ¨œ8ìÁã§ÊÉÊé\‰·ÁŽâØîÿû:qS'Ì¿òzµÃtïÊ.zûuûpÒ@|§Ê1¼6—ñ\Å?Úª5 ¤É“±üy †²e&LÞMs'ÊWÍ›8ãÅ„ªæœ@_j’Â$AEk-"ê,â¤M-*aºP©¨U›,?ÕèSª­Âk©%J¡°²4kmÃg?ƒÞ 7˜Ü¹žŽ55f ß©ûrÔ ˜°àòö>Œ?-[·W›…|âîÝÊ–ƒ2Þ̹³çÏ; Index: icons/etool16/no_collate.gif =================================================================== RCS file: icons/etool16/no_collate.gif diff -N icons/etool16/no_collate.gif --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ icons/etool16/no_collate.gif 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,3 @@ +GIF87aq*ÂìêÜ„‚„ÄÂÄüþü,q*þºÜþ0ÊI«½8ëÍ»ÿ`(Ždižhª®lë¾p,kBmßx`yȤr@¬•P$“­NEÏê²IÉj¥Ü‰÷K¸ÉI³ +¦²ËáÎø«î¾ánvÝ3×î%}Vq?QB>tM‰=‹~?Ž8?‚AwLŒ …P™‘›˜•†ƒœ[š ¦i¢??¡¨kož–©¯Ÿµ²¬[—¹°ª`¾ÀG³£¼z¢¢jÃpIÊ« ½HÐmÍÅË®ÓÚG•Ì¶Þãx×âßѸÈPàÜëJíÇhÙÛÒïÔé +جõæÝèÖô?cîÀr±îDøKœ®‚÷ Åó¥1~ùV±è¨ì›²‰7n{Ö/aÅUÂ6̶K¼•º2Šù2òVH-íRÒ fÓN”=9Õ¤uó$O¢>U5æò%P¤¦röœùÌ€«X³BtºJ«WwNÛyÕJÊ?ÐUÓªµï#µpÁ¶E7­<2‡…Ê3¯l†}|ñúmËÞ»¾’öQ˜âbÄSùŒ?œ·屃7]þ:¢®çÌ >×Å :îŒÓ¨S«^ͺµk× ;