< prev index next >

src/java.desktop/windows/classes/sun/print/Win32PrintService.java

Print this page

        

*** 23,32 **** --- 23,34 ---- * questions. */ package sun.print; + import java.awt.GraphicsEnvironment; + import java.awt.Toolkit; import java.awt.Window; import java.awt.print.PrinterJob; import java.io.File; import java.net.URI; import java.net.URISyntaxException;
*** 52,61 **** --- 54,65 ---- import javax.print.attribute.standard.RequestingUserName; import javax.print.attribute.standard.Chromaticity; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.CopiesSupported; import javax.print.attribute.standard.Destination; + import javax.print.attribute.standard.DialogOwner; + import javax.print.attribute.standard.DialogTypeSelection; import javax.print.attribute.standard.Fidelity; import javax.print.attribute.standard.Media; import javax.print.attribute.standard.MediaSizeName; import javax.print.attribute.standard.MediaSize; import javax.print.attribute.standard.MediaTray;
*** 1040,1049 **** --- 1044,1057 ---- PrinterResolution[] supportedRes = getPrintResolutions(); if ((supportedRes!=null) && (supportedRes.length>0)) { categList.add(PrinterResolution.class); } + if (GraphicsEnvironment.isHeadless() == false) { + categList.add(DialogOwner.class); + categList.add(DialogTypeSelection.class); + } return categList.toArray(new Class<?>[categList.size()]); } public boolean isAttributeCategorySupported(Class<? extends Attribute> category)
*** 1583,1592 **** --- 1591,1617 ---- boolean isColorSup = ((caps & DEVCAP_COLOR) != 0); if ((!isColorSup && (attr == ColorSupported.SUPPORTED)) || (isColorSup && (attr == ColorSupported.NOT_SUPPORTED))) { return false; } + } else if (category == DialogTypeSelection.class) { + return true; // isHeadless was checked by category support + } else if (category == DialogOwner.class) { + DialogOwner owner = (DialogOwner)attr; + DialogTypeSelection dts = (attributes == null) ? null : + (DialogTypeSelection)attributes.get(DialogTypeSelection.class); + if (dts == DialogTypeSelection.NATIVE) { + return owner.getID() != 0; + } else { + if (owner.getID() != 0) { + return false; + } else if (owner.getOwner() != null) { + return true; + } else { + return Toolkit.getDefaultToolkit().isAlwaysOnTopSupported(); + } + } } return true; } public AttributeSet getUnsupportedAttributes(DocFlavor flavor,
< prev index next >