Home | History | Annotate | Download | only in fwl
      1 xfa/fwl is a Widget Library for XFA Forms.
      2 
      3 CFWL_Widget is the base class that widget classes extend. The derived widget
      4 classes are both controllers and renderers for each widget. The hierarchy is:
      5 
      6 * CFWL_Widget
      7     * CFWL_Form
      8         * CFWL_FormProxy
      9             * CFWL_ComboBoxProxy
     10     * CFWL_Caret
     11     * CFWL_CheckBox
     12     * CFWL_ComboBox
     13     * CFWL_DateTimePicker
     14     * CFWL_Edit
     15         * CFWL_Barcode
     16         * CFWL_ComboEdit
     17         * CFWL_DateTimeEdit
     18     * CFWL_ListBox
     19         * CFWL_ComboList
     20     * CFWL_MonthCalendar
     21     * CFWL_PictureBox
     22     * CFWL_PushButton
     23     * CFWL_ScrollBar
     24     * CFWL_SpinButton
     25 
     26 These CFWL widgets are instantiated by and closely related to the CXFA classes
     27 in the xfa/fxfa directory. See xfa/fxfa/README.md.
     28 
     29 CFWL_Widget implements IFWL_WidgetDelegate through which it receives messages,
     30 events and draw calls.
     31 
     32 Messages consist of user input for a widget to handle. Each type of message is
     33 identified by an enum value in Message::Type and has its own class derived from
     34 the base CFWL_Message.
     35 
     36 * CFWL_Message
     37     * CFWL_MessageKey
     38     * CFWL_MessageKillFocus
     39     * CFWL_MessageMouse
     40     * CFWL_MessageMouseWheel
     41     * CFWL_MessageSetFocus
     42 
     43 Events are originated in the widgets and are then handled by other CFWL_Widget
     44 and CXFA classes.
     45 
     46 * CFWL_Event
     47     * CFWL_EventCheckWord
     48     * CFWL_EventMouse
     49     * CFWL_EventScroll
     50     * CFWL_EventSelectChanged
     51     * CFWL_EventTextChanged
     52     * CFWL_EventValidate
     53 
     54 The widgets use IFWL_ThemeProvider for rendering everything, calling
     55 DrawBackground() and DrawText() and passing many options in their parameters,
     56 respectively of types CFWL_ThemeBackground and CFWL_ThemeText. See
     57 xfa/fwl/theme/README.md.
     58 
     59