| 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. | |