1 // Copyright 2017 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FXJS_XFA_CJX_TREE_H_ 8 #define FXJS_XFA_CJX_TREE_H_ 9 10 #include "fxjs/CJX_Define.h" 11 #include "fxjs/xfa/cjx_object.h" 12 13 class CXFA_Object; 14 class CXFA_Node; 15 16 class CJX_Tree : public CJX_Object { 17 public: 18 explicit CJX_Tree(CXFA_Object* obj); 19 ~CJX_Tree() override; 20 21 JS_METHOD(resolveNode, CJX_Tree); 22 JS_METHOD(resolveNodes, CJX_Tree); 23 24 JS_PROP(all); 25 JS_PROP(classAll); 26 JS_PROP(classIndex); 27 JS_PROP(index); 28 JS_PROP(name); 29 JS_PROP(nodes); 30 JS_PROP(parent); 31 JS_PROP(somExpression); 32 33 private: 34 void ResolveNodeList(CFXJSE_Value* pValue, 35 WideString wsExpression, 36 uint32_t dwFlag, 37 CXFA_Node* refNode); 38 39 static const CJX_MethodSpec MethodSpecs[]; 40 }; 41 42 #endif // FXJS_XFA_CJX_TREE_H_ 43