本文整理汇总了C++中PD_Document::getDocumentRDF方法的典型用法代码示例。如果您正苦于以下问题:C++ PD_Document::getDocumentRDF方法的具体用法?C++ PD_Document::getDocumentRDF怎么用?C++ PD_Document::getDocumentRDF使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PD_Document
的用法示例。
在下文中一共展示了PD_Document::getDocumentRDF方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getView
PD_DocumentRDFHandle
AP_Dialog_RDFEditor::getRDF()
{
FV_View* view = getView();
PD_Document* doc = view->getDocument();
PD_DocumentRDFHandle rdf = doc->getDocumentRDF();
return rdf;
}
示例2: pasteFromBuffer
bool IE_Imp_OpenDocument::pasteFromBuffer(PD_DocumentRange * pDocRange,
const unsigned char * pData,
UT_uint32 lenData,
const char * /*szEncoding*/)
{
UT_return_val_if_fail(getDoc() == pDocRange->m_pDoc,false);
UT_return_val_if_fail(pDocRange->m_pos1 == pDocRange->m_pos2,false);
PD_Document * newDoc = new PD_Document();
newDoc->createRawDocument();
IE_Imp_OpenDocument * pODImp = new IE_Imp_OpenDocument(newDoc);
//
// Turn pData into something that can be imported by the open documenb
// importer.
//
GsfInput * pInStream = gsf_input_memory_new((const guint8 *) pData,
(gsf_off_t) lenData,
FALSE);
pODImp->loadFile(newDoc, pInStream);
// pInStream deleted after load.
newDoc->finishRawCreation();
// Handle RDF for the newdoc
{
PD_DocumentRDFHandle rdf = newDoc->getDocumentRDF();
rdf->dumpModel("about to broadcast...");
PD_DocumentRDFMutationHandle m = getDoc()->getDocumentRDF()->createMutation();
m->add( rdf );
m->commit();
}
//
// OK Broadcast from the just filled source document into our current
// doc via the paste listener
//
IE_Imp_PasteListener * pPasteListen = new IE_Imp_PasteListener(getDoc(),pDocRange->m_pos1,newDoc);
newDoc->tellListener(static_cast<PL_Listener *>(pPasteListen));
delete pPasteListen;
delete pODImp;
UNREFP( newDoc);
return true;
}
示例3: copyToBuffer
/*!
* This method copies the selection defined by pDocRange to ODT format
* placed in the ByteBuf bufODT
*/
UT_Error IE_Exp_OpenDocument::copyToBuffer(PD_DocumentRange * pDocRange,UT_ByteBuf * bufODT)
{
//
// First export selected range to a tempory document
//
PD_Document * outDoc = new PD_Document();
outDoc->createRawDocument();
IE_Exp_DocRangeListener * pRangeListener = new IE_Exp_DocRangeListener(pDocRange,outDoc);
UT_DEBUGMSG(("DocumentRange low %d High %d \n",pDocRange->m_pos1,pDocRange->m_pos2));
PL_ListenerCoupleCloser* pCloser = new PL_ListenerCoupleCloser();
pDocRange->m_pDoc->tellListenerSubset(pRangeListener,pDocRange,pCloser);
if( pCloser)
delete pCloser;
//
// Grab the RDF triples while we are copying...
//
if( PD_DocumentRDFHandle outrdf = outDoc->getDocumentRDF() )
{
std::set< std::string > xmlids;
PD_DocumentRDFHandle inrdf = pDocRange->m_pDoc->getDocumentRDF();
inrdf->addRelevantIDsForRange( xmlids, pDocRange );
if( !xmlids.empty() )
{
UT_DEBUGMSG(("MIQ: ODF export creating restricted RDF model xmlids.sz:%ld \n",(long)xmlids.size()));
PD_RDFModelHandle subm = inrdf->createRestrictedModelForXMLIDs( xmlids );
PD_DocumentRDFMutationHandle m = outrdf->createMutation();
m->add( subm );
m->commit();
subm->dumpModel("copied rdf triples subm");
outrdf->dumpModel("copied rdf triples result");
}
// PD_DocumentRDFMutationHandle m = outrdf->createMutation();
// m->add( PD_URI("http://www.example.com/foo"),
// PD_URI("http://www.example.com/bar"),
// PD_Literal("copyToBuffer path") );
// m->commit();
}
outDoc->finishRawCreation();
//
// OK now we have a complete and valid document containing our selected
// content. We export this to an in memory GSF buffer
//
IE_Exp * pNewExp = NULL;
char *szTempFileName = NULL;
GError *err = NULL;
g_file_open_tmp ("XXXXXX", &szTempFileName, &err);
GsfOutput * outBuf = gsf_output_stdio_new (szTempFileName,&err);
IEFileType ftODT = IE_Exp::fileTypeForMimetype("application/vnd.oasis.opendocument.text");
UT_Error aerr = IE_Exp::constructExporter(outDoc,outBuf,
ftODT,&pNewExp);
if(pNewExp == NULL)
{
return aerr;
}
aerr = pNewExp->writeFile(szTempFileName);
if(aerr != UT_OK)
{
delete pNewExp;
delete pRangeListener;
UNREFP( outDoc);
g_remove(szTempFileName);
g_free (szTempFileName);
return aerr;
}
//
// File is closed at the end of the export. Open it again.
//
GsfInput * fData = gsf_input_stdio_new(szTempFileName,&err);
UT_DebugOnly<UT_sint32> siz = gsf_input_size(fData);
const UT_Byte * pData = gsf_input_read(fData,gsf_input_size(fData),NULL);
UT_DEBUGMSG(("Writing %d bytes to clipboard \n", (UT_sint32)siz));
bufODT->append( pData, gsf_input_size(fData));
delete pNewExp;
delete pRangeListener;
UNREFP( outDoc);
g_remove(szTempFileName);
g_free (szTempFileName);
return aerr;
}