UT_Error IE_Imp_WordPerfect::_appendSection(int numColumns, const float marginLeft, const float marginRight)
{
	UT_DEBUGMSG(("AbiWordPerfect: Appending section\n"));
	
	UT_String myProps("") ;
	UT_LocaleTransactor lt(LC_NUMERIC, "C");
	myProps += UT_String_sprintf("columns:%d; page-margin-left:%.4fin; page-margin-right:%.4fin", numColumns, marginLeft, marginRight);

	if(m_bInSection && m_bRequireBlock) // AbiWord will hang on an empty <section>
	{
		X_CheckDocumentError(appendStrux(PTX_Block,PP_NOPROPS));
	}

	const PP_PropertyVector propsArray = {
		"props", myProps.c_str()
	};
	X_CheckDocumentError(appendStrux(PTX_Section, propsArray));

	m_bInSection = true;
	m_bRequireBlock = true;

	m_bSectionChanged = false;

	return UT_OK;
}
Exemple #2
0
/*
 * Class:     sage_WMATagParser
 * Method:    extractProperties0
 * Signature: (Ljava/lang/String;)Ljava/util/Map;
 */
JNIEXPORT jobject JNICALL Java_sage_WMATagParser_extractProperties0
  (JNIEnv *env, jobject jo, jstring jfilename)
{
	if (failedLoadingWMLib)
		return NULL;
	HRESULT hr;
	CWMProp myProps(&hr);
	if (FAILED(hr))
	{
		slog((env, "Failure with creating CWMProp 0x%x\r\n", hr));
		return NULL;
	}

	if (!sageLoadedWMLib)
	{
		sageLoadedWMLib = LoadLibrary("WMVCORE.DLL");
		if (!sageLoadedWMLib)
		{
			failedLoadingWMLib = TRUE;
			slog((env, "Failed loading WMVCORE.DLL, cannot perform WMA tag parsing\r\n"));
			return NULL;
		}
	}

	// Dynamically resolve the WMCreateReader call so we don't require WMP10 to load this DLL
	typedef HRESULT (STDMETHODCALLTYPE *FUNC_PTRWMCreateReader)(IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader);
	
	FUNC_PTRWMCreateReader lpfnProc = (FUNC_PTRWMCreateReader)GetProcAddress(sageLoadedWMLib, "WMCreateReader");
	hr = lpfnProc(NULL, 0, &myProps.m_pReader);
	if (FAILED(hr))
	{
		slog((env, "Failure with WMCreateReader 0x%x\r\n", hr));
		return NULL;
	}

	const jchar* cFilename = env->GetStringChars(jfilename, NULL);
	hr = myProps.Open(reinterpret_cast<LPCWSTR>(cFilename));
	env->ReleaseStringChars(jfilename, cFilename);
	if (FAILED(hr))
	{
		slog((env, "Failure with WMA Open 0x%x\r\n", hr));
		return NULL;
	}

	return myProps.ExtractProperties(env);
}