• Home
Name Date Size #Lines LOC

..--

theme/04-Jul-2025-2,0241,506

BUILD.gnD04-Jul-20253.4 KiB135130

DEPSD04-Jul-2025102 54

README.mdD04-Jul-20251.6 KiB5746

cfwl_app.cppD04-Jul-20251,023 3522

cfwl_app.hD04-Jul-20251.9 KiB6545

cfwl_barcode.cppD04-Jul-20255.2 KiB189146

cfwl_barcode.hD04-Jul-20252.2 KiB8558

cfwl_caret.cppD04-Jul-20252.3 KiB9263

cfwl_caret.hD04-Jul-20251.3 KiB5229

cfwl_checkbox.cppD04-Jul-20259.7 KiB326277

cfwl_checkbox.hD04-Jul-20252.5 KiB8360

cfwl_combobox.cppD04-Jul-202515.5 KiB534462

cfwl_combobox.hD04-Jul-20254.6 KiB133106

cfwl_comboedit.cppD04-Jul-20251.7 KiB6146

cfwl_comboedit.hD04-Jul-2025889 3820

cfwl_combolist.cppD04-Jul-20256.9 KiB234201

cfwl_combolist.hD04-Jul-20251.3 KiB4828

cfwl_datetimeedit.cppD04-Jul-20251.6 KiB4732

cfwl_datetimeedit.hD04-Jul-2025869 3518

cfwl_datetimepicker.cppD04-Jul-202513.3 KiB470393

cfwl_datetimepicker.hD04-Jul-20253.9 KiB12193

cfwl_edit.cppD04-Jul-202532.4 KiB1,115949

cfwl_edit.hD04-Jul-20255.6 KiB175142

cfwl_edit_embeddertest.cppD04-Jul-202511.1 KiB327228

cfwl_event.cppD04-Jul-2025716 2411

cfwl_event.hD04-Jul-20251.3 KiB5738

cfwl_eventmouse.cppD04-Jul-2025629 209

cfwl_eventmouse.hD04-Jul-2025888 3418

cfwl_eventscroll.cppD04-Jul-2025613 2110

cfwl_eventscroll.hD04-Jul-2025971 4629

cfwl_eventselectchanged.cppD04-Jul-20251.1 KiB3220

cfwl_eventselectchanged.hD04-Jul-20251.2 KiB4626

cfwl_eventtextwillchange.cppD04-Jul-2025802 2615

cfwl_eventtextwillchange.hD04-Jul-20251.8 KiB5639

cfwl_eventvalidate.cppD04-Jul-2025582 198

cfwl_eventvalidate.hD04-Jul-2025942 3519

cfwl_listbox.cppD04-Jul-202524.5 KiB869752

cfwl_listbox.hD04-Jul-20255 KiB152124

cfwl_message.cppD04-Jul-2025456 176

cfwl_message.hD04-Jul-20251.1 KiB4626

cfwl_messagekey.cppD04-Jul-2025728 2312

cfwl_messagekey.hD04-Jul-2025976 3721

cfwl_messagekillfocus.cppD04-Jul-2025508 176

cfwl_messagekillfocus.hD04-Jul-2025879 3418

cfwl_messagemouse.cppD04-Jul-2025720 2312

cfwl_messagemouse.hD04-Jul-20251.1 KiB4933

cfwl_messagemousewheel.cppD04-Jul-2025696 2110

cfwl_messagemousewheel.hD04-Jul-20251,023 3821

cfwl_messagesetfocus.cppD04-Jul-2025502 176

cfwl_messagesetfocus.hD04-Jul-2025665 2612

cfwl_monthcalendar.cppD04-Jul-202523.6 KiB741646

cfwl_monthcalendar.hD04-Jul-20255 KiB168138

cfwl_notedriver.cppD04-Jul-20258.1 KiB281233

cfwl_notedriver.hD04-Jul-20252.5 KiB8258

cfwl_picturebox.cppD04-Jul-20251 KiB4225

cfwl_picturebox.hD04-Jul-20251 KiB4123

cfwl_pushbutton.cppD04-Jul-20256.5 KiB222188

cfwl_pushbutton.hD04-Jul-20251.7 KiB6140

cfwl_scrollbar.cppD04-Jul-202515 KiB472400

cfwl_scrollbar.hD04-Jul-20254.7 KiB138112

cfwl_themebackground.cppD04-Jul-2025625 198

cfwl_themebackground.hD04-Jul-20251.1 KiB4325

cfwl_themepart.cppD04-Jul-2025797 2715

cfwl_themepart.hD04-Jul-20252.2 KiB11592

cfwl_themetext.cppD04-Jul-2025571 198

cfwl_themetext.hD04-Jul-20251.1 KiB4324

cfwl_widget.cppD04-Jul-202510.1 KiB358292

cfwl_widget.hD04-Jul-20256.6 KiB215171

cfwl_widgetmgr.cppD04-Jul-20257.3 KiB248197

cfwl_widgetmgr.hD04-Jul-20253.3 KiB11075

fwl_widgetdef.hD04-Jul-20255.8 KiB207188

fwl_widgethit.hD04-Jul-2025716 4330

ifwl_themeprovider.cppD04-Jul-20253.3 KiB9480

ifwl_themeprovider.hD04-Jul-20252.5 KiB7553

ifwl_widgetdelegate.hD04-Jul-2025949 3619

README.md

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