本文整理汇总了C++中CPDF_Action::GetSubActionsCount方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDF_Action::GetSubActionsCount方法的具体用法?C++ CPDF_Action::GetSubActionsCount怎么用?C++ CPDF_Action::GetSubActionsCount使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDF_Action
的用法示例。
在下文中一共展示了CPDF_Action::GetSubActionsCount方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ExecuteDocumentOpenAction
FX_BOOL CPDFSDK_ActionHandler::ExecuteDocumentOpenAction(
const CPDF_Action& action,
CPDFSDK_Document* pDocument,
CFX_PtrList& list) {
CPDF_Dictionary* pDict = action.GetDict();
if (list.Find(pDict))
return FALSE;
list.AddTail(pDict);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
RunDocumentOpenJavaScript(pDocument, L"", swJS);
}
}
} else {
DoAction_NoJs(action, pDocument);
}
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteDocumentOpenAction(subaction, pDocument, list))
return FALSE;
}
return TRUE;
}
示例2: ExecuteDocumentPageAction
bool CPDFSDK_ActionHandler::ExecuteDocumentPageAction(
const CPDF_Action& action,
CPDF_AAction::AActionType type,
CPDFSDK_FormFillEnvironment* pFormFillEnv,
std::set<CPDF_Dictionary*>* visited) {
CPDF_Dictionary* pDict = action.GetDict();
if (pdfium::ContainsKey(*visited, pDict))
return false;
visited->insert(pDict);
ASSERT(pFormFillEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pFormFillEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
RunDocumentPageJavaScript(pFormFillEnv, type, swJS);
}
}
} else {
DoAction_NoJs(action, pFormFillEnv);
}
if (!IsValidDocView(pFormFillEnv))
return false;
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteDocumentPageAction(subaction, type, pFormFillEnv, visited))
return false;
}
return true;
}
示例3: ExecuteDocumentOpenAction
FX_BOOL CPDFSDK_ActionHandler::ExecuteDocumentOpenAction(
const CPDF_Action& action,
CPDFSDK_Document* pDocument,
std::set<CPDF_Dictionary*>* visited) {
CPDF_Dictionary* pDict = action.GetDict();
if (pdfium::ContainsKey(*visited, pDict))
return FALSE;
visited->insert(pDict);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
RunDocumentOpenJavaScript(pDocument, L"", swJS);
}
}
} else {
DoAction_NoJs(action, pDocument);
}
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteDocumentOpenAction(subaction, pDocument, visited))
return FALSE;
}
return TRUE;
}
示例4:
FX_BOOL CPDFSDK_ActionHandler::ExecuteBookMark(const CPDF_Action& action, CPDFSDK_Document* pDocument,
/*CReader_DocView* pDocView,*/ CPDF_Bookmark* pBookmark, CFX_PtrList& list)
{
ASSERT(pDocument != NULL);
if (list.Find((CPDF_Dictionary*)action))
return FALSE;
list.AddTail((CPDF_Dictionary*)action);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript)
{
if(pEnv->IsJSInitiated())
{
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty())
{
IFXJS_Runtime* pRuntime = pDocument->GetJsRuntime();
ASSERT(pRuntime != NULL);
pRuntime->SetReaderDocument(pDocument);
IFXJS_Context* pContext = pRuntime->NewContext();
ASSERT(pContext != NULL);
pContext->OnBookmark_MouseUp(pBookmark);
CFX_WideString csInfo;
FX_BOOL bRet = pContext->RunScript(swJS, csInfo);
if (!bRet)
{
//CBCL_FormNotify::MsgBoxJSError(pPageView->GetPageViewWnd(), csInfo);
}
pRuntime->ReleaseContext(pContext);
}
}
}
else
{
DoAction_NoJs(action, pDocument/*, pDocView*/);
}
// if (!IsValidDocView(pDocument, pDocView))
// return FALSE;
for (FX_INT32 i=0,sz=action.GetSubActionsCount(); i<sz; i++)
{
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteBookMark(subaction, pDocument,/* pDocView,*/ pBookmark, list)) return FALSE;
}
return TRUE;
}
示例5:
FX_BOOL CFFL_Notify::ExecuteActionTree(CPDF_AAction::AActionType eAAT,CPDF_Action & action, FX_BOOL& bExit)
{
if (!ExecuteAction(eAAT,action,bExit)) return FALSE;
if (bExit) return TRUE;
for (int32_t i=0,sz=action.GetSubActionsCount(); i<sz; i++)
{
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteActionTree(eAAT,subaction,bExit)) return FALSE;
if (bExit) break;
}
return TRUE;
}
示例6: ExecuteBookMark
FX_BOOL CPDFSDK_ActionHandler::ExecuteBookMark(const CPDF_Action& action,
CPDFSDK_Document* pDocument,
CPDF_Bookmark* pBookmark,
CFX_PtrList& list) {
ASSERT(pDocument != NULL);
CPDF_Dictionary* pDict = action.GetDict();
if (list.Find(pDict))
return FALSE;
list.AddTail(pDict);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pDocument->GetJsRuntime();
pRuntime->SetReaderDocument(pDocument);
IJS_Context* pContext = pRuntime->NewContext();
pContext->OnBookmark_MouseUp(pBookmark);
CFX_WideString csInfo;
FX_BOOL bRet = pContext->RunScript(swJS, &csInfo);
if (!bRet) {
// FIXME: return error.
}
pRuntime->ReleaseContext(pContext);
}
}
} else {
DoAction_NoJs(action, pDocument);
}
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteBookMark(subaction, pDocument, pBookmark, list))
return FALSE;
}
return TRUE;
}
示例7: ExecuteScreenAction
FX_BOOL CPDFSDK_ActionHandler::ExecuteScreenAction(
const CPDF_Action& action,
CPDF_AAction::AActionType type,
CPDFSDK_Document* pDocument,
CPDFSDK_Annot* pScreen,
std::set<CPDF_Dictionary*>* visited) {
CPDF_Dictionary* pDict = action.GetDict();
if (pdfium::ContainsKey(*visited, pDict))
return FALSE;
visited->insert(pDict);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pDocument->GetJsRuntime();
pRuntime->SetReaderDocument(pDocument);
IJS_Context* pContext = pRuntime->NewContext();
CFX_WideString csInfo;
FX_BOOL bRet = pContext->RunScript(swJS, &csInfo);
if (!bRet) {
// FIXME: return error.
}
pRuntime->ReleaseContext(pContext);
}
}
} else {
DoAction_NoJs(action, pDocument);
}
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteScreenAction(subaction, type, pDocument, pScreen, visited))
return FALSE;
}
return TRUE;
}
示例8: ExecuteBookMark
bool CPDFSDK_ActionHandler::ExecuteBookMark(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv,
CPDF_Bookmark* pBookmark,
std::set<CPDF_Dictionary*>* visited) {
CPDF_Dictionary* pDict = action.GetDict();
if (pdfium::ContainsKey(*visited, pDict))
return false;
visited->insert(pDict);
ASSERT(pFormFillEnv);
if (action.GetType() == CPDF_Action::JavaScript) {
if (pFormFillEnv->IsJSInitiated()) {
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
IJS_Context* pContext = pRuntime->NewContext();
pContext->OnBookmark_MouseUp(pBookmark);
CFX_WideString csInfo;
bool bRet = pContext->RunScript(swJS, &csInfo);
if (!bRet) {
// FIXME: return error.
}
pRuntime->ReleaseContext(pContext);
}
}
} else {
DoAction_NoJs(action, pFormFillEnv);
}
for (int32_t i = 0, sz = action.GetSubActionsCount(); i < sz; i++) {
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteBookMark(subaction, pFormFillEnv, pBookmark, visited))
return false;
}
return true;
}
示例9: ExecuteScreenAction
FX_BOOL CPDFSDK_ActionHandler::ExecuteScreenAction(const CPDF_Action& action, CPDF_AAction::AActionType type,
CPDFSDK_Document* pDocument,/* CReader_DocView* pDocView,*/ CPDFSDK_Annot* pScreen, CFX_PtrList& list)
{
ASSERT(pDocument != NULL);
if (list.Find((CPDF_Dictionary*)action))
return FALSE;
list.AddTail((CPDF_Dictionary*)action);
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (action.GetType() == CPDF_Action::JavaScript)
{
if(pEnv->IsJSInitiated())
{
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty())
{
IFXJS_Runtime* pRuntime = pDocument->GetJsRuntime();
ASSERT(pRuntime != NULL);
pRuntime->SetReaderDocument(pDocument);
IFXJS_Context* pContext = pRuntime->NewContext();
ASSERT(pContext != NULL);
// switch (type)
// {
// case CPDF_AAction::CursorEnter:
// pContext->OnScreen_MouseEnter(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::CursorExit:
// pContext->OnScreen_MouseExit(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::ButtonDown:
// pContext->OnScreen_MouseDown(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::ButtonUp:
// pContext->OnScreen_MouseUp(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::GetFocus:
// pContext->OnScreen_Focus(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::LoseFocus:
// pContext->OnScreen_Blur(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::PageOpen:
// pContext->OnScreen_Open(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::PageClose:
// pContext->OnScreen_Close(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::PageVisible:
// pContext->OnScreen_InView(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// case CPDF_AAction::PageInvisible:
// pContext->OnScreen_OutView(IsCTRLpressed(), IsSHIFTpressed(), pScreen);
// break;
// default:
// ASSERT(FALSE);
// break;
// }
CFX_WideString csInfo;
FX_BOOL bRet = pContext->RunScript(swJS, csInfo);
if (!bRet)
{
//CBCL_FormNotify::MsgBoxJSError(pPageView->GetPageViewWnd(), csInfo);
}
pRuntime->ReleaseContext(pContext);
}
}
}
else
{
DoAction_NoJs(action, pDocument/*, pDocView*/);
}
// if (!IsValidDocView(pDocument, pDocView))
// return FALSE;
for (FX_INT32 i=0,sz=action.GetSubActionsCount(); i<sz; i++)
{
CPDF_Action subaction = action.GetSubAction(i);
if (!ExecuteScreenAction(subaction, type, pDocument,/* pDocView,*/ pScreen, list)) return FALSE;
}
return TRUE;
}