Exemplo n.º 1
0
RSELSTR_FUNC(Bool32) RSELSTR_SetImportData(uint32_t dwType, void * pData)
{
	Bool32 rc = TRUE;

	gwRC = 0;

#define CASE_DATA(a,b,c)	case a: c = *(b *)pData; break
#define CASE_PDATA(a,b,c)	case a: c = (b)pData; break

	switch(dwType)
	{
	 CASE_PDATA(RSELSTR_FNRSELSTR_ProgressStart,	FNRSELSTR_ProgressStart ,fnProgressStart_rsel);
	 CASE_PDATA(RSELSTR_FNRSELSTR_ProgressStep,	FNRSELSTR_ProgressStep,	fnProgressStep_rsel);
	 CASE_PDATA(RSELSTR_FNRSELSTR_ProgressFinish,	FNRSELSTR_ProgressFinish,fnProgressFinish_rsel);
	 default:
		SetReturnCode_rselstr(IDS_ERR_NOTIMPLEMENT);
		rc = FALSE;
	}

#undef CASE_DATA
#undef CASE_PDATA

return rc;

}
Exemplo n.º 2
0
PUMA_FUNC(Bool) PUMA_SetImportData(uint32_t dwType, void * pData)
{
	Bool rc = TRUE;

	gwRC = 0;

#define CASE_DATA(a,b,c)		case a: c = *(b *)pData; break
#define CASE_DATAUP(a,b,c,d)	case a: if(c != *(b *)pData){c = *(b *)pData; SetUpdate(d,FLG_UPDATE_NO);}; break
#define CASE_PDATA(a,b,c)		case a: c = (b)pData; break

	switch(dwType)
	{
	CASE_DATAUP(PUMA_Word32_Language,uint32_t,gnLanguage,FLG_UPDATE_CCOM);
	CASE_DATA(PUMA_Bool32_Speller,Bool32,gbSpeller);
	CASE_DATAUP(PUMA_Bool32_OneColumn,Bool32,gbOneColumn,FLG_UPDATE_CPAGE);
	CASE_DATAUP(PUMA_Bool32_Fax100,Bool32,gbFax100,FLG_UPDATE_CCOM);
	CASE_DATAUP(PUMA_Bool32_DotMatrix,Bool32,gbDotMatrix,FLG_UPDATE_CCOM);
	CASE_DATA(PUMA_Bool32_Bold,Bool32,gbBold);
	CASE_DATA(PUMA_Bool32_Italic,Bool32,gbItalic);
	CASE_DATA(PUMA_Bool32_Size,Bool32,gbSize);
	CASE_DATA(PUMA_Bool32_Format,Bool32,gbFormat);
	CASE_PDATA(PUMA_pchar_UserDictName,char *,gpUserDictName);
	CASE_PDATA(PUMA_pchar_SerifName,char *,gpSerifName);
	CASE_PDATA(PUMA_pchar_SansSerifName,char *,gpSansSerifName);
	CASE_PDATA(PUMA_pchar_CourierName,char *,gpCourierName);
	CASE_DATAUP(PUMA_Word32_Pictures,uint32_t,gnPictures,FLG_UPDATE_CPAGE);
	CASE_DATAUP(PUMA_Word32_Tables,uint32_t,gnTables,FLG_UPDATE_CPAGE);
	CASE_DATA(PUMA_Word32_Format,Bool32,gnFormat);
	CASE_DATA(PUMA_Word8_Format,uchar,gnUnrecogChar);
	CASE_PDATA(PUMA_FNPUMA_ProgressStart, FNPUMA_ProgressStart ,fnProgressStart);
	CASE_PDATA(PUMA_FNPUMA_ProgressFinish,FNPUMA_ProgressFinish,fnProgressFinish);
	CASE_PDATA(PUMA_FNPUMA_ProgressStep,  FNPUMA_ProgressStep  ,fnProgressStep);
	CASE_DATAUP(PUMA_Bool32_AutoRotate,Bool32,gbAutoRotate,FLG_UPDATE);
	CASE_DATA(PUMA_Handle_CurrentEdPage,Handle,ghEdPage);
	 default:
		SetReturnCode_puma(IDS_ERR_NOTIMPLEMENT);
		rc = FALSE;
	}
	// Связь с предыдущими версиями
	switch(dwType)
	{
	case PUMA_Bool32_Format:
		gnFormat = gbFormat    ? gnFormat : 64;
		break;
	case PUMA_Word32_Format:
		gbFormat = gnFormat==64 ? 0 : 1;
		break;
	}

#undef CASE_DATA
#undef CASE_PDATA

return rc;
}