Ejemplo n.º 1
0
char* cngplpGetValue(cngplpData *data, char *key)
{
	if(data == NULL)
		return NULL;

	if(key == NULL)
		return GetAllUIValue(data);
	else
		return ToChar(GetUIValue(data, key));
}
Ejemplo n.º 2
0
char* GetDataPPDOption(cngplpData *data, int id)
{
	char *option = NULL;

	switch(id){
	case ID_SELECTBY:
		return IntToChar(data->ppd_opt->selectby);
	case ID_JOBACCOUNT:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else{
#ifndef	__APPLE__
			return IntToChar(data->ppd_opt->special->job_account);
#else
			return ToChar(data->ppd_opt->special->job_account == 0 ? "False" : "True");
#endif
		}
	case ID_JOBACCOUNT_ID:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->job_account_id);
	case ID_JOBACCOUNT_PASSWD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->job_account_passwd);
	case ID_CNUSRPASSWORD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->usr_passwd);
	case ID_DATANAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->data_name);
	case ID_ENTERNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef _OPAL
		return ToChar(data->ppd_opt->special->enter_name);
#else
		if(data->ppd_opt->special->enter_name == NULL){
			return ToChar("");
		}else {
			return ToChar(data->ppd_opt->special->enter_name);
		}
#endif
	case ID_BOXIDNUM:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef __APPLE__
		return IntToChar(data->ppd_opt->special->box_num);
#else
		return ToChar(data->ppd_opt->special->box_num);
#endif
	case ID_MAX_BOXIDNUM:
		return IntToChar(data->ppd_opt->max_box_num);
	case ID_GUTTER:
		if(data->ppd_opt->summary_flag & CNSUMMARY_FLG_GUTTER)
			return NULL;
                if(data->ppd_opt->us_type)
                        return DoubleToChar(data->ppd_opt->gutter_value_d);
                else
                        return IntToChar(data->ppd_opt->gutter_value);
	case ID_MAX_GUTTER:
                if(data->ppd_opt->us_type)
                        return DoubleToChar(data->ppd_opt->max_gutter_value_d);
                else
                        return IntToChar(data->ppd_opt->max_gutter_value);
        case ID_USTYPE:
                return ToChar(data->ppd_opt->us_type == 0 ? "False" : "True");
	case ID_LIST_MEDIATYPE:
		return IntToChar(data->ppd_opt->list_mediatype_value);
  case ID_LIST_PAGESIZE:
      return IntToChar(data->ppd_opt->list_pagesize_value);
	case ID_SECURED_DOCNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef _OPAL
		return ToChar(data->ppd_opt->special->doc_name);
#else
		if(data->ppd_opt->special->doc_name == NULL){
			return ToChar("");
		}else {
			return ToChar(data->ppd_opt->special->doc_name);
		}
#endif
	case ID_SECURED_USRNAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->usr_name);
	case ID_SECURED_PASSWD:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->passwd_array);
	case ID_COLOR_MODE:
		return IntToChar(data->ppd_opt->color_mode);
	case ID_PRINTERTYPE:
		return IntToChar(data->ppd_opt->printer_type);
	case ID_MAX_COPIES:
		return IntToChar(data->ppd_opt->max_copy_num);
	case ID_SPECIAL_FUNC:
		return ToChar(data->ppd_opt->special != NULL ? "1" : "0");
	case ID_DOC_LENGTH:
		return IntToChar(data->ppd_opt->max_doc_length);
	case ID_DUPLEX:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
#ifdef	__APPLE__
			return MakePPDOptionList(data->ppd_opt, "Duplex");
#else
			return MakeDuplexBoolList(data->ppd_opt);
#endif
	case ID_BOOKLET:
	case ID_CNSADDLESTITCH:
	case ID_CNTRIMMING:
	case ID_CNZFOLDING:
	case ID_CNINSERTER:
	case ID_CNPUREBLACKPROCESS:
	case ID_CNPUNCHER:
	case ID_CNFOLDER:
	case ID_CNINSERTUNIT:
	case ID_CNTRIMMER:
	case ID_CNDUPLEXUNIT:
	case ID_CNSUPERSMOOTH:
	case ID_CNBACKPAPERPRINT:
	case ID_CNROTATEPRINT:
	case ID_CNCOPYSETNUMBERING:
	case ID_CNINTERLEAFSHEET:
	case ID_CNINTERLEAFPRINT:
	case ID_CNSKIPBLANK:
	case ID_CNDETECTPAPERSIZE:
	case ID_CNRGBPUREBLACKPROCESS:
	case ID_CNUSEGRAYSCALEPROFILE:
	case ID_CNLASTPAGEPRINTMODE:
	case ID_CNSET_FRONT_COVER:
	case ID_CNSET_BACK_COVER:
	case ID_CNSPECIFYNUMOFCOPIESSTACK:
	case ID_CNVFOLDING:
	case ID_CNPROPUNCHER:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
#ifdef	__APPLE__
		if(data->ppd_opt->printer_type != PRINTER_TYPE_CAPT)
		{
			switch(id){
			case ID_CNPUNCHER:
			case ID_BOOKLET:
			case ID_CNFOLDER:
			case ID_CNTRIMMER:
			case ID_CNINSERTUNIT:
			case ID_CNLASTPAGEPRINTMODE:
			case ID_CNPROPUNCHER:
				return MakePPDOptionList(data->ppd_opt, option);
			default:
				return MakePPDBoolList(data->ppd_opt, option);
			}
		}
		else {
			switch(id){
			case ID_CNSUPERSMOOTH:
				return MakePPDOptionList(data->ppd_opt, option);
			default:
				return MakePPDBoolList(data->ppd_opt, option);
			}
#endif
			return MakePPDBoolList(data->ppd_opt, option);
#ifdef	__APPLE__
		}
#endif
	case ID_CNPUNCH:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakeCNPunchBoolList(data->ppd_opt, option);
	case ID_BOOKLET_DLG:
		option = IDtoPPDOption(ID_BOOKLET - 1);
		if(option == NULL)
			return NULL;
		return MakePPDOptionList(data->ppd_opt, option);
	case ID_STARTNUM:
		return IntToChar(data->ppd_opt->startnum_value);
	case ID_USERID:
		return IntToChar(getuid());
	case ID_BACKPAPERPRINT_LABEL:
		return ToChar(GetItemString(data->ppd_opt->items_list, "CNBackPaperPrint"));
	case ID_DISABLE_JOBACCOUNT_BW:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
#ifndef	__APPLE__
			return IntToChar(data->ppd_opt->special->disable_job_account_bw);
#else
			return ToChar(data->ppd_opt->special->disable_job_account_bw == 0 ? "False:True<0>,False<0>" : "True:True<0>,False<0>");
#endif
#if !defined(__APPLE__) && !defined(_OPAL)
	case ID_SHOW_JOBACCOUNT:
		if(data->ppd_opt->special == NULL)
		{
			return NULL;
		}
		else
		{
			return IntToChar(data->ppd_opt->special->show_job_account);
		}
		break;
#endif
	case ID_SHOW_DISABLE_JOBACCOUNT_BW:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->show_disable_job_account_bw);
	case ID_DETECTPAPER_LABEL:
		return ToChar(GetItemString(data->ppd_opt->items_list, "CNDetectPaperSize"));
	case ID_CNDPICONPICTID:
		if(data->ppd_opt->dpicon_pictid > 0)
			return IntToChar(data->ppd_opt->dpicon_pictid);
		break;
	case ID_CNENABLEFINISHFLAG:
		if(data->ppd_opt->enable_finishflag > 0)
			return IntToChar(data->ppd_opt->enable_finishflag);
		break;
	case ID_CNENABLEINPUTFLAG:
		if(data->ppd_opt->enable_inputflag > 0)
			return IntToChar(data->ppd_opt->enable_inputflag);
		break;
	case ID_CNENABLEQUALITYTYPE:
		if(data->ppd_opt->enable_qualitytype > 0)
			return IntToChar(data->ppd_opt->enable_qualitytype);
		break;
	case ID_INPUTSLOT_TYPE:
		return IntToChar(data->ppd_opt->input_slot_type);

	case ID_CNSHIFTTYPE:
		return IntToChar(data->ppd_opt->shift_pos_type);
	case ID_CNSHIFTUPWARDS:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_upwards);
			}
		}
		return IntToChar(data->ppd_opt->shift_upwards);
	case ID_CNSHIFTRIGHT:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_right);
			}
		}
		return IntToChar(data->ppd_opt->shift_right);
	case ID_CNSHIFTFRLONGEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_front_long);
			}
		}
		return IntToChar(data->ppd_opt->shift_front_long);
	case ID_CNSHIFTFRSHORTEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_front_short);
			}
		}
		return IntToChar(data->ppd_opt->shift_front_short);
	case ID_CNSHIFTBKLONGEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_back_long);
			}
		}
		return IntToChar(data->ppd_opt->shift_back_long);
	case ID_CNSHIFTBKSHORTEDGE:
		if((option = GetUIValue(data, "CNEnableDetailShiftPosition")) != NULL){
			if(strcasecmp(option,"True") == 0){
				return DoubleToChar(data->ppd_opt->detail_shift_back_short);
			}
		}
		return IntToChar(data->ppd_opt->shift_back_short);
	case ID_CNSHIFTPOSITIONMAX:
		return cngplpGetValue(data,kPPD_Items_CNShiftPositionMax);
	case ID_CNSHIFTPOSITIONMIN:
		return cngplpGetValue(data,kPPD_Items_CNShiftPositionMin);
	case ID_CNJOBNOTE:
		if(data->ppd_opt->job_note == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->job_note->note);
	case ID_CNJOBDETAILS:
		if(data->ppd_opt->job_note == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->job_note->details);
	case ID_CNFINDETAILS:
      option = GetUIValue(data, kPPD_Items_CNFinDetails);
      if(option == NULL)
		return 0;
      return IntToChar((strcasecmp(option, "true") == 0) ? 1 : 0);
	case ID_CNOFFSETNUM:
		return IntToChar(data->ppd_opt->offset_num);
	case ID_CNUIOFFSETMAX:
		return cngplpGetValue(data,kPPD_Items_CNUIOffsetMax);
	case ID_CNGUTTERSHIFTNUM:
		return DoubleToChar2(data->ppd_opt->guttershiftnum_value_d);

	case ID_MAX_GUTTER_SHIFT_NUM:
		return cngplpGetValue(data,kPPD_Items_CNMAXGutterShiftNum);
	case ID_MIN_GUTTER_SHIFT_NUM:
		return cngplpGetValue(data,kPPD_Items_CNMINGutterShiftNum);
	case ID_CNTABSHIFT:
		return DoubleToChar(data->ppd_opt->tab_shift);
	case ID_DRIVERROOTPATH:
		if(data->ppd_opt->drv_root_path == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->drv_root_path);
	case ID_CNMEDIABRANDLIST:
		return MakeMediaBrandListChar(data->ppd_opt);
	case ID_CNMEDIABRAND:
		return MakeMediaBrandChar(data->ppd_opt);
	case ID_CNINSERTMEDIABRANDLIST:
		return MakeInsertMediaBrandListChar(data->ppd_opt);
	case ID_CNINSERTMEDIABRAND:
		return MakeInsertMediaBrandChar(data->ppd_opt);
	case ID_CNINTERLEAFMEDIABRANDLIST:
		return MakeInterleafMediaBrandListChar(data->ppd_opt);
	case ID_CNINTERLEAFMEDIABRAND:
		return MakeInterleafMediaBrandChar(data->ppd_opt);
	case ID_CNPBINDCOVERMEDIABRANDLIST:
		return MakePBindCoverMediaBrandListChar(data->ppd_opt);
	case ID_CNPBINDCOVERMEDIABRAND:
		return MakePBindCoverMediaBrandChar(data->ppd_opt);
	case ID_CNINSERTTABSHIFT:
		return DoubleToChar(data->ppd_opt->ins_tab_shift);
	case ID_CNINSERTPOS:
		return ToChar(data->ppd_opt->ins_pos);
	case ID_CNINSERTPOSPAPERSOURCE:
		return ToChar(data->ppd_opt->ins_pos_papersource);
	case ID_CNINSERTPOSPRINTON:
		return ToChar(data->ppd_opt->ins_pos_printon);
	case ID_CNTABINSERTPOS:
		return ToChar(data->ppd_opt->tab_ins_pos);
	case ID_CNTABINSERTPOSPAPERSOURCE:
		return ToChar(data->ppd_opt->tab_ins_pos_papersource);
	case ID_CNTABINSERTPOSPRINTON:
		return ToChar(data->ppd_opt->tab_ins_pos_printon);
	case ID_CNTABINSERTMULTIPAPERNUMBER:
		return IntToChar(data->ppd_opt->tab_ins_multi_number);
	case ID_CNTABINSERTMULTIPAPERSOURCE:
		return ToChar(data->ppd_opt->tab_ins_multi_papersource);
	case ID_CNTABINSERTMULTIPAPERTYPE:
		return ToChar(data->ppd_opt->tab_ins_multi_papertype);
	case ID_CNBINNAME:
		return ToChar(data->ppd_opt->bin_name);
	case ID_CNBINNAME_ARRAY:
		return ToChar(data->ppd_opt->bin_name_array);
	case ID_CNOVERLAYFILENAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->form_name);
	case ID_CNFORMHANDLE:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->form_handle);
	case ID_CNFORMLIST:
		return MakeFormListChar(data->ppd_opt);
	case ID_CNADJUSTTRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_trim_num);
	case ID_CNUITRIMVALMAX:
		return cngplpGetValue(data, kPPD_Items_CNUITrimValMax);
	case ID_CNUITRIMVALMIN:
		return cngplpGetValue(data, kPPD_Items_CNUITrimValMin);
	case ID_CNADJUSTFORETRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_frtrim_num);
	case ID_CNADJUSTTOPBOTTOMTRIMNUM:
		return DoubleToChar(data->ppd_opt->adjust_tbtrim_num);
	case ID_CNPBINDFINISHFORETRIMNUM:
		return DoubleToChar(data->ppd_opt->pb_fin_fore_trim_num);
	case ID_CNPBINDFINISHTOPBOTTOMTRIMNUM:
		return DoubleToChar(data->ppd_opt->pb_fin_topbtm_trim_num);
	case ID_CNSENDTIMENUM:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->send_time);
	case ID_CNOUTSIDELINENUMBER:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number);
	case ID_CNOUTSIDELINENUMINTRA:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_intra);
	case ID_CNOUTSIDELINENUMNGN:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngn);
	case ID_CNOUTSIDELINENUMMYNUMBERNGN:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_ngnmynum);
	case ID_CNOUTSIDELINENUMVOIP:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->fax_setting->outside_line_number_voip);
	case ID_CNSENDER:
		if(data->ppd_opt->fax_setting == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->fax_setting->sender_name);
	case ID_HOLD_NAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return ToChar(data->ppd_opt->special->hold_name);
	case ID_HOLDQUEUE_DATANAME:
		if(data->ppd_opt->special == NULL)
			return NULL;
		else
		return IntToChar(data->ppd_opt->special->holddata_name);
	case ID_CNFEEDPAPERNAME:
		if(data->ppd_opt->feed_paper_name == NULL)
			return NULL;
		else
			return ToChar(data->ppd_opt->feed_paper_name);
	case ID_CNSADDLESETTING:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakeCNSaddleSettingList(data->ppd_opt, option);
	case ID_CNSTACKCOPIESNUM:
		return IntToChar(data->ppd_opt->stack_copies_num);
	case ID_CNSADDLEPRESSADJUSTMENT:
		return IntToChar(data->ppd_opt->saddle_press_adjust);
	case ID_CNLISTIDSPECIALPRINTMODE:
		return IntToChar(data->ppd_opt->list_specialprintmode_value);
#ifndef	__APPLE__
	case ID_ENABLECNOFFSETNUM:
		return ToChar(GetUIValue(data, "EnableCNOffsetNum"));
	case ID_CNFOLDSETTING:
		option = IDtoPPDOption(id - 1);
		if(option == NULL){
			return NULL;
		}
		return MakeCNFoldSettingList(data->ppd_opt, option);
	case ID_CNPRINTSTYLE:
		option = IDtoPPDOption(id - 1);
		if(option == NULL){
			return NULL;
		}
		return MakeCNPrintStyleList(data->ppd_opt, option);
#endif
	case ID_PCFILENAME:
		return ToChar(data->ppd_opt->pcfile_name);
	case ID_MANUFACTURER:
		return ToChar(data->ppd_opt->manufacturer);
	case ID_NICKNAME:
		return ToChar(data->ppd_opt->nickname);
	case ID_CNPDLTYPE:
		return ToChar(data->ppd_opt->cnpdl_type);
	case ID_APPRINTERICONPATH:
		return ToChar(data->ppd_opt->ap_printer_icon_path);
	case ID_CONFLICTCNOFFSETNUM:
		return IntToChar(GetOffsetNumConflict(data));
	case ID_ENABLEINSERTPOSPAPERSOURCE:
		return MakeEnableInsertPosPaperSource(data, 0);
	case ID_ENABLETABINSERTPOSPAPERSOURCE:
		return MakeEnableInsertPosPaperSource(data, 1);
	default:
		option = IDtoPPDOption(id - 1);
		if(option == NULL)
			return NULL;
		return MakePPDOptionList(data->ppd_opt, option);
	}

	return NULL;
}
Ejemplo n.º 3
0
int CreatePPDOptions(cngplpData *data)
{
#ifndef _OPAL
	char *pWorkPPD = (char *)cupsGetPPD(data->curr_printer);
	if(pWorkPPD) {
		data->ppdfile = strdup(pWorkPPD);
		if (!data->ppdfile) {
			unlink(pWorkPPD);
			return -1;
		}
	}
#else
	data->ppdfile = strdup(data->curr_printer);
	if(data->ppdfile == NULL)
		return -1;
#endif

	memset(data->ppd_opt, 0, sizeof(PPDOptions));

	data->ppd_opt->startnum_value = 1;
	data->ppd_opt->dpicon_pictid = -1;
	data->ppd_opt->enable_finishflag = -1;
	data->ppd_opt->enable_inputflag = -1;
	data->ppd_opt->enable_qualitytype = -1;
	data->ppd_opt->offset_num = 1;
	data->ppd_opt->tab_shift = 12.7;
	data->ppd_opt->ins_tab_shift = 12.7;
	data->ppd_opt->adjust_trim_num = 0.0;
	data->ppd_opt->adjust_frtrim_num = 0.0;
	data->ppd_opt->adjust_tbtrim_num = 0.0;
	data->ppd_opt->pb_fin_fore_trim_num = 0.0;
	data->ppd_opt->pb_fin_topbtm_trim_num = 0.0;
	data->ppd_opt->stack_copies_num = 1;
	data->ppd_opt->saddle_press_adjust = 0;

	data->ppd_opt->items_list = (UIItemsList *)malloc(sizeof(UIItemsList));
	if(data->ppd_opt->items_list == NULL)
		return -1;

	memset(data->ppd_opt->items_list, 0, sizeof(UIItemsList));

	if((ParsePPD(data->ppd_opt, data->ppdfile)) < 0){
		return -1;
	}
	char *max_val = GetUIValue(data, kPPD_Items_CNUITrimValMax);
	char *min_val = GetUIValue(data, kPPD_Items_CNUITrimValMin);
	char *def_val = GetUIValue(data, kPPD_Items_CNUIAdjustTrimNumDefault);
	if(def_val == NULL || max_val == NULL || min_val == NULL){
		if(max_val != NULL)
			UpdateUIValue(data, kPPD_Items_CNUITrimValMax, "10.2");
		else
			AddUIValueList(data->ppd_opt, kPPD_Items_CNUITrimValMax, "10.2", 0);
		if(min_val != NULL)
			UpdateUIValue(data, kPPD_Items_CNUITrimValMin, "2.0");
		else
			AddUIValueList(data->ppd_opt, kPPD_Items_CNUITrimValMin, "2.0", 0);
		data->ppd_opt->adjust_trim_num = 2.0;
		data->ppd_opt->adjust_frtrim_num = 2.0;
}
	char *ptbValMax = GetUIValue(data,kPPD_Items_CNUITopBottomTrimValMax);
	char *ptbValMin = GetUIValue(data,kPPD_Items_CNUITopBottomTrimValMin);
	char *ptbValDef = GetUIValue(data,kPPD_Items_CNUIAdjustTopBottomTrimNumDefault);
	if(ptbValDef == NULL || ptbValMax ==NULL || ptbValMin ==NULL){
		if(ptbValMax != NULL)
			UpdateUIValue(data,kPPD_Items_CNUITopBottomTrimValMax,"15.0");
		else
			AddUIValueList(data->ppd_opt,kPPD_Items_CNUITopBottomTrimValMax,"15.0",0);
		if(ptbValMin != NULL)
			UpdateUIValue(data,kPPD_Items_CNUITopBottomTrimValMin,"2.0");
		else
			AddUIValueList(data->ppd_opt,kPPD_Items_CNUITopBottomTrimValMin,"2.0",0);
		data->ppd_opt->adjust_tbtrim_num = 2.0;
	}

	if(data->ppdfile)
		InitUIDisable(data);

	if(data->ppdfile)
		SetDefaultOptIfAllOptConflict(data);

	return 0;
}
Ejemplo n.º 4
0
char* GetAllOptionID(cngplpData *data)
{
	PPDOptions *ppd_opt = data->ppd_opt;
	UIItemsList *items_list;
	char *list = 0;
	int i;
	items_list = ppd_opt->items_list;

	while(1){
		if(strcmp(items_list->name, "InputSlot") != 0
		&& strcmp(items_list->name, "MediaType") != 0){
			if(strcmp(items_list->name, "Resolution") == 0){
				if(items_list->num_options > 1)
					list = IDAddList(list, ToID(items_list->name));
			}else{
				list = IDAddList(list, ToID(items_list->name));
			}
		}
#if _UI_DEBUG
DebugDisable(data, ToID(items_list->name));
#endif
		if(items_list->next == NULL)
			break;
		items_list = items_list->next;
	}

	switch(ppd_opt->selectby){
	case SELECTBY_INPUTSLOT:
		list = IDAddList(list, ToID("InputSlot"));
		list = IDAddList(list, ID_INPUTSLOT_TYPE);
		break;
	case SELECTBY_MEDIATYPE:
		list = IDAddList(list, ToID("MediaType"));
		list = IDAddList(list, ID_LIST_MEDIATYPE);
		break;
	case SELECTBY_NONE:
		list = IDAddList(list, ToID("InputSlot"));
		list = IDAddList(list, ToID("MediaType"));
		list = IDAddList(list, ID_LIST_MEDIATYPE);
		break;
	}

	list = IDAddList(list, ID_SIDED1PRINT);
	if(ppd_opt->selectby)
		list = IDAddList(list, ID_SELECTBY);

	if(FindItemsList(ppd_opt->items_list, "Booklet") != NULL)
		list = IDAddList(list, ID_BOOKLET_DLG);

	if(ppd_opt->special != NULL){
		list = IDAddList(list, ID_DATANAME);
		list = IDAddList(list, ID_ENTERNAME);
		list = IDAddList(list, ID_BOXIDNUM);
		list = IDAddList(list, ID_MAX_BOXIDNUM);
		list = IDAddList(list, ID_SECURED_DOCNAME);
		list = IDAddList(list, ID_SECURED_USRNAME);
		list = IDAddList(list, ID_SECURED_PASSWD);
		list = IDAddList(list, ID_JOBACCOUNT);
		list = IDAddList(list, ID_JOBACCOUNT_ID);
		list = IDAddList(list, ID_JOBACCOUNT_PASSWD);
		list = IDAddList(list, ID_CNUSRPASSWORD);
		list = IDAddList(list, ID_SPECIAL_FUNC);
		list = IDAddList(list, ID_DOC_LENGTH);
		list = IDAddList(list, ID_DISABLE_JOBACCOUNT_BW);
		list = IDAddList(list, ID_SHOW_DISABLE_JOBACCOUNT_BW);
		list = IDAddList(list, ID_CNFORMHANDLE);
		list = IDAddList(list, ID_CNOVERLAYFILENAME);
		list = IDAddList(list, ID_HOLD_NAME);
		list = IDAddList(list, ID_HOLDQUEUE_DATANAME);
	}

	if(FindItemsList(ppd_opt->items_list, "BindEdge") != NULL){
		list = IDAddList(list, ID_GUTTER);
		list = IDAddList(list, ID_MAX_GUTTER);
	}
	list = IDAddList(list, ID_PRINTERTYPE);
	list = IDAddList(list, ID_COLOR_MODE);
	list = IDAddList(list, ID_MAX_COPIES);

	if(FindItemsList(ppd_opt->items_list, "CNCopySetNumbering") != NULL){
		list = IDAddList(list, ID_STARTNUM);
	}

	if(ppd_opt->shift_pos_type == 1) {
		list = IDAddList(list, ID_CNSHIFTTYPE);
		list = IDAddList(list, ID_CNSHIFTFRLONGEDGE);
		list = IDAddList(list, ID_CNSHIFTFRSHORTEDGE);
		list = IDAddList(list, ID_CNSHIFTBKLONGEDGE);
		list = IDAddList(list, ID_CNSHIFTBKSHORTEDGE);
	}else if(ppd_opt->shift_pos_type == 2) {
		list = IDAddList(list, ID_CNSHIFTTYPE);
		list = IDAddList(list, ID_CNSHIFTUPWARDS);
		list = IDAddList(list, ID_CNSHIFTRIGHT);
	}

	if(ppd_opt->job_note != NULL){
		list = IDAddList(list, ID_CNJOBNOTE);
		list = IDAddList(list, ID_CNJOBDETAILS);
	}
	if(FindOptionList(ppd_opt->items_list, kPPD_Items_CNOutputPartition, "offset")){
		char *val;
		if((val = GetUIValue(data, kPPD_Items_EnableCNOffsetNum)) != NULL){
			if(strcasecmp(val,"True") == 0){
		list = IDAddList(list, ID_CNOFFSETNUM);
			}
		}
	}

	if(FindOptionList(ppd_opt->items_list, kPPD_Items_CNDisplacementCorrection, "Manual")){
		list = IDAddList(list, ID_CNGUTTERSHIFTNUM);
	}
	{
		char *val;
		if((val = GetUIValue(data, "EnableCNTabShift")) != NULL){
			if(strcasecmp(val,"True") == 0){
				list = IDAddList(list, ID_CNTABSHIFT);
			}
		}
		if((val = GetUIValue(data, "EnableCNInsertTabShift")) != NULL){
			if(strcasecmp(val,"True") == 0){
				list = IDAddList(list, ID_CNINSERTTABSHIFT);
			}
		}
		if((val = GetUIValue(data, "EnableCNSender")) != NULL){
			if(strcasecmp(val,"True") == 0){
				list = IDAddList(list, ID_CNSENDER);
			}
		}
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion) != NULL){
		list = IDAddList(list, ID_CNINSERTPOS);
		list = IDAddList(list, ID_CNINSERTPOSPAPERSOURCE);
		list = IDAddList(list, ID_CNINSERTPOSPRINTON);
	}
	if((FindOptionList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion, "TAB"))
	 || (FindOptionList(ppd_opt->items_list, kPPD_Items_CNSheetForInsertion, "TAB1"))){
		list = IDAddList(list, ID_CNTABINSERTPOS);
		list = IDAddList(list, ID_CNTABINSERTPOSPAPERSOURCE);
		list = IDAddList(list, ID_CNTABINSERTPOSPRINTON);
		{
			char *val;
			if((val = GetUIValue(data, "CNMultiPaperSourceInsertTab")) != NULL){
				if(strcasecmp(val,"True") == 0){
					list = IDAddList(list, ID_CNTABINSERTMULTIPAPERNUMBER);
					list = IDAddList(list, ID_CNTABINSERTMULTIPAPERSOURCE);
					list = IDAddList(list, ID_CNTABINSERTMULTIPAPERTYPE);
				}
			}
		}
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAdjustTrim) != NULL){
		list = IDAddList(list, ID_CNADJUSTTRIMNUM);
		list = IDAddList(list, ID_CNADJUSTFORETRIMNUM);
		list = IDAddList(list, ID_CNADJUSTTOPBOTTOMTRIMNUM);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNPBindSpecifyFinishingBy) != NULL){
		list = IDAddList(list, ID_CNPBINDFINISHFORETRIMNUM);
		list = IDAddList(list, ID_CNPBINDFINISHTOPBOTTOMTRIMNUM);
	}
	if(FindOptionList(ppd_opt->items_list, kPPD_Items_InputSlot, "PaperName")){
		list = IDAddList(list, ID_CNFEEDPAPERNAME);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSendTime) != NULL){
		list = IDAddList(list, ID_CNSENDTIMENUM);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNUseOutsideLineNum) != NULL){
		list = IDAddList(list, ID_CNOUTSIDELINENUMBER);
		list = IDAddList(list, ID_CNOUTSIDELINENUMINTRA);
		list = IDAddList(list, ID_CNOUTSIDELINENUMNGN);
		list = IDAddList(list, ID_CNOUTSIDELINENUMMYNUMBERNGN);
		list = IDAddList(list, ID_CNOUTSIDELINENUMVOIP);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSpecifyNumOfCopiesStack) != NULL){
		list = IDAddList(list, ID_CNSTACKCOPIESNUM);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSorterFinish) != NULL){
		list = IDAddList(list, ID_CNBINNAME);
		list = IDAddList(list, ID_CNBINNAME_ARRAY);
	}
	if(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSaddlePress) != NULL){
		list = IDAddList(list, ID_CNSADDLEPRESSADJUSTMENT);
	}
#ifndef	__APPLE__
	if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNZfolding) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNCfolding) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNHalfFolding) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAccordionZfolding) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNDoubleParallelFolding) != NULL)){
		list = IDAddList(list, ID_CNFOLDSETTING);
	}

	if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNCfoldSetting) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNHalfFoldSetting) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNAccordionZfoldSetting) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNDoubleParallelFoldSetting) != NULL)){
		list = IDAddList(list, ID_CNFOLDDETAIL);
	}

	list = IDAddList(list, ID_CNPRINTSTYLE);

	if((FindItemsList(ppd_opt->items_list, kPPD_Items_CNVfolding) != NULL)
#if !defined(__APPLE__) && !defined(_OPAL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNVfoldingTrimming) != NULL)
#endif
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNSaddleStitch) != NULL)
	   ||(FindItemsList(ppd_opt->items_list, kPPD_Items_CNTrimming) != NULL))
		list = IDAddList(list, ID_CNSADDLESETTING);
#endif

	for(i = ID_CNCOPIES; i <= ID_FILTER; i++){
		list = IDAddList(list, i);
	}

	if(ppd_opt->color_mode){
		list = IDAddList(list, ID_HUE);
		list = IDAddList(list, ID_SATURATION);
	}

	for(i = ID_PPI; i <= ID_RESO_SCALE; i++){
		list = IDAddList(list, i);
	}

	if(ppd_opt->color_mode)
		list = IDAddList(list, ID_BLACKPLOT);
	list = IDAddList(list, ID_FITPLOT);
	list = IDAddList(list, ID_PENWIDTH);

	for(i = ID_SETDEFAULT; i <= ID_CANCEL; i++){
		list = IDAddList(list, i);
	}

	return list;
}