| xfa/fwl is a Widget Library for XFA Forms. |
| |
| CFWL_Widget is the base class that widget classes extend. The derived widget |
| classes are both controllers and renderers for each widget. The hierarchy is: |
| |
| * CFWL_Widget |
| * CFWL_Form |
| * CFWL_Caret |
| * CFWL_CheckBox |
| * CFWL_ComboBox |
| * CFWL_DateTimePicker |
| * CFWL_Edit |
| * CFWL_Barcode |
| * CFWL_ComboEdit |
| * CFWL_DateTimeEdit |
| * CFWL_ListBox |
| * CFWL_ComboList |
| * CFWL_MonthCalendar |
| * CFWL_PictureBox |
| * CFWL_PushButton |
| * CFWL_ScrollBar |
| * CFWL_SpinButton |
| |
| These CFWL widgets are instantiated by and closely related to the CXFA classes |
| in the xfa/fxfa directory. See xfa/fxfa/README.md. |
| |
| CFWL_Widget implements IFWL_WidgetDelegate through which it receives messages, |
| events and draw calls. |
| |
| Messages consist of user input for a widget to handle. Each type of message is |
| identified by an enum value in Message::Type and has its own class derived from |
| the base CFWL_Message. |
| |
| * CFWL_Message |
| * CFWL_MessageKey |
| * CFWL_MessageKillFocus |
| * CFWL_MessageMouse |
| * CFWL_MessageMouseWheel |
| * CFWL_MessageSetFocus |
| |
| Events are originated in the widgets and are then handled by other CFWL_Widget |
| and CXFA classes. |
| |
| * CFWL_Event |
| * CFWL_EventCheckWord |
| * CFWL_EventMouse |
| * CFWL_EventScroll |
| * CFWL_EventSelectChanged |
| * CFWL_EventTextWillChange |
| * CFWL_EventValidate |
| |
| The widgets use IFWL_ThemeProvider for rendering everything, calling |
| DrawBackground() and DrawText() and passing many options in their parameters, |
| respectively of types CFWL_ThemeBackground and CFWL_ThemeText. See |
| xfa/fwl/theme/README.md. |
| |