liiir1985 7f62dcda9f | ||
---|---|---|
.. | ||
theme | ||
BUILD.gn | ||
README.md | ||
cfwl_app.cpp | ||
cfwl_app.h | ||
cfwl_barcode.cpp | ||
cfwl_barcode.h | ||
cfwl_caret.cpp | ||
cfwl_caret.h | ||
cfwl_checkbox.cpp | ||
cfwl_checkbox.h | ||
cfwl_combobox.cpp | ||
cfwl_combobox.h | ||
cfwl_comboedit.cpp | ||
cfwl_comboedit.h | ||
cfwl_combolist.cpp | ||
cfwl_combolist.h | ||
cfwl_datetimeedit.cpp | ||
cfwl_datetimeedit.h | ||
cfwl_datetimepicker.cpp | ||
cfwl_datetimepicker.h | ||
cfwl_edit.cpp | ||
cfwl_edit.h | ||
cfwl_edit_embeddertest.cpp | ||
cfwl_event.cpp | ||
cfwl_event.h | ||
cfwl_eventmouse.cpp | ||
cfwl_eventmouse.h | ||
cfwl_eventscroll.cpp | ||
cfwl_eventscroll.h | ||
cfwl_eventselectchanged.cpp | ||
cfwl_eventselectchanged.h | ||
cfwl_eventtarget.cpp | ||
cfwl_eventtarget.h | ||
cfwl_eventtextwillchange.cpp | ||
cfwl_eventtextwillchange.h | ||
cfwl_eventvalidate.cpp | ||
cfwl_eventvalidate.h | ||
cfwl_listbox.cpp | ||
cfwl_listbox.h | ||
cfwl_listitem.cpp | ||
cfwl_listitem.h | ||
cfwl_message.cpp | ||
cfwl_message.h | ||
cfwl_messagekey.cpp | ||
cfwl_messagekey.h | ||
cfwl_messagekillfocus.cpp | ||
cfwl_messagekillfocus.h | ||
cfwl_messagemouse.cpp | ||
cfwl_messagemouse.h | ||
cfwl_messagemousewheel.cpp | ||
cfwl_messagemousewheel.h | ||
cfwl_messagesetfocus.cpp | ||
cfwl_messagesetfocus.h | ||
cfwl_monthcalendar.cpp | ||
cfwl_monthcalendar.h | ||
cfwl_notedriver.cpp | ||
cfwl_notedriver.h | ||
cfwl_picturebox.cpp | ||
cfwl_picturebox.h | ||
cfwl_pushbutton.cpp | ||
cfwl_pushbutton.h | ||
cfwl_scrollbar.cpp | ||
cfwl_scrollbar.h | ||
cfwl_themebackground.h | ||
cfwl_themepart.cpp | ||
cfwl_themepart.h | ||
cfwl_themetext.h | ||
cfwl_widget.cpp | ||
cfwl_widget.h | ||
cfwl_widgetmgr.cpp | ||
cfwl_widgetmgr.h | ||
cfwl_widgetproperties.cpp | ||
cfwl_widgetproperties.h | ||
fwl_widgetdef.h | ||
fwl_widgethit.h | ||
ifwl_themeprovider.h | ||
ifwl_widgetdelegate.h |
README.md
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.