home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.print;
-
- import java.awt.Dialog;
- import java.awt.Frame;
- import java.awt.JobAttributes;
- import java.awt.PageAttributes;
- import java.awt.PrintJob;
- import java.awt.JobAttributes.DefaultSelectionType;
- import java.awt.JobAttributes.DestinationType;
- import java.awt.JobAttributes.DialogType;
- import java.awt.JobAttributes.MultipleDocumentHandlingType;
- import java.awt.PageAttributes.MediaType;
- import java.io.FilePermission;
- import java.security.AccessController;
- import javax.swing.LookAndFeel;
- import javax.swing.UIManager;
- import javax.swing.UnsupportedLookAndFeelException;
- import sun.awt.DebugHelper;
-
- public abstract class PrintControl {
- public static final PageAttributes.MediaType[] SIZES;
- public static final int[] WIDTHS;
- public static final int[] LENGTHS;
- private static final DebugHelper dbg;
- private static final double CM_TO_IN = 2.54;
- protected Frame dialogOwner;
- protected String doctitle;
- private JobAttributes jobAttributes;
- private PageAttributes pageAttributes;
- private String options = "";
- private FilePermission printToFilePermission;
- private boolean printToFileEnabled = false;
- // $FF: synthetic field
- static Class class$sun$awt$print$PrintControl;
-
- public PrintControl(Frame var1, String var2, JobAttributes var3, PageAttributes var4) {
- this.dialogOwner = var1;
- this.doctitle = var2 != null ? var2 : "";
- this.jobAttributes = var3 != null ? var3 : new JobAttributes();
- this.pageAttributes = var4 != null ? var4 : new PageAttributes();
- int[][] var5 = this.jobAttributes.getPageRanges();
- int var6 = var5[0][0];
- int var7 = var5[var5.length - 1][1];
- this.jobAttributes.setPageRanges(new int[][]{{var6, var7}});
- this.jobAttributes.setToPage(var7);
- this.jobAttributes.setFromPage(var6);
- if (var1 != null || var3 != null && var3.getDialog() != DialogType.NATIVE) {
- int[] var8 = this.pageAttributes.getPrinterResolution();
- if (var8[0] != var8[1]) {
- throw new IllegalArgumentException("Differing cross feed and feed resolutions not supported.");
- } else {
- JobAttributes.DestinationType var9 = this.jobAttributes.getDestination();
- if (var9 == DestinationType.FILE) {
- this.throwPrintToFile();
- this.printToFileEnabled = true;
- } else {
- this.printToFileEnabled = this.checkPrintToFile();
- }
-
- }
- } else {
- throw new NullPointerException("frame");
- }
- }
-
- public final PageAttributes.ColorType getColorAttrib() {
- return this.pageAttributes.getColor();
- }
-
- public final void setColorAttrib(PageAttributes.ColorType var1) {
- this.pageAttributes.setColor(var1);
- }
-
- public final int getCopiesAttrib() {
- return this.jobAttributes.getCopies();
- }
-
- public final void setCopiesAttrib(int var1) {
- this.jobAttributes.setCopies(var1);
- }
-
- public final JobAttributes.DefaultSelectionType getSelectAttrib() {
- return this.jobAttributes.getDefaultSelection();
- }
-
- public final void setSelectAttrib(JobAttributes.DefaultSelectionType var1) {
- this.jobAttributes.setDefaultSelection(var1);
- }
-
- public final JobAttributes.DestinationType getDestAttrib() {
- return this.jobAttributes.getDestination();
- }
-
- public final void setDestAttrib(JobAttributes.DestinationType var1) {
- this.jobAttributes.setDestination(var1);
- }
-
- public final JobAttributes.DialogType getDialogAttrib() {
- return this.jobAttributes.getDialog();
- }
-
- public final String getFileNameAttrib() {
- return this.jobAttributes.getFileName();
- }
-
- public final void setFileNameAttrib(String var1) {
- this.jobAttributes.setFileName(var1);
- }
-
- public final int getFromPageAttrib() {
- return this.jobAttributes.getFromPage();
- }
-
- public final void setFromPageAttrib(int var1) {
- this.jobAttributes.setFromPage(var1);
- this.jobAttributes.setPageRanges(new int[][]{{var1, this.jobAttributes.getToPage()}});
- }
-
- public final int getMaxPageAttrib() {
- return this.jobAttributes.getMaxPage();
- }
-
- public final int getMediaAttrib() {
- return this.pageAttributes.getMedia().hashCode();
- }
-
- public final void setMediaAttrib(int var1) {
- this.pageAttributes.setMedia(SIZES[var1]);
- }
-
- public final int getMinPageAttrib() {
- return this.jobAttributes.getMinPage();
- }
-
- public final JobAttributes.MultipleDocumentHandlingType getMDHAttrib() {
- return this.jobAttributes.getMultipleDocumentHandling();
- }
-
- public final void setMDHAttrib(JobAttributes.MultipleDocumentHandlingType var1) {
- this.jobAttributes.setMultipleDocumentHandling(var1);
- }
-
- public final String getOptions() {
- return this.options;
- }
-
- public final void setOptions(String var1) {
- this.options = var1 != null ? var1 : "";
- }
-
- public final PageAttributes.OrientationRequestedType getOrientAttrib() {
- return this.pageAttributes.getOrientationRequested();
- }
-
- public final void setOrientAttrib(PageAttributes.OrientationRequestedType var1) {
- this.pageAttributes.setOrientationRequested(var1);
- }
-
- public final PageAttributes.OriginType getOriginAttrib() {
- return this.pageAttributes.getOrigin();
- }
-
- public final PageAttributes.PrintQualityType getQualityAttrib() {
- return this.pageAttributes.getPrintQuality();
- }
-
- public final void setQualityAttrib(PageAttributes.PrintQualityType var1) {
- this.pageAttributes.setPrintQuality(var1);
- }
-
- public final String getPrinterAttrib() {
- String var1 = this.jobAttributes.getPrinter();
- return var1 != null ? var1 : this.getDefaultPrinterName();
- }
-
- public final void setPrinterAttrib(String var1) {
- this.jobAttributes.setPrinter(var1);
- }
-
- public final boolean getPrintToFileEnabled() {
- return this.printToFileEnabled;
- }
-
- public final int getResAttrib() {
- int[] var1 = this.pageAttributes.getPrinterResolution();
- return var1[2] == 3 ? var1[0] : (int)((double)var1[0] * 2.54);
- }
-
- public JobAttributes.SidesType getSidesAttrib() {
- return this.jobAttributes.getSides();
- }
-
- public void setSidesAttrib(JobAttributes.SidesType var1) {
- this.jobAttributes.setSides(var1);
- }
-
- public int getToPageAttrib() {
- return this.jobAttributes.getToPage();
- }
-
- public void setToPageAttrib(int var1) {
- this.jobAttributes.setToPage(var1);
- this.jobAttributes.setPageRanges(new int[][]{{this.jobAttributes.getFromPage(), var1}});
- }
-
- public PrintJob initJob() {
- if (this.getDialogAttrib() == DialogType.COMMON) {
- return this.initJobWithCommonDialog();
- } else {
- return this.getDialogAttrib() == DialogType.NATIVE ? this.initJobWithNativeDialog() : this.createPrintJob();
- }
- }
-
- public abstract String getDefaultPrinterName();
-
- public abstract boolean getCapabilities(PrinterCapabilities var1);
-
- public abstract void getPrinterList(PrinterListUpdatable var1);
-
- protected final PrintJob initJobWithCommonDialog() {
- LookAndFeel var1 = UIManager.getLookAndFeel();
-
- try {
- UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
- } catch (ClassNotFoundException var7) {
- } catch (IllegalAccessException var8) {
- } catch (InstantiationException var9) {
- } catch (UnsupportedLookAndFeelException var10) {
- }
-
- PrintDialog var2 = (PrintDialog)AccessController.doPrivileged(new 1(this));
- var2.setDocumentTitle(this.doctitle);
- var2.setDestType(this.getDestAttrib());
- var2.setDestString(DestinationType.PRINTER, this.getPrinterAttrib());
- var2.setDestString(DestinationType.FILE, this.getFileNameAttrib());
- var2.setPrintToFileEnabled(this.getPrintToFileEnabled());
- var2.setOptionsString(this.getOptions());
- var2.setPrintRange(this.getSelectAttrib());
- var2.setMinMaxPage(this.getMinPageAttrib(), this.getMaxPageAttrib());
- var2.setFromPage(this.getFromPageAttrib());
- var2.setToPage(this.getToPageAttrib());
- var2.setCopies(this.getCopiesAttrib());
- var2.setCollate(this.getMDHAttrib() == MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIES);
- var2.setMedia(SIZES[this.getMediaAttrib()]);
- var2.setOrientation(this.getOrientAttrib());
- var2.setColor(this.getColorAttrib());
- var2.setQuality(this.getQualityAttrib());
- var2.setSides(this.getSidesAttrib());
- PrintJob var3 = var2.getPrintJob();
- ((Dialog)var2).dispose();
-
- try {
- UIManager.setLookAndFeel(var1);
- } catch (UnsupportedLookAndFeelException var6) {
- }
-
- return var3;
- }
-
- protected PrintJob initJobWithNativeDialog() {
- return this.initJobWithCommonDialog();
- }
-
- protected abstract PrintJob createPrintJob();
-
- protected PrintJob createPrintJob(PrintDialog var1) {
- JobAttributes var2 = this.jobAttributes;
- PageAttributes var3 = this.pageAttributes;
- this.jobAttributes = (JobAttributes)this.jobAttributes.clone();
- this.pageAttributes = (PageAttributes)this.pageAttributes.clone();
- this.doctitle = var1.getDocumentTitle();
- this.setDestAttrib(var1.getDestType());
- String var4 = var1.getDestString(DestinationType.PRINTER);
- if (var4 != null && !var4.equals("")) {
- this.setPrinterAttrib(var4);
- }
-
- if (this.getDestAttrib() == DestinationType.FILE) {
- String var5 = var1.getDestString(DestinationType.FILE);
- if (var5 != null && !var5.equals("")) {
- this.setFileNameAttrib(var5);
- }
- }
-
- String var10 = var1.getOptionsString();
- if (var10 != null && !var10.equals("")) {
- this.setOptions(var10);
- }
-
- this.setSelectAttrib(var1.getPrintRange());
- if (this.getSelectAttrib() == DefaultSelectionType.RANGE) {
- this.setToPageAttrib(var1.getToPage());
- this.setFromPageAttrib(var1.getFromPage());
- }
-
- int var6 = var1.getCopies();
- if (var6 > 0) {
- this.setCopiesAttrib(var6);
- }
-
- this.setMDHAttrib(var1.getCollate() ? MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_COLLATED_COPIES : MultipleDocumentHandlingType.SEPARATE_DOCUMENTS_UNCOLLATED_COPIES);
- this.setMediaAttrib(var1.getMedia().hashCode());
- this.setOrientAttrib(var1.getOrientation());
- this.setColorAttrib(var1.getColor());
- this.setQualityAttrib(var1.getQuality());
- this.setSidesAttrib(var1.getSides());
-
- PrintJob var7;
- try {
- var7 = this.createPrintJob();
- } catch (IllegalArgumentException var9) {
- this.jobAttributes = var2;
- this.pageAttributes = var3;
- throw var9;
- }
-
- if (var7 != null) {
- var2.set(this.jobAttributes);
- var3.set(this.pageAttributes);
- }
-
- this.jobAttributes = var2;
- this.pageAttributes = var3;
- return var7;
- }
-
- private boolean checkPrintToFile() {
- try {
- this.throwPrintToFile();
- return true;
- } catch (SecurityException var2) {
- return false;
- }
- }
-
- private void throwPrintToFile() {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- if (this.printToFilePermission == null) {
- this.printToFilePermission = new FilePermission("<<ALL FILES>>", "read,write");
- }
-
- var1.checkPermission(this.printToFilePermission);
- }
-
- }
-
- // $FF: synthetic method
- static Class class$(String var0) {
- try {
- return Class.forName(var0);
- } catch (ClassNotFoundException var2) {
- throw new NoClassDefFoundError(((Throwable)var2).getMessage());
- }
- }
-
- static {
- SIZES = new PageAttributes.MediaType[]{MediaType.ISO_4A0, MediaType.ISO_2A0, MediaType.ISO_A0, MediaType.ISO_A1, MediaType.ISO_A2, MediaType.ISO_A3, MediaType.ISO_A4, MediaType.ISO_A5, MediaType.ISO_A6, MediaType.ISO_A7, MediaType.ISO_A8, MediaType.ISO_A9, MediaType.ISO_A10, MediaType.ISO_B0, MediaType.ISO_B1, MediaType.ISO_B2, MediaType.ISO_B3, MediaType.ISO_B4, MediaType.ISO_B5, MediaType.ISO_B6, MediaType.ISO_B7, MediaType.ISO_B8, MediaType.ISO_B9, MediaType.ISO_B10, MediaType.JIS_B0, MediaType.JIS_B1, MediaType.JIS_B2, MediaType.JIS_B3, MediaType.JIS_B4, MediaType.JIS_B5, MediaType.JIS_B6, MediaType.JIS_B7, MediaType.JIS_B8, MediaType.JIS_B9, MediaType.JIS_B10, MediaType.ISO_C0, MediaType.ISO_C1, MediaType.ISO_C2, MediaType.ISO_C3, MediaType.ISO_C4, MediaType.ISO_C5, MediaType.ISO_C6, MediaType.ISO_C7, MediaType.ISO_C8, MediaType.ISO_C9, MediaType.ISO_C10, MediaType.ISO_DESIGNATED_LONG, MediaType.EXECUTIVE, MediaType.FOLIO, MediaType.INVOICE, MediaType.LEDGER, MediaType.NA_LETTER, MediaType.NA_LEGAL, MediaType.QUARTO, MediaType.A, MediaType.B, MediaType.C, MediaType.D, MediaType.E, MediaType.NA_10X15_ENVELOPE, MediaType.NA_10X14_ENVELOPE, MediaType.NA_10X13_ENVELOPE, MediaType.NA_9X12_ENVELOPE, MediaType.NA_9X11_ENVELOPE, MediaType.NA_7X9_ENVELOPE, MediaType.NA_6X9_ENVELOPE, MediaType.NA_NUMBER_9_ENVELOPE, MediaType.NA_NUMBER_10_ENVELOPE, MediaType.NA_NUMBER_11_ENVELOPE, MediaType.NA_NUMBER_12_ENVELOPE, MediaType.NA_NUMBER_14_ENVELOPE, MediaType.INVITE_ENVELOPE, MediaType.ITALY_ENVELOPE, MediaType.MONARCH_ENVELOPE, MediaType.PERSONAL_ENVELOPE};
- WIDTHS = new int[]{4768, 3370, 2384, 1684, 1191, 842, 595, 420, 298, 210, 147, 105, 74, 2835, 2004, 1417, 1001, 709, 499, 354, 249, 176, 125, 88, 2920, 2064, 1460, 1032, 729, 516, 363, 258, 181, 128, 91, 2599, 1837, 1298, 918, 649, 459, 323, 230, 162, 113, 79, 312, 522, 612, 396, 792, 612, 612, 609, 612, 792, 1224, 1584, 2448, 720, 720, 720, 648, 648, 504, 432, 279, 297, 324, 342, 360, 624, 312, 279, 261};
- LENGTHS = new int[]{6741, 4768, 3370, 2384, 1684, 1191, 842, 595, 420, 298, 210, 147, 105, 4008, 2835, 2004, 1417, 1001, 729, 499, 354, 249, 176, 125, 4127, 2920, 2064, 1460, 1032, 729, 516, 363, 258, 181, 128, 3677, 2599, 1837, 1298, 918, 649, 459, 323, 230, 162, 113, 624, 756, 936, 612, 1224, 792, 1008, 780, 792, 1224, 1584, 2448, 3168, 1080, 1008, 936, 864, 792, 648, 648, 639, 684, 747, 792, 828, 624, 652, 540, 468};
- dbg = DebugHelper.create(class$sun$awt$print$PrintControl == null ? (class$sun$awt$print$PrintControl = class$("sun.awt.print.PrintControl")) : class$sun$awt$print$PrintControl);
- }
- }
-