Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxfa / src / app / xfa_ffwidgetacc.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _FXFA_FORMFILLER_WIDGETACC_IMP_H\r
8 #define _FXFA_FORMFILLER_WIDGETACC_IMP_H\r
9 #include "xfa_textlayout.h"\r
10 enum XFA_TEXTPROVIDERTYPE {\r
11     XFA_TEXTPROVIDERTYPE_Text,\r
12     XFA_TEXTPROVIDERTYPE_Datasets,\r
13     XFA_TEXTPROVIDERTYPE_Caption,\r
14     XFA_TEXTPROVIDERTYPE_Rollover,\r
15     XFA_TEXTPROVIDERTYPE_Down,\r
16 };\r
17 class CXFA_TextProvider : public IXFA_TextProvider, public CFX_Object\r
18 {\r
19 public:\r
20     CXFA_TextProvider(CXFA_WidgetAcc *pWidgetAcc, XFA_TEXTPROVIDERTYPE eType, CXFA_Node* pTextNode = NULL)\r
21         : m_pWidgetAcc(pWidgetAcc), m_eType(eType), m_pTextNode(pTextNode)\r
22     {\r
23         FXSYS_assert(m_pWidgetAcc != NULL);\r
24     }\r
25     virtual ~CXFA_TextProvider() {}\r
26     virtual CXFA_Node*          GetTextNode(FX_BOOL &bRichText);\r
27     virtual CXFA_Para           GetParaNode();\r
28     virtual CXFA_Font           GetFontNode();\r
29     virtual FX_BOOL                     IsCheckButtonAndAutoWidth();\r
30     virtual CXFA_FFDoc*         GetDocNode()\r
31     {\r
32         return m_pWidgetAcc->GetDoc();\r
33     }\r
34     virtual FX_BOOL                     GetEmbbedObj(FX_BOOL bURI, FX_BOOL bRaw, const CFX_WideString &wsAttr, CFX_WideString &wsValue);\r
35 protected:\r
36     CXFA_WidgetAcc                      *m_pWidgetAcc;\r
37     XFA_TEXTPROVIDERTYPE        m_eType;\r
38     CXFA_Node*                          m_pTextNode;\r
39 };\r
40 #endif\r