diff options
Diffstat (limited to 'xfa/fwl/README.md')
-rw-r--r-- | xfa/fwl/README.md | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/xfa/fwl/README.md b/xfa/fwl/README.md new file mode 100644 index 0000000000..9285e89345 --- /dev/null +++ b/xfa/fwl/README.md @@ -0,0 +1,58 @@ +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_FormProxy + * CFWL_ComboBoxProxy + * 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_EventTextChanged + * 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. + |