< prev index next >
src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m
Print this page
*** 310,322 ****
}
static void nsPrintInfoToJavaPrinterJob(JNIEnv* env, NSPrintInfo* src, jobject dstPrinterJob, jobject dstPageable)
{
static JNF_MEMBER_CACHE(jm_setService, sjc_CPrinterJob, "setPrinterServiceFromNative", "(Ljava/lang/String;)V");
! static JNF_MEMBER_CACHE(jm_setCopies, sjc_CPrinterJob, "setCopies", "(I)V");
static JNF_MEMBER_CACHE(jm_setCollated, sjc_CPrinterJob, "setCollated", "(Z)V");
! static JNF_MEMBER_CACHE(jm_setPageRange, sjc_CPrinterJob, "setPageRange", "(II)V");
// get the selected printer's name, and set the appropriate PrintService on the Java side
NSString *name = [[src printer] name];
jstring printerName = JNFNSToJavaString(env, name);
JNFCallVoidMethod(env, dstPrinterJob, jm_setService, printerName);
--- 310,322 ----
}
static void nsPrintInfoToJavaPrinterJob(JNIEnv* env, NSPrintInfo* src, jobject dstPrinterJob, jobject dstPageable)
{
static JNF_MEMBER_CACHE(jm_setService, sjc_CPrinterJob, "setPrinterServiceFromNative", "(Ljava/lang/String;)V");
! static JNF_MEMBER_CACHE(jm_setCopiesAttribute, sjc_CPrinterJob, "setCopiesAttribute", "(I)V");
static JNF_MEMBER_CACHE(jm_setCollated, sjc_CPrinterJob, "setCollated", "(Z)V");
! static JNF_MEMBER_CACHE(jm_setPageRangeAttribute, sjc_CPrinterJob, "setPageRangeAttribute", "(IIZ)V");
// get the selected printer's name, and set the appropriate PrintService on the Java side
NSString *name = [[src printer] name];
jstring printerName = JNFNSToJavaString(env, name);
JNFCallVoidMethod(env, dstPrinterJob, jm_setService, printerName);
*** 325,335 ****
NSMutableDictionary* printingDictionary = [src dictionary];
NSNumber* nsCopies = [printingDictionary objectForKey:NSPrintCopies];
if ([nsCopies respondsToSelector:@selector(integerValue)])
{
! JNFCallVoidMethod(env, dstPrinterJob, jm_setCopies, [nsCopies integerValue]); // AWT_THREADING Safe (known object)
}
NSNumber* nsCollated = [printingDictionary objectForKey:NSPrintMustCollate];
if ([nsCollated respondsToSelector:@selector(boolValue)])
{
--- 325,335 ----
NSMutableDictionary* printingDictionary = [src dictionary];
NSNumber* nsCopies = [printingDictionary objectForKey:NSPrintCopies];
if ([nsCopies respondsToSelector:@selector(integerValue)])
{
! JNFCallVoidMethod(env, dstPrinterJob, jm_setCopiesAttribute, [nsCopies integerValue]); // AWT_THREADING Safe (known object)
}
NSNumber* nsCollated = [printingDictionary objectForKey:NSPrintMustCollate];
if ([nsCollated respondsToSelector:@selector(boolValue)])
{
*** 338,347 ****
--- 338,348 ----
NSNumber* nsPrintAllPages = [printingDictionary objectForKey:NSPrintAllPages];
if ([nsPrintAllPages respondsToSelector:@selector(boolValue)])
{
jint jFirstPage = 0, jLastPage = java_awt_print_Pageable_UNKNOWN_NUMBER_OF_PAGES;
+ jboolean isRangeSet = false;
if (![nsPrintAllPages boolValue])
{
NSNumber* nsFirstPage = [printingDictionary objectForKey:NSPrintFirstPage];
if ([nsFirstPage respondsToSelector:@selector(integerValue)])
{
*** 351,363 ****
NSNumber* nsLastPage = [printingDictionary objectForKey:NSPrintLastPage];
if ([nsLastPage respondsToSelector:@selector(integerValue)])
{
jLastPage = [nsLastPage integerValue] - 1;
}
}
- JNFCallVoidMethod(env, dstPrinterJob, jm_setPageRange, jFirstPage, jLastPage); // AWT_THREADING Safe (known object)
}
}
static void javaPrinterJobToNSPrintInfo(JNIEnv* env, jobject srcPrinterJob, jobject srcPageable, NSPrintInfo* dst)
{
--- 352,367 ----
NSNumber* nsLastPage = [printingDictionary objectForKey:NSPrintLastPage];
if ([nsLastPage respondsToSelector:@selector(integerValue)])
{
jLastPage = [nsLastPage integerValue] - 1;
}
+ isRangeSet = true;
}
+ JNFCallVoidMethod(env, dstPrinterJob, jm_setPageRangeAttribute,
+ jFirstPage, jLastPage, isRangeSet);
+ // AWT_THREADING Safe (known object)
}
}
static void javaPrinterJobToNSPrintInfo(JNIEnv* env, jobject srcPrinterJob, jobject srcPageable, NSPrintInfo* dst)
{
< prev index next >