本文整理汇总了C++中CPDF_Action::GetType方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDF_Action::GetType方法的具体用法?C++ CPDF_Action::GetType怎么用?C++ CPDF_Action::GetType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDF_Action
的用法示例。
在下文中一共展示了CPDF_Action::GetType方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: DoAction_NoJs
void CPDFSDK_ActionHandler::DoAction_NoJs(
const CPDF_Action& action,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
ASSERT(pFormFillEnv);
switch (action.GetType()) {
case CPDF_Action::GoTo:
DoAction_GoTo(pFormFillEnv, action);
break;
case CPDF_Action::GoToR:
DoAction_GoToR(pFormFillEnv, action);
break;
case CPDF_Action::GoToE:
break;
case CPDF_Action::Launch:
DoAction_Launch(pFormFillEnv, action);
break;
case CPDF_Action::Thread:
break;
case CPDF_Action::URI:
DoAction_URI(pFormFillEnv, action);
break;
case CPDF_Action::Sound:
break;
case CPDF_Action::Movie:
break;
case CPDF_Action::Hide:
DoAction_Hide(action, pFormFillEnv);
break;
case CPDF_Action::Named:
DoAction_Named(pFormFillEnv, action);
break;
case CPDF_Action::SubmitForm:
DoAction_SubmitForm(action, pFormFillEnv);
break;
case CPDF_Action::ResetForm:
DoAction_ResetForm(action, pFormFillEnv);
break;
case CPDF_Action::ImportData:
DoAction_ImportData(action, pFormFillEnv);
break;
case CPDF_Action::JavaScript:
ASSERT(false);
break;
case CPDF_Action::SetOCGState:
DoAction_SetOCGState(pFormFillEnv, action);
break;
case CPDF_Action::Rendition:
break;
case CPDF_Action::Trans:
break;
case CPDF_Action::GoTo3DView:
break;
default:
break;
}
}
示例5:
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;
}
示例6: DoAction_JavaScript
bool CPDFSDK_ActionHandler::DoAction_JavaScript(
const CPDF_Action& JsAction,
CFX_WideString csJSName,
CPDFSDK_FormFillEnvironment* pFormFillEnv) {
if (JsAction.GetType() == CPDF_Action::JavaScript) {
CFX_WideString swJS = JsAction.GetJavaScript();
if (!swJS.IsEmpty()) {
RunDocumentOpenJavaScript(pFormFillEnv, csJSName, swJS);
return true;
}
}
return false;
}
示例7: DoAction_JavaScript
FX_BOOL CPDFSDK_ActionHandler::DoAction_JavaScript(
const CPDF_Action& JsAction,
CFX_WideString csJSName,
CPDFSDK_Document* pDocument) {
if (JsAction.GetType() == CPDF_Action::JavaScript) {
CFX_WideString swJS = JsAction.GetJavaScript();
if (!swJS.IsEmpty()) {
RunDocumentOpenJavaScript(pDocument, csJSName, swJS);
return TRUE;
}
}
return FALSE;
}
示例8: DoAction_FieldJavaScript
bool CPDFSDK_ActionHandler::DoAction_FieldJavaScript(
const CPDF_Action& JsAction,
CPDF_AAction::AActionType type,
CPDFSDK_FormFillEnvironment* pFormFillEnv,
CPDF_FormField* pFormField,
PDFSDK_FieldAction& data) {
ASSERT(pFormFillEnv);
if (pFormFillEnv->IsJSInitiated() &&
JsAction.GetType() == CPDF_Action::JavaScript) {
CFX_WideString swJS = JsAction.GetJavaScript();
if (!swJS.IsEmpty()) {
RunFieldJavaScript(pFormFillEnv, pFormField, type, data, swJS);
return true;
}
}
return false;
}
示例9: DoAction_FieldJavaScript
FX_BOOL CPDFSDK_ActionHandler::DoAction_FieldJavaScript(
const CPDF_Action& JsAction,
CPDF_AAction::AActionType type,
CPDFSDK_Document* pDocument,
CPDF_FormField* pFormField,
PDFSDK_FieldAction& data) {
CPDFDoc_Environment* pEnv = pDocument->GetEnv();
ASSERT(pEnv);
if (pEnv->IsJSInitiated() && JsAction.GetType() == CPDF_Action::JavaScript) {
CFX_WideString swJS = JsAction.GetJavaScript();
if (!swJS.IsEmpty()) {
RunFieldJavaScript(pDocument, pFormField, type, data, swJS);
return TRUE;
}
}
return FALSE;
}
示例10: 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;
}
示例11: 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;
}
示例12: FindAAction
FX_BOOL CFFL_Notify::FindAAction(CPDF_AAction aaction,CPDF_AAction::AActionType eAAT,CPDF_Action & action)
{
CPDF_Action MyAction;
if (aaction.ActionExist(eAAT))
{
MyAction = aaction.GetAction(eAAT);
}
else
return FALSE;
if (MyAction.GetType() == CPDF_Action::Unknown)
return FALSE;
action = MyAction;
return TRUE;
}
示例13:
DLLEXPORT unsigned long STDCALL FPDFAction_GetType(FPDF_ACTION action)
{
if (action == NULL) return 0;
CPDF_Action Action = (CPDF_Dictionary*)action;
CPDF_Action::ActionType type = Action.GetType();
switch (type) {
case CPDF_Action::GoTo:
return PDFACTION_GOTO;
case CPDF_Action::GoToR:
return PDFACTION_REMOTEGOTO;
case CPDF_Action::URI:
return PDFACTION_URI;
case CPDF_Action::Launch:
return PDFACTION_LAUNCH;
default:
return PDFACTION_UNSUPPORTED;
}
return PDFACTION_UNSUPPORTED;
}
示例14: 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;
}
示例15: DoAction_NoJs
void CPDFSDK_ActionHandler::DoAction_NoJs(const CPDF_Action& action,
CPDFSDK_Document* pDocument) {
ASSERT(pDocument != NULL);
switch (action.GetType()) {
case CPDF_Action::GoTo:
DoAction_GoTo(pDocument, action);
break;
case CPDF_Action::GoToR:
DoAction_GoToR(pDocument, action);
break;
case CPDF_Action::GoToE:
break;
case CPDF_Action::Launch:
DoAction_Launch(pDocument, action);
break;
case CPDF_Action::Thread:
break;
case CPDF_Action::URI:
DoAction_URI(pDocument, action);
break;
case CPDF_Action::Sound:
break;
case CPDF_Action::Movie:
break;
case CPDF_Action::Hide:
if (m_pFormActionHandler) {
m_pFormActionHandler->DoAction_Hide(action, pDocument);
}
break;
case CPDF_Action::Named:
DoAction_Named(pDocument, action);
break;
case CPDF_Action::SubmitForm:
if (m_pFormActionHandler) {
m_pFormActionHandler->DoAction_SubmitForm(action, pDocument);
}
break;
case CPDF_Action::ResetForm:
if (m_pFormActionHandler) {
m_pFormActionHandler->DoAction_ResetForm(action, pDocument);
}
break;
case CPDF_Action::ImportData:
if (m_pFormActionHandler) {
m_pFormActionHandler->DoAction_ImportData(action, pDocument);
}
break;
case CPDF_Action::JavaScript:
ASSERT(FALSE);
break;
case CPDF_Action::SetOCGState:
DoAction_SetOCGState(pDocument, action);
break;
case CPDF_Action::Rendition:
break;
case CPDF_Action::Trans:
break;
case CPDF_Action::GoTo3DView:
break;
default:
break;
}
}